[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#12916: 24.2; Completion for "C-x b" does not include current buffer
From: |
Stefan Monnier |
Subject: |
bug#12916: 24.2; Completion for "C-x b" does not include current buffer |
Date: |
Mon, 19 Nov 2012 09:22:21 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
> In older Emacs versions (*), to switch buffer, I could type "C-x b",
> followed by a unique prefix of the desired buffer's name, then "TAB
> RET". This routine no longer works. Specifically, the completion fails
> when the desired buffer is already the current buffer. So before I can
> switch, I first have to work out which window is selected and whether
> its buffer is the one I want.
Hmm... I'd expect the user to know in which buffer she is when she hits
C-x b. Can you give us a few more hints about your use-case to try and
help me understand why you don't know in which buffer you are when you
hit C-x b?
> In my opinion this was a bad decision, and I think we should go back
> to using "B" as the interactive spec for switch-to-buffer. Others
> might disagree, so would it be possible to add a custom variable to
> control whether the current buffer is included in the list of completions?
I'm not sure this deserves such a customization variable. But in any
case, in the mean time, you can get back the previous behavior with the
following hack:
(defadvice internal-complete-buffer-except (around rc-all-buffers activate)
(setq ad-return-value #'internal-complete-buffer))
Maybe a cleaner workaround might be:
(put 'switch-to-buffer 'interactive-form
'(interactive "BSwitch to buffer: "))
-- Stefan