bug#3224: 23.0.92; vc-dir vs uniquify: wrong directory used
Magnus Henoch <[email protected]>
| Newsgroups | gmane.emacs.bugs,gmane.emacs.pretest.bugs |
|---|---|
| Message-ID | <[email protected]> |
Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them. Your bug report will be posted to the [email protected] mailing list. Please describe exactly what actions triggered the bug and the precise symptoms of the bug: I have uniquify-buffer-name-style set to post-forward, which means that I expect buffers with the same name to be called BUFFER|DIR. This doesn't quite work with vc-dir: the DIR part corresponds to the setting of `default-directory' in the buffer where I invoke the command, instead of the directory I specify. To reproduce, start "emacs -Q" and evaluate: (progn (require 'uniquify) (setq uniquify-buffer-name-style 'post-forward) (cd "/tmp") (make-directory "foo") (make-directory "bar") (vc-dir "/tmp/foo") (cd "/tmp/foo") (vc-dir "/tmp/bar")) You will get two buffers, "*vc-dir*|foo" displaying /tmp/bar, and "*vc-dir*|/tmp" displaying /tmp/foo. I tried to fix this by binding default-directory around create-file-buffer in vc-dir-prepare-status-buffer, which partly fixed the problem: the buffer for bar had a correct name, but the buffer for foo was still "*vc-dir*|/tmp". If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /usr/local/share/emacs/23.0.92/etc/DEBUG for instructions. In GNU Emacs 23.0.92.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4) of 2009-04-28 on linux-b2a3 Windowing system distributor `The X.Org Foundation', version 11.0.10502000 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: C value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Diff Minor modes in effect: diff-auto-refine-mode: t shell-dirtrack-mode: t jabber-activity-mode: t jabber-mode-line-mode: t show-paren-mode: t server-mode: t icomplete-mode: t display-time-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: d <C-s-up> <tab> <return> <next> <up> <down> <down> <down> <down> <down> <down> <down> <down> M-f M-f M-f M-f s-i <return> C-x v d ~ / b l a <tab> s v <tab> a <tab> p <tab> <return> <C-s-down> C-h f u n i j <backspace> q <tab> <tab> r a t <tab> <M-backspace> b u <tab> f <tab> <return> <C-s-up> <tab> <return> <C-s-up> <tab> <return> <tab> <return> <down> <down> C-x b <return> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> C-h f <return> M-x l o c a t e <return> v c - d i r . e l <return> <down> <down> <return> s-i v <tab> i <return> s-i v c - d i r - p r e <return> p <return> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> C-e <return> <tab> ( l e t SPC ( ( d e f a u l t - d i r e c t o r y SPC d i r ) ) <down> <down> C-a C-k C-k <down> <down> <down> <down> C-e ) C-x C-s C-x C-e C-x v d ~ / b l a <tab> s v <tab> n o <tab> <return> C-x v d <backspace> n o d <return> a d <return> <return> C-x v d <backspace> <backspace> a p <return> a d <return> <return> C-x b C-s <return> C-x v = C-h v u n i q u <tab> b u <return> M-x r e p o r t - e <tab> <return>