Show
Ignore:
Timestamp:
07/29/06 07:48:34 (2 years ago)
Author:
miyoshi
Message:

Sync up with Emacs CVS HEAD.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lisp/xml.el

    r4037 r4131  
    166166If PARSE-DTD is non-nil, the DTD is parsed rather than skipped. 
    167167If PARSE-NS is non-nil, then QNAMES are expanded." 
    168   (let ((keep)) 
    169     (if (get-file-buffer file) 
    170         (progn 
    171           (set-buffer (get-file-buffer file)) 
    172           (setq keep (point))) 
    173       (let (auto-mode-alist)            ; no need for xml-mode 
    174         (find-file file))) 
    175  
    176     (let ((xml (xml-parse-region (point-min) 
    177                                  (point-max) 
    178                                  (current-buffer) 
    179                                  parse-dtd parse-ns))) 
    180       (if keep 
    181           (goto-char keep) 
    182         (kill-buffer (current-buffer))) 
    183       xml))) 
     168  (if (get-file-buffer file) 
     169      (with-current-buffer (get-file-buffer file) 
     170        (save-excursion 
     171          (xml-parse-region (point-min) 
     172                            (point-max) 
     173                            (current-buffer) 
     174                            parse-dtd parse-ns))) 
     175    (with-temp-buffer 
     176      (insert-file-contents file) 
     177      (xml-parse-region (point-min) 
     178                        (point-max) 
     179                        (current-buffer) 
     180                        parse-dtd parse-ns)))) 
    184181 
    185182