Commit graph

133 commits

Author SHA1 Message Date
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
Chong Yidong
f6fcdfff17 * xml.el (xml-parse-tag, xml-parse-string, xml-parse-attlist)
(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.
2007-03-17 18:55:52 +00:00
Glenn Morris
d7a0267c8d Add 2007 to copyright years. 2007-01-21 03:53:13 +00:00
Richard M. Stallman
882cb60d1a (xml-parse-file): Clean up, and use with-temp-buffer. 2006-07-24 18:02:10 +00:00
Thien-Thi Nguyen
aaef169dc6 Update years in copyright notice; nfc. 2006-02-06 15:23:23 +00:00
Mark A. Hershberger
39d58fc034 use provided patch 2006-02-02 01:07:11 +00:00
Mark A. Hershberger
5178753d31 fixing bug report 2006-02-02 01:02:31 +00:00
Mark A. Hershberger
aaaa8abbd0 xml.el fixes 2005-11-03 03:56:38 +00:00
Richard M. Stallman
0bf41002b4 (xml-att-def-re): Add defvar. 2005-08-09 02:52:15 +00:00
Thien-Thi Nguyen
0d30b33766 Update years in copyright notice; nfc. 2005-08-06 22:13:43 +00:00
Lute Kamstra
086add1519 Update FSF's address. 2005-07-04 23:32:44 +00:00
Mark A. Hershberger
23d519e49c eliminate use of inefficient match-data 2005-06-10 15:37:37 +00:00
Mark A. Hershberger
f8ab034e35 2005-05-26 Mark A. Hershberger <mah@everybody.org>
* xml.el (xml-substitute-special): Don't die for undefined xml
	entities.
2005-05-26 14:35:47 +00:00
Richard M. Stallman
5ed3235280 (xml-name-re, xml-entity-value-re): Add defvars. 2004-12-13 19:37:32 +00:00
Mark A. Hershberger
63b446bce0 Skip parameter entity declarations. 2004-12-02 07:48:25 +00:00
Mark A. Hershberger
27720433ac Change existence of &; to not-well-formed. 2004-12-02 07:19:03 +00:00
Mark A. Hershberger
7e0f112355 Ensure that validity messages only show when xml-validating-parser is set. 2004-12-02 06:53:43 +00:00
Mark A. Hershberger
ae02611069 2004-11-30 Mark A. Hershberger <mah@everybody.org>
* 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.
2004-12-01 04:45:08 +00:00
Mark A. Hershberger
f0d494374f 2004-10-07 Mark A. Hershberger <mah@everybody.org>
* xml.el (xml-substitute-special): Limit handling of external
	entities.
2004-10-07 18:13:43 +00:00
John Paul Wallington
07f7e9aede (xml-parse-dtd): Fix `error' call. 2004-10-06 06:04:41 +00:00
Mark A. Hershberger
a3110b5ddc fix to for xml-substitute-special to produce a single string instead
of several if a substitution is made.
2004-10-06 00:58:29 +00:00
Mark A. Hershberger
6d12a4dfbc 2004-07-09 Mark A. Hershberger <mah@everybody.org>
* xml.el (xml-maybe-do-ns, xml-parse-tag): Produce elements in the
	form
	(("ns" . "element") (attr-list) children) instead of
	((:ns . "element") (attr-list) children) in order to reduce the
	number of symbols used.
	(xml-skip-dtd): Change to use xml-parse-dtd but set
	xml-validating-parsing to nil.
	(xml-parse-dtd): Parse entity deleclarations in DOCTYPEs.
	(xml-substitute-entity): Remove in favor of new entity substitution.
	(xml-substitute-special): Rewrite in to substitute complex
	entities from DOCTYPE declarations.
	(xml-parse-fragment): Parse fragments from entity deleclarations.
	(xml-parse-region, xml-parse-tag, xml-parse-attlist)
	(xml-parse-dtd, xml-substitute-special): Make validity checks
	conditioned on xml-validating-parser.  Add "Not Well Formed" to
	error messages about well-formedness.
2004-07-09 14:22:33 +00:00
Stefan Monnier
8a02e1933c Arch-tags shouldn't be outline headers. 2004-05-02 17:26:52 +00:00
Alex Schroeder
27240aa42f (xml-debug-print-internal): Don't add newline and
indentation to text nodes and write empty elements as empty tags
instead of opening and closing tags.
(xml-debug-print): Take optional indent-string argument.
(xml-print): Alias for xml-debug-print.
2004-04-30 20:00:19 +00:00