1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-05 11:45:45 +00:00
Commit Graph

106 Commits

Author SHA1 Message Date
David Engster
09eaf661eb xml: Properly handle symbol-qnames for attribute parsing
* lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
  xml-ns argument (reverts aea67018) (Bug#26533).
  (xml-maybe-do-ns): Properly handle default namespace by not
  interning new symbol when 'special' flag is set.

* tests/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
  (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
2017-04-17 17:17:00 +02:00
David Engster
aea6701839 xml: Fix parsing of default namespace with quoted names
* lisp/xml.el (xml-parse-attlist): Properly extract namespace when
  parsing is done with quoted symbol names (bug#23440).
* test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
  (xml-parse-test-default-namespace-qnames): Test for the above.
2017-01-24 22:56:05 +01:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Mark Oteiza
cbb2e84518 Turn on more lexical-binding
* lisp/dom.el:
* lisp/faces.el:
* lisp/htmlfontify.el: Turn on lexical-binding.
(htmlfontify-string): Use pushnew instead of add-to-list.
* lisp/info-xref.el:
* lisp/isearch.el:
* lisp/man.el:
* lisp/ps-def.el:
* lisp/ps-print.el:
* lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
time.
(multi-occur): Use cl-pushnew instead of add-to-list.
(replace-match-string-symbols): Remove unused lexical variable.
(replace-search, replace-highlight): Fix argument shadowing.
* lisp/sort.el:
* lisp/xml.el: Turn on lexical-binding.
(xml--parse-buffer): Use push instead of add-to-list.
* lisp/xt-mouse.el: Turn on lexical-binding.
2016-09-28 13:08:12 -04:00
Glenn Morris
ce533897e0 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
; string-empty-p is defined in subr-x, but this file does not load it.
2016-03-16 17:24:36 -04:00
Ulf Jasper
8b01e6969f Prevent infinite loop on not-well-formed xml. (Bug#16344)
* lisp/xml.el (xml-parse-tag-1): Prevent inifinite loop. (Bug#16344)
* test/automated/xml-parse-tests.el (xml-parse-tests--bad-data): Add
  test cases for Bug#16344.
2016-03-02 19:03:27 +01:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Paul Eggert
ac16149ba4 Fix docstring quoting problems with ‘ '’
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
Most of these fixes are to documentation; many involve fixing
longstanding quoting glitches that are independent of the
recent substitute-command-keys changes.  The changes to code are:
* lisp/cedet/mode-local.el (mode-local-augment-function-help)
(describe-mode-local-overload):
Substitute docstrings before displaying them.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Quote the generated docstring for later substitution.
2015-11-17 15:29:35 -08:00
Paul Eggert
760701ebe1 Don't quote symbols 'like-this' in docstrings etc.
* admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
* lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
* lisp/allout.el (allout-add-resumptions, allout-mode):
* lisp/calculator.el (calculator-operators):
* lisp/cedet/data-debug.el (dd-propertize):
* lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
* lisp/cedet/semantic/analyze/debug.el:
(semantic-analyzer-debug-global-miss-text):
* lisp/cedet/semantic/lex-spp.el:
(semantic-lex-spp-replace-or-symbol-or-keyword):
* lisp/cedet/semantic/symref.el:
(semantic-symref-cleanup-recent-buffers-fcn):
* lisp/cedet/semantic/tag.el (semantic-tag-class):
* lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
* lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
* lisp/gnus/pop3.el (pop3-authentication-scheme):
* lisp/help-fns.el (describe-function-orig-buffer):
* lisp/imenu.el (imenu--history-list):
* lisp/mail/feedmail.el (feedmail-confirm-outgoing)
(feedmail-display-full-frame, feedmail-deduce-bcc-where)
(feedmail-queue-default-file-slug)
(feedmail-queue-buffer-file-name):
* lisp/net/mairix.el (mairix-searches-mode-map):
* lisp/net/newst-backend.el (newsticker-retrieval-method)
(newsticker-auto-mark-filter-list):
* lisp/obsolete/vi.el (vi-mode):
* lisp/progmodes/cc-engine.el (c-literal-type):
* lisp/progmodes/cpp.el (cpp-face):
* lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
* lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
* lisp/progmodes/pascal.el (pascal-auto-lineup):
* lisp/progmodes/prog-mode.el (prog-widen):
* lisp/progmodes/verilog-mode.el (verilog-regexp-words)
(verilog-auto-lineup, verilog-auto-reset-widths)
(verilog-auto-arg-format, verilog-auto-inst-template-numbers):
* lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
(flyspell-maybe-correct-doubling):
* lisp/textmodes/table.el (table-justify, table-justify-cell)
(table-justify-row, table-justify-column, table-insert-sequence)
(table--justify-cell-contents):
* lisp/url/url-auth.el (url-get-authentication):
* lisp/window.el (display-buffer-record-window):
* lisp/xml.el (xml-parse-file, xml-parse-region):
* src/gfilenotify.c (Fgfile_add_watch):
Don't quote symbols with apostrophes in doc strings.
Use asymmetric quotes instead.
* lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
Likewise for symbol in diagnostic.
* lisp/image.el (image-extension-data):
* lisp/register.el (frame-configuration-to-register):
* src/buffer.c (syms_of_buffer):
Remove bogus apostrophes after symbols.
* lisp/thumbs.el (thumbs-conversion-program):
Quote Lisp string values using double-quotes, not apostrophes.
2015-08-20 17:34:57 -07:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Juanma Barranquero
01f1a9ab4f lisp/xml.el (xml-parse-tag-1): Use looking-at.
(This reverts change in 2013-08-11T00:07:48Z!lekktu@gmail.com, which breaks the test suite).
https://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00263.html
2013-08-12 17:11:35 +02:00
Juanma Barranquero
9a4ebc7487 lisp/*.el: More lexical-binding warnings' cleanups.
* tutorial.el (tutorial--describe-nonstandard-key): Use string-match-p.
  (tutorial--detailed-help): Remove unused local variables.
  (tutorial--save-tutorial-to): Use ignore-errors.
  (help-with-tutorial): Use looking-at-p.

* view.el (view-buffer-other-window, view-buffer-other-frame):
  Mark unused arguments.

* woman.el (woman-parse-colon-path, woman-parse-colon-path)
  (woman-select-symbol-fonts, woman, woman-find-file)
  (woman-insert-file-contents, woman-non-underline-faces):
  Use string-match-p.
  (woman1-unquote): Move declaration.

* xml.el (xml-parse-tag-1, xml-parse-string): Use looking-at-p.
  (xml-parse-dtd): Use looking-at-p, string-match-p.  Mark unused
  argument.  Remove unused local variable.
  (xml-parse-elem-type): Use string-match-p.
  (xml-substitute-numeric-entities): Use ignore-errors.
2013-08-11 02:07:48 +02:00
Chong Yidong
a1d23eb505 * xml.el (xml-parse-string): Fix typo in handling of bad character references. 2013-02-13 15:24:11 +08:00
Chong Yidong
4d4ddaa78c * xml.el (xml-entity-or-char-ref-re): Fix regexp.
This bug was reported by Jae-oh Kim; it was posted to bug-gnu-emacs
but didn't show up in the bug tracker for some reason.  It is a
regression against Emacs 24.2.
2013-01-23 14:25:50 +08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Chong Yidong
17975d7ff9 * xml.el (xml-escape-string): Don't refer to xml-entity-alist.
Fixes: debbugs:12228
2012-08-19 14:37:15 +08:00
David Engster
049a0936ca Maybe return expanded XML qnames as plain symbols (Bug#11916).
* xml.el (xml-node-name, xml-parse-file, xml-parse-region):
Explanation of new 'symbol-qnames feature in doc-strings.
(xml-maybe-do-ns): Return expanded names as plain symbols if
'symbol-qnames was provided in XML-NS argument (Bug#11916).
(xml-parse-tag-1): Deal with new definition of PARSE-NS argument.
2012-07-28 11:19:53 +02:00
Chong Yidong
566df3fcac Clean up syntax-table usage in xml.el
* xml.el (xml--parse-buffer): Use xml-syntax-table.
(xml-parse-tag): Likewise, and avoid changing entity tables.
(xml-syntax-table): Define from scratch, making sure not to give
x2000 and other Unicode spaces whitespace syntax, since those are
not spaces in XML.
(xml-parse-fragment): Delete unused function.
(xml-name-start-char-re, xml-name-char-re, xml-name-re)
(xml-names-re, xml-nmtoken-re, xml-nmtokens-re, xml-char-ref-re)
(xml-entity-ref, xml-pe-reference-re)
(xml-reference-re,xml-att-value-re, xml-tokenized-type-re)
(xml-notation-type-re, xml-enumeration-re, xml-enumerated-type-re)
(xml-att-type-re, xml-default-decl-re, xml-att-def-re)
(xml-entity-value-re): Use syntax references in regexps where
possible; no need to define inside a let-binding.
(xml-parse-dtd): Use xml-pe-reference-re.
(xml-entity-or-char-ref-re): New defconst.
(xml-parse-string, xml-substitute-special): Use it.
2012-07-05 00:14:05 +08:00
Stefan Monnier
30eabd7ad8 * lisp/xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re. 2012-07-03 23:31:34 -04:00
Chong Yidong
a76e6535dc * xml.el: Protect parser against XML bombs.
(xml-entity-expansion-limit): New variable.
(xml-parse-string, xml-substitute-special): Use it.
(xml-parse-dtd): Avoid infloop if the DTD is not terminated.

* test/automated/xml-parse-tests.el: Update testcases.
2012-07-03 13:28:42 +08:00
Chong Yidong
a7aef6f5c6 * lisp/xml.el: Handle entity and character reference expansion correctly.
(xml-default-ns): New variable.
(xml-entity-alist): Use XML spec definitions for lt and amp.
(xml-parse-region): Make first two arguments optional.  Discard
text properties.
(xml-parse-tag-1): New function, spun off from xml-parse-tag.  All
callers changed.
(xml-parse-tag): Call xml-parse-tag-1.  For backward
compatibility, this function should not modify buffer contents.
(xml-parse-tag-1): Fix opening-tag regexp.
(xml-parse-string): Rewrite, handling entity and character
references properly.
(xml--entity-replacement-text): Signal an error if a parameter
entity is undefined.

* test/automated/xml-parse-tests.el (xml-parse-tests--data): More
testcases.
2012-07-03 00:21:54 +08:00
Chong Yidong
6fe566a752 * xml.el (xml-parse-dtd): Use proper regexps for ELEMENT declarations.
* test/automated/xml-parse-tests.el: Update testcase.

Fixes: debbugs:7172
2012-07-01 19:05:17 +08:00
Chong Yidong
fbf2e7ad3b Improve xml parameter entity parsing, and add a new ERT test.
* test/automated/xml-parse-tests.el: New file.

* lisp/xml.el (xml--parse-buffer): New function.  Move most of
xml-parse-region here.
(xml-parse-region): Copy region into a temporary buffer, since
parameter entity substitution requires changing buffer contents.
Use xml--parse-buffer.
(xml-parse-file): Use xml--parse-buffer.
(xml-parse-dtd): Make parameter entity substitution work right.
2012-07-01 15:17:05 +08:00
Chong Yidong
b3218de111 Fix use of eval-and-compile in regexps in xml.el.
* xml.el (xml-*-re): Convert defvars into defconsts, and
eval-and-compile them so eval-and-compile works on derivatives.
(xml--entity-replacement-text): Use eval-and-comple.
2012-06-30 22:21:24 +08:00
Chong Yidong
53dc3c68ea xml.el: Fix last change. 2012-06-30 21:57:55 +08:00
Chong Yidong
7f3fbd5d73 * xml.el: Implement XML parameter entities.
(xml-parameter-entity-alist): New variable.
(xml-parse-region, xml-parse-fragment): Preserve previous values
of xml-entity-alist and xml-parameter-entity-alist, so that
repeated calls on different documents do not change them.
(xml-parse-tag): Fix doctype regexp.
(xml--entity-replacement-text): New function.
(xml-parse-dtd): Use it.  Don't handle system entities; doing that
properly requires url retrieval which is unimplemented.
(xml-escape-string): Doc fix.
2012-06-30 19:33:22 +08:00
Chong Yidong
772b2e2ce2 * xml.el (xml-parse-tag): Corrrectly handle comment embedded in non-tag text. 2012-06-24 23:06:24 +08:00
Chong Yidong
18edb22d4f Fix xml.el regression introduced by 2012-01-27 change.
* lisp/xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to
reaching eob.

Fixes: debbugs:11286
2012-04-21 17:53:37 +08:00
Alex Harsanyi
a268160b06 * xml.el (xml-parse-tag): Fix parsing of comments.
Fixes: debbugs:10405
2012-01-27 16:46:10 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Juanma Barranquero
cd1181dbec Fix typos. 2011-11-20 04:48:53 +01:00
Paul Eggert
91af3942e9 Spelling fixes. 2011-11-14 15:59:56 -08:00
Juanma Barranquero
06b605171f lisp/*.el: Lexical-binding cleanup. 2011-04-19 15:44:55 +02:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong
01b229d127 * xml.el (xml-parse-region): Avoid infloop (Bug#5281). 2010-06-30 16:34:06 -04:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Ulf Jasper
571855b631 Fixed Bug#5008. 2009-12-06 18:13:19 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Chong Yidong
98b6923268 (xml-parse-string): Use skip-chars-forward. 2008-10-05 19:01:53 +00:00
Glenn Morris
eb3fa2cfcf Switch to recommended form of GPLv3 permissions notice. 2008-05-06 08:06:51 +00:00
Mark A. Hershberger
76a6127f0e * xml.el (xml-escape-string): Don't do any encoding changes on the string. 2008-01-17 17:21:34 +00:00
Miles Bader
59ce725a3b Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
2008-01-08 20:46:54 +00:00
Glenn Morris
409cc4a3ea Add 2008 to copyright years. 2008-01-07 02:45:14 +00:00
Mark A. Hershberger
a1884c78c4 Forgot docstring on xml-escape-string 2007-12-18 03:29:10 +00:00
Mark A. Hershberger
7731c9f401 fix up xml-debug-print 2007-12-18 03:22:05 +00:00
Glenn Morris
b4aa60262c Switch license to GPLv3 or later. 2007-07-25 04:50:21 +00:00