mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-13 16:38:14 +00:00
* xml.el (xml-parse-region): Avoid infloop (Bug#5281).
This commit is contained in:
parent
3d8416fce9
commit
01b229d127
@ -1,3 +1,7 @@
|
||||
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)
|
||||
|
26
lisp/xml.el
26
lisp/xml.el
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user