Commit 01b229d1 authored by Chong Yidong's avatar Chong Yidong
Browse files

* xml.el (xml-parse-region): Avoid infloop (Bug#5281).

parent 3d8416fc
2010-06-30 Chong Yidong <cyd@stupidchicken.com>
* xml.el (xml-parse-region): Avoid infloop (Bug#5281).
2010-06-29 Leo <sdl.web@gmail.com>
* emacs-lisp/rx.el (rx): Doc fix. (Bug#6537)
......
......@@ -321,18 +321,20 @@ If PARSE-NS is non-nil, then QNAMES are expanded."
(progn
(forward-char -1)
(setq result (xml-parse-tag parse-dtd parse-ns))
(if (and xml result (not xml-sub-parser))
;; translation of rule [1] of XML specifications
(error "XML: (Not Well-Formed) Only one root tag allowed")
(cond
((null result))
((and (listp (car result))
parse-dtd)
(setq dtd (car result))
(if (cdr result) ; possible leading comment
(add-to-list 'xml (cdr result))))
(t
(add-to-list 'xml result)))))
(cond
((null result)
;; Not looking at an xml start tag.
(forward-char 1))
((and xml (not xml-sub-parser))
;; Translation of rule [1] of XML specifications
(error "XML: (Not Well-Formed) Only one root tag allowed"))
((and (listp (car result))
parse-dtd)
(setq dtd (car result))
(if (cdr result) ; possible leading comment
(add-to-list 'xml (cdr result))))
(t
(add-to-list 'xml result))))
(goto-char (point-max))))
(if parse-dtd
(cons dtd (nreverse xml))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment