From 9b1fad33f06875dd649a0e3eecd8b3b6f64e134f Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 8 Mar 2006 01:57:59 +0000 Subject: [PATCH] * arc-mode.el (archive-extract): Check if an existing buffer name comes from a different archive. --- lisp/ChangeLog | 3 +++ 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 + * 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. -- 2.39.2