# HG changeset patch # User Mark A. Hershberger # Date 1097024309 0 # Node ID 95ee82562c2a370f3aa5f1a10b9534466dd4dfcb # Parent 7af1127797dcc63ec4ad5bc9f7c5cce403b2cfe2 fix to for xml-substitute-special to produce a single string instead of several if a substitution is made. diff -r 7af1127797dc -r 95ee82562c2a lisp/xml.el --- a/lisp/xml.el Wed Oct 06 00:48:08 2004 +0000 +++ b/lisp/xml.el Wed Oct 06 00:58:29 2004 +0000 @@ -727,13 +727,13 @@ (match-string 1 this-part))))))) (cond ((null children) - (if (stringp expansion) + (if (and (eq (length expansion) 1) + (stringp (cadr expansion))) (setq children (concat prev-part expansion)) - (if (stringp (car (last expansion))) - (progn - (setq children - (list (concat prev-part (car expansion)) - (cdr expansion)))) + (if (stringp (car expansion)) + (setq children + (list (concat prev-part (car expansion)) + (append (cdr expansion)))) (setq children (append expansion prev-part))))) ((stringp children) (if (stringp expansion) @@ -756,11 +756,15 @@ (cond ((stringp children) (concat children (substring string point))) ((stringp (car (last children))) - (concat (car children) (substring string point))) + (concat (car (last children)) (substring string point))) ((null children) string) (t - (nreverse children))))) + (concat (mapconcat 'identity + (nreverse children) + "") + (substring string point)))))) + ;;******************************************************************* ;;** ;;** Printing a tree.