summaryrefslogtreecommitdiff
path: root/lisp/xml.el
Commit message (Collapse)AuthorAgeFilesLines
* * xml.el (xml-escape-string): Don't refer to xml-entity-alist.Chong Yidong2012-08-191-7/+19
| | | | Fixes: debbugs:12228
* Maybe return expanded XML qnames as plain symbols (Bug#11916).David Engster2012-07-281-13/+64
| | | | | | | | * 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.
* Clean up syntax-table usage in xml.elChong Yidong2012-07-051-187/+190
| | | | | | | | | | | | | | | | | | | | * 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.
* * lisp/xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re.Stefan Monnier2012-07-031-5/+2
|
* * xml.el: Protect parser against XML bombs.Chong Yidong2012-07-031-6/+31
| | | | | | | | (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.
* * lisp/xml.el: Handle entity and character reference expansion correctly.Chong Yidong2012-07-031-188/+184
| | | | | | | | | | | | | | | | | | | (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.
* * xml.el (xml-parse-dtd): Use proper regexps for ELEMENT declarations.Chong Yidong2012-07-011-6/+9
| | | | | | * test/automated/xml-parse-tests.el: Update testcase. Fixes: debbugs:7172
* Improve xml parameter entity parsing, and add a new ERT test.Chong Yidong2012-07-011-73/+107
| | | | | | | | | | | | * 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.
* Fix use of eval-and-compile in regexps in xml.el.Chong Yidong2012-06-301-71/+83
| | | | | | * 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.
* xml.el: Fix last change.Chong Yidong2012-06-301-3/+2
|
* * xml.el: Implement XML parameter entities.Chong Yidong2012-06-301-108/+132
| | | | | | | | | | | | (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.
* * xml.el (xml-parse-tag): Corrrectly handle comment embedded in non-tag text.Chong Yidong2012-06-241-1/+2
|
* Fix xml.el regression introduced by 2012-01-27 change.Chong Yidong2012-04-211-2/+4
| | | | | | | * lisp/xml.el (xml-parse-region, xml-parse-tag): Avoid errors due to reaching eob. Fixes: debbugs:11286
* * xml.el (xml-parse-tag): Fix parsing of comments.Alex Harsanyi2012-01-271-1/+2
| | | | Fixes: debbugs:10405
* Add 2012 to FSF copyright years for Emacs filesGlenn Morris2012-01-051-1/+1
|
* Fix typos.Juanma Barranquero2011-11-201-1/+1
|
* Spelling fixes.Paul Eggert2011-11-141-1/+1
|
* lisp/*.el: Lexical-binding cleanup.Juanma Barranquero2011-04-191-9/+8
|
* Convert consecutive FSF copyright years to ranges.Glenn Morris2011-01-241-2/+1
|
* Nuke arch-tags.Glenn Morris2011-01-151-1/+0
|
* Add 2011 to FSF/AIST copyright years.Glenn Morris2011-01-021-1/+1
|
* * xml.el (xml-parse-region): Avoid infloop (Bug#5281).Chong Yidong2010-06-301-12/+14
|
* Add 2010 to copyright years.Glenn Morris2010-01-131-1/+1
|
* Fixed Bug#5008.Ulf Jasper2009-12-061-0/+19
|
* Add 2009 to copyright years.Glenn Morris2009-01-051-1/+1
|
* (xml-parse-string): Use skip-chars-forward.Chong Yidong2008-10-051-3/+1
|
* Switch to recommended form of GPLv3 permissions notice.Glenn Morris2008-05-061-6/+4
|
* * xml.el (xml-escape-string): Don't do any encoding changes on the string.Mark A. Hershberger2008-01-171-4/+3
|
* Merge from emacs--rel--22Miles Bader2008-01-081-1/+1
|\ | | | | | | Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
| * Add 2008 to copyright years.Glenn Morris2008-01-071-1/+1
| |
* | Forgot docstring on xml-escape-stringMark A. Hershberger2007-12-181-0/+2
| |
* | fix up xml-debug-printMark A. Hershberger2007-12-181-2/+15
|/
* Switch license to GPLv3 or later.Glenn Morris2007-07-251-1/+1
|
* * xml.el (xml-parse-tag, xml-parse-string, xml-parse-attlist)Chong Yidong2007-03-171-27/+31
| | | | | | | | (xml-parse-dtd, xml-parse-elem-type, xml-substitute-special): Return to use of the -no-properties variants. There was consensus on emacs-devel that the speed of these variants was prefered since we are usually parsing files (from the internet or on disk) instead of XML created in Emacs.
* Add 2007 to copyright years.Glenn Morris2007-01-211-1/+1
|
* (xml-parse-file): Clean up, and use with-temp-buffer.Richard M. Stallman2006-07-241-16/+13
|
* Update years in copyright notice; nfc.Thien-Thi Nguyen2006-02-061-1/+1
|
* use provided patchMark A. Hershberger2006-02-021-10/+10
|
* fixing bug reportMark A. Hershberger2006-02-021-66/+66
|
* xml.el fixesMark A. Hershberger2005-11-031-5/+6
|
* (xml-att-def-re): Add defvar.Richard M. Stallman2005-08-091-0/+1
|
* Update years in copyright notice; nfc.Thien-Thi Nguyen2005-08-061-1/+2
|
* Update FSF's address.Lute Kamstra2005-07-041-2/+2
|
* eliminate use of inefficient match-dataMark A. Hershberger2005-06-101-12/+48
|
* 2005-05-26 Mark A. Hershberger <mah@everybody.org>Mark A. Hershberger2005-05-261-2/+6
| | | | | * xml.el (xml-substitute-special): Don't die for undefined xml entities.
* (xml-name-re, xml-entity-value-re): Add defvars.Richard M. Stallman2004-12-131-0/+2
|
* Skip parameter entity declarations.Mark A. Hershberger2004-12-021-1/+17
|
* Change existence of &; to not-well-formed.Mark A. Hershberger2004-12-021-4/+3
|
* Ensure that validity messages only show when xml-validating-parser is set.Mark A. Hershberger2004-12-021-3/+5
|
* 2004-11-30 Mark A. Hershberger <mah@everybody.org>Mark A. Hershberger2004-12-011-3/+7
| | | | | | | | * xml.el (xml-substitute-special): Fix validity error messages to actually show the unexpandable entity. Added validity error if & isn't followed by an entity. (xml-parse-tag): Concatnate any string following the a <![CDATA[]]> section to the parsed CDATA.