* bug#6147: 23.2; ido-read-buffer regression
@ 2010-05-09 20:06 Kyle Hargraves
2010-05-09 23:02 ` Juanma Barranquero
2010-08-21 22:34 ` Stefan Monnier
0 siblings, 2 replies; 4+ messages in thread
From: Kyle Hargraves @ 2010-05-09 20:06 UTC (permalink / raw)
To: 6147
[-- Attachment #1: Type: text/plain, Size: 6588 bytes --]
In the version of ido shipped with 23.2, the behaviour of the
ido-make-buffer-list function no longer permits a default value to be
used by ido-read-buffer unless that value is the name of a preexisting
buffer.
This can be reproduced by evaluating:
(ido-read-buffer "Buffer: " "nonexistent-buffer")
In 23.2, you will see only a list of your current buffers. In 23.1,
nonexistent-buffer is the default value.
This prevents ido-everywhere from being useful in situations like C-u M-x
shell; it should, and in 23.1 did, offer a default name
for your new shell (eg, "*shell*<2>"). ido no longer displays that option,
as it is filtered out by ido-make-buffer-list.
I believe the related commit may be:
http://github.com/emacsmirror/emacs/commit/e2300713fd5a941bfe1dad338b88f4caf77cc945
HTH
In GNU Emacs 23.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.20.0)
of 2010-05-08 on min
Windowing system distributor `The X.Org Foundation', version 11.0.10706000
configured using `configure '--prefix=/usr' '--sysconfdir=/etc'
'--libexecdir=/usr/lib' '--localstatedir=/var' '--mandir=/usr/share/man'
'--without-sound' '-with-x-toolkit=gtk' 'CFLAGS=-march=x86-64 -mtune=generic
-O2 -pipe -fno-optimize-sibling-calls' 'LDFLAGS=-Wl,--hash-style=gnu
-Wl,--as-needed''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: en_US.UTF-8
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: nil
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
Major mode: Emacs-Lisp
Minor modes in effect:
erc-list-mode: t
erc-menu-mode: t
erc-autojoin-mode: t
erc-ring-mode: t
erc-networks-mode: t
erc-pcomplete-mode: t
erc-track-mode: t
erc-track-minor-mode: t
erc-match-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-netsplit-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-move-to-prompt-mode: t
erc-readonly-mode: t
diff-auto-refine-mode: t
hl-line-mode: t
paredit-mode: t
show-paren-mode: t
yas/global-mode: t
yas/minor-mode: t
shell-dirtrack-mode: t
recentf-mode: t
ido-everywhere: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
t SPC e s s e n t i a l l y SPC b r e a k s s SPC <backspace>
<backspace> SPC i d o e - v e <backspace> <backspace>
<backspace> <backspace> - e v e r y w h e r e , SPC
a s SPC y o u SPC a r e SPC u n a b l e SPC t o SPC
o f f e r SPC d e f a u l t s SPC f o r SPC a n y SPC
n e SPC <backspace> w SPC b u f f e r SPC c r e a t
i o <muhenkan> n <return> C - u SPC M - x SPC s h e
l l SPC s h o u l d SPC o f f e r SPC * s h e l l *
< 2 > S-SPC <S-backspace> SPC o r SPC s u c h SPC w
h e n SPC y o u SPC s t a r t SPC a SPC n e w SPC s
h e l l , SPC b u t SPC n o SPC l o n g e r SPC c a
n <return> <switch-frame> C-u C-c s C-g C-u C-c s C-g
M-> <return> ( i d o - e v e r y w h e r e SPC t )
C-x C-e C-a C-k <backspace> C-x C-s C-u C-c s C-g C-x
b <return> C-x k <return> y C-x b a r c h <return>
C-x b <return> <switch-frame> <s-left> <s-down> M-v
C-v C-v M-p M-n M-p M-n <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <down> <down> <down>
C-l <s-up> C-x 0 M-x r e <return>
Recent messages:
Using try-complete-lisp-symbol
("*Help*" "#archlinux" "#clojure" "##javascript" "irc.freenode.net:6667"
"*Backtrace*" "#compojure" "hairband.css" "*shell*" "hairband.html"
"*magit-process*" "hairband" ...)
Mark saved where search started
Quit [2 times]
Mark set
t
Saving file /home/pd/sauce/hairband/src/css/hairband.css...
Wrote /home/pd/sauce/hairband/src/css/hairband.css
Quit
Buffer has a running process; kill it? (y or n)
windmove-do-window-select: Minibuffer is inactive
Load-path shadows:
/home/pd/.emacs.d/elpa/json-1.2/json hides /usr/share/emacs/23.2/lisp/json
/home/pd/.emacs.d/elpa/ruby-mode-1.1/ruby-mode hides
/usr/share/emacs/23.2/lisp/progmodes/ruby-mode
Features:
(shadow sort mail-extr message idna ecomplete rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045
qp ietf-drums mailabbrev nnheader mm-util mail-prsvr gmm-utils
mailheader canlock sha1 hex-util hashcash mail-utils emacsbug jka-compr
find-func cus-start cus-load debug help-mode browse-url erc-log erc-menu
erc-join erc-ring erc-networks erc-pcomplete pcomplete erc-track
erc-match erc-button erc-fill erc-stamp erc-netsplit erc-goodies erc
erc-backend erc-compat pp multi-isearch css-mode dired-aux dired js
byte-opt bytecomp byte-compile json thingatpt etags imenu newcomment
cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs view magit diff-mode log-edit pcvs-util add-log parse-time
hippie-exp vc-git sgml-mode server hl-line paredit paren pd/misc pd/smex
smex pd/irc pd/haskell pd/js pd/ruby pd/lisps pd/chrome edit-server
pd/magit pd/tramp pd/shell ansi-color pd/coding pd/theme color-theme
sendmail pd/ido pd/bindings windmove pd/defuns pd/packages
clojure-test-mode-autoloads full-ack-autoloads inf-ruby-autoloads
json-autoloads paredit-autoloads ruby-mode-autoloads sass-mode-autoloads
haml-mode-autoloads swank-clojure-autoloads clojure-mode-autoloads
slime-repl-autoloads slime-autoloads yasnippet-bundle-autoloads
yasnippet-bundle dropdown-list yasnippet derived easy-mmode edmacro
kmacro package reporter pd/core ibuffer tramp-imap assoc tramp-gw
tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp regexp-opt
auth-source gnus-util netrc time-date shell comint ring password-cache
format-spec tramp-compat trampver recentf tree-widget wid-edit easymenu
uniquify advice help-fns advice-preload ido cl cl-19 tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind system-font-setting font-render-setting
gtk x-toolkit x multi-tty emacs)
[-- Attachment #2: Type: text/html, Size: 8898 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#6147: 23.2; ido-read-buffer regression
2010-05-09 20:06 bug#6147: 23.2; ido-read-buffer regression Kyle Hargraves
@ 2010-05-09 23:02 ` Juanma Barranquero
2010-05-09 23:13 ` Kyle Hargraves
2010-08-21 22:34 ` Stefan Monnier
1 sibling, 1 reply; 4+ messages in thread
From: Juanma Barranquero @ 2010-05-09 23:02 UTC (permalink / raw)
To: Kyle Hargraves; +Cc: 6147
On Sun, May 9, 2010 at 22:06, Kyle Hargraves <pd@krh.me> wrote:
> This can be reproduced by evaluating:
> (ido-read-buffer "Buffer: " "nonexistent-buffer")
> In 23.2, you will see only a list of your current buffers. In 23.1,
> nonexistent-buffer is the default value.
Yes, it has changed.
> I believe the related commit may be:
> http://github.com/emacsmirror/emacs/commit/e2300713fd5a941bfe1dad338b88f4caf77cc945
Why do you believe that? AFAICS, that commit is related to virtual
buffers, and so it's not on Emacs 23.2.
The "culprit" is this change:
------------------------------------------------------------
revno: 99373
author: Óscar Fuentes <ofv@wanadoo.es>
committer: Juanma Barranquero <lekktu@gmail.com>
branch nick: trunk
timestamp: Mon 2010-01-18 20:34:55 +0100
message:
ido.el: Consider the possibility of buffer names changing after kill-buffer.
which includes this:
(ido-make-buffer-list): If "default" is a nonexistent
buffer, ignore it, as per the docstring.
=== modified file 'lisp/ido.el'
--- lisp/ido.el 2010-01-13 08:35:10 +0000
+++ lisp/ido.el 2010-01-18 19:34:55 +0000
@@ -3344,7 +3344,7 @@
(if ido-temp-list
(nconc ido-temp-list ido-current-buffers)
(setq ido-temp-list ido-current-buffers))
- (if default
+ (if (and default (buffer-live-p (get-buffer default)))
(progn
(setq ido-temp-list
(delete default ido-temp-list))
Now, though `ido-make-buffer-list' has not exactly a docstring, but a
comment, it really says:
;; [...] If DEFAULT is non-nil, and corresponds to an existing buffer,
;; it is put to the start of the list.
so the use you did of it was relying on undocumented behaviour.
Whether it should work as you prefer or not, I have no comment; but
there has been some recent discussion on emacs-devel about reverting
this patch and replacing it with another fix, by Leo (see thread
titled "PATCH: Fix IDO interaction with uniquify.el"); so perhaps you
can chime in with your thoughts.
Juanma
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#6147: 23.2; ido-read-buffer regression
2010-05-09 23:02 ` Juanma Barranquero
@ 2010-05-09 23:13 ` Kyle Hargraves
0 siblings, 0 replies; 4+ messages in thread
From: Kyle Hargraves @ 2010-05-09 23:13 UTC (permalink / raw)
To: Juanma Barranquero; +Cc: 6147
[-- Attachment #1: Type: text/plain, Size: 2314 bytes --]
On Sun, May 9, 2010 at 6:02 PM, Juanma Barranquero <lekktu@gmail.com> wrote:
> On Sun, May 9, 2010 at 22:06, Kyle Hargraves <pd@krh.me> wrote:
>
> > This can be reproduced by evaluating:
> > (ido-read-buffer "Buffer: " "nonexistent-buffer")
> > In 23.2, you will see only a list of your current buffers. In 23.1,
> > nonexistent-buffer is the default value.
>
> Yes, it has changed.
>
> > I believe the related commit may be:
> >
> http://github.com/emacsmirror/emacs/commit/e2300713fd5a941bfe1dad338b88f4caf77cc945
>
> Why do you believe that?
>
I misread it and thought it was introducing the buffer-live-p check.
> The "culprit" is this change:
>
> ------------------------------------------------------------
> revno: 99373
> author: Óscar Fuentes <ofv@wanadoo.es>
> committer: Juanma Barranquero <lekktu@gmail.com>
> branch nick: trunk
> timestamp: Mon 2010-01-18 20:34:55 +0100
> message:
> ido.el: Consider the possibility of buffer names changing after
> kill-buffer.
>
> which includes this:
>
> (ido-make-buffer-list): If "default" is a nonexistent
> buffer, ignore it, as per the docstring.
>
>
> === modified file 'lisp/ido.el'
> --- lisp/ido.el 2010-01-13 08:35:10 +0000
> +++ lisp/ido.el 2010-01-18 19:34:55 +0000
> @@ -3344,7 +3344,7 @@
> (if ido-temp-list
> (nconc ido-temp-list ido-current-buffers)
> (setq ido-temp-list ido-current-buffers))
> - (if default
> + (if (and default (buffer-live-p (get-buffer default)))
> (progn
> (setq ido-temp-list
> (delete default ido-temp-list))
>
>
> Now, though `ido-make-buffer-list' has not exactly a docstring, but a
> comment, it really says:
>
> ;; [...] If DEFAULT is non-nil, and corresponds to an existing buffer,
> ;; it is put to the start of the list.
>
> so the use you did of it was relying on undocumented behaviour.
>
> Whether it should work as you prefer or not, I have no comment; but
> there has been some recent discussion on emacs-devel about reverting
> this patch and replacing it with another fix, by Leo (see thread
> titled "PATCH: Fix IDO interaction with uniquify.el"); so perhaps you
> can chime in with your thoughts.
Thank you, I will look for it.
>
> Juanma
>
[-- Attachment #2: Type: text/html, Size: 3310 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#6147: 23.2; ido-read-buffer regression
2010-05-09 20:06 bug#6147: 23.2; ido-read-buffer regression Kyle Hargraves
2010-05-09 23:02 ` Juanma Barranquero
@ 2010-08-21 22:34 ` Stefan Monnier
1 sibling, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2010-08-21 22:34 UTC (permalink / raw)
To: Kyle Hargraves
> In the version of ido shipped with 23.2, the behaviour of the
> ido-make-buffer-list function no longer permits a default value to be
> used by ido-read-buffer unless that value is the name of a preexisting
> buffer.
> This can be reproduced by evaluating:
> (ido-read-buffer "Buffer: " "nonexistent-buffer")
> In 23.2, you will see only a list of your current buffers. In 23.1,
> nonexistent-buffer is the default value.
I believe this bug in now fixed in the emacs-23 branch, thanks to the
reversal of the patch that changed this behavior (replaced by
a different one which happens not to make this change).
Stefan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-08-21 22:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-09 20:06 bug#6147: 23.2; ido-read-buffer regression Kyle Hargraves
2010-05-09 23:02 ` Juanma Barranquero
2010-05-09 23:13 ` Kyle Hargraves
2010-08-21 22:34 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.