/[emacs]/emacs/lisp/files.el
ViewVC logotype

Diff of /emacs/lisp/files.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.593 by pj, Thu Jul 11 17:32:01 2002 UTC revision 1.594 by rms, Sun Jul 14 15:30:54 2002 UTC
# Line 929  If the current buffer now contains an em Line 929  If the current buffer now contains an em
929                  file-dir (file-name-directory file)))                  file-dir (file-name-directory file)))
930       (list (read-file-name       (list (read-file-name
931              "Find alternate file: " file-dir nil nil file-name))))              "Find alternate file: " file-dir nil nil file-name))))
932    (and (buffer-modified-p) (buffer-file-name)    (unless (run-hook-with-args-until-failure 'kill-buffer-query-functions)
933         ;; (not buffer-read-only)      (error "Aborted"))
934         (not (yes-or-no-p (format "Buffer %s is modified; kill anyway? "    (when (and (buffer-modified-p) (buffer-file-name))
935                                   (buffer-name))))      (if (yes-or-no-p (format "Buffer %s is modified; save it first? "
936         (error "Aborted"))                               (buffer-name)))
937            (save-buffer)
938          (unless (yes-or-no-p "Kill and replace the buffer without saving it? ")
939            (error "Aborted"))))
940    (let ((obuf (current-buffer))    (let ((obuf (current-buffer))
941          (ofile buffer-file-name)          (ofile buffer-file-name)
942          (onum buffer-file-number)          (onum buffer-file-number)
# Line 949  If the current buffer now contains an em Line 952  If the current buffer now contains an em
952            (setq buffer-file-number nil)            (setq buffer-file-number nil)
953            (setq buffer-file-truename nil)            (setq buffer-file-truename nil)
954            (find-file filename))            (find-file filename))
955        (cond ((eq obuf (current-buffer))        (when (eq obuf (current-buffer))
956               (setq buffer-file-name ofile)          ;; This executes if find-file gets an error
957               (setq buffer-file-number onum)          ;; and does not really find anything.
958               (setq buffer-file-truename otrue)          ;; We put things back as they were.
959               (lock-buffer)          ;; If find-file actually finds something, we kill obuf below.
960               (rename-buffer oname))))          (setq buffer-file-name ofile)
961      (or (eq (current-buffer) obuf)          (setq buffer-file-number onum)
962          (kill-buffer obuf))))          (setq buffer-file-truename otrue)
963            (lock-buffer)
964            (rename-buffer oname)))
965        (unless (eq (current-buffer) obuf)
966          ;; We already asked; don't ask again.
967          (setq kill-buffer-query-functions nil)
968          (kill-buffer obuf))))
969    
970  (defun create-file-buffer (filename)  (defun create-file-buffer (filename)
971    "Create a suitably named buffer for visiting FILENAME, and return it.    "Create a suitably named buffer for visiting FILENAME, and return it.

Legend:
Removed from v.1.593  
changed lines
  Added in v.1.594

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26