mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-22 07:09:54 +00:00
* xml.el (xml-escape-string): Don't refer to xml-entity-alist.
Fixes: debbugs:12228
This commit is contained in:
parent
d7191076ce
commit
17975d7ff9
@ -1,3 +1,8 @@
|
||||
2012-08-19 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* xml.el (xml-escape-string): Don't refer to xml-entity-alist
|
||||
(Bug#12228).
|
||||
|
||||
2012-08-18 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* simple.el (yank-handled-properties): New defcustom.
|
||||
|
26
lisp/xml.el
26
lisp/xml.el
@ -1011,13 +1011,25 @@ The first line is indented with the optional INDENT-STRING."
|
||||
(defalias 'xml-print 'xml-debug-print)
|
||||
|
||||
(defun xml-escape-string (string)
|
||||
"Return STRING with entity substitutions made from `xml-entity-alist'."
|
||||
(mapconcat (lambda (byte)
|
||||
(let ((char (char-to-string byte)))
|
||||
(if (rassoc char xml-entity-alist)
|
||||
(concat "&" (car (rassoc char xml-entity-alist)) ";")
|
||||
char)))
|
||||
string ""))
|
||||
"Convert STRING into a string containing valid XML character data.
|
||||
Replace occurrences of &<>'\" in STRING with their default XML
|
||||
entity references (e.g. replace each & with &).
|
||||
|
||||
XML character data must not contain & or < characters, nor the >
|
||||
character under some circumstances. The XML spec does not impose
|
||||
restriction on \" or ', but we just substitute for these too
|
||||
\(as is permitted by the spec)."
|
||||
(with-temp-buffer
|
||||
(insert string)
|
||||
(dolist (substitution '(("&" . "&")
|
||||
("<" . "<")
|
||||
(">" . ">")
|
||||
("'" . "'")
|
||||
("\"" . """)))
|
||||
(goto-char (point-min))
|
||||
(while (search-forward (car substitution) nil t)
|
||||
(replace-match (cdr substitution) t t nil)))
|
||||
(buffer-string)))
|
||||
|
||||
(defun xml-debug-print-internal (xml indent-string)
|
||||
"Outputs the XML tree in the current buffer.
|
||||
|
Loading…
Reference in New Issue
Block a user