diff options
| author | Chong Yidong <cyd@stupidchicken.com> | 2006-03-08 01:57:59 +0000 |
|---|---|---|
| committer | Chong Yidong <cyd@stupidchicken.com> | 2006-03-08 01:57:59 +0000 |
| commit | 9b1fad33f06875dd649a0e3eecd8b3b6f64e134f (patch) | |
| tree | 45431e261a142440c0be966179b8071d904e1f2f | |
| parent | 179a6f216dc7a2f4dc7f490ea5c84953201d43d8 (diff) | |
| download | emacs-9b1fad33f06875dd649a0e3eecd8b3b6f64e134f.tar.gz | |
* arc-mode.el (archive-extract): Check if an existing buffer name
comes from a different archive.
| -rw-r--r-- | lisp/ChangeLog | 3 | ||||
| -rw-r--r-- | lisp/arc-mode.el | 8 |
2 files changed, 8 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 18fa97f0d20..7d5dbce1d35 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2006-03-07 Chong Yidong <cyd@stupidchicken.com> + * arc-mode.el (archive-extract): Check if an existing buffer name + comes from a different archive. + * help.el (describe-key-briefly): If KEY is a down event, read and discard the up event. diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index 9799e3e0834..abf38994235 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -907,16 +907,18 @@ using `make-temp-file', and the generated name is returned." (read-only-p (or archive-read-only view-p (string-match file-name-invalid-regexp ename))) + (arcfilename (expand-file-name (concat arcname ":" iname))) (buffer (get-buffer bufname)) (just-created nil)) - (if buffer + (if (and buffer + (string= (buffer-file-name buffer) arcfilename)) nil (setq archive (archive-maybe-copy archive)) + (setq bufname (generate-new-buffer-name bufname)) (setq buffer (get-buffer-create bufname)) (setq just-created t) (with-current-buffer buffer - (setq buffer-file-name - (expand-file-name (concat arcname ":" iname))) + (setq buffer-file-name arcfilename) (setq buffer-file-truename (abbreviate-file-name buffer-file-name)) ;; Set the default-directory to the dir of the superior buffer. |
