I noticed that xml.el has several occurences of code like this:

           ((looking-at (concat "<!ENTITY[ \t\n\r]*\\(" xml-name-re
                                "\\)[ \t\n\r]*\\(" xml-entity-value-re
                                "\\)[ \t\n\r]*>"))
            (let ((name  (buffer-substring (nth 2 (match-data))
                                           (nth 3 (match-data))))
                  (value (buffer-substring (+ (nth 4 (match-data)) 1)
                                           (- (nth 5 (match-data)) 1))))
              (goto-char (nth 1 (match-data)))


Using (match-data) like that is VERY, VERY inefficient.

Use either match-beginning/match-end, or match-string instead.


-- 
Kim F. Storm <[EMAIL PROTECTED]> http://www.cua.dk



_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to