* bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer
@ 2011-08-26 0:27 Paul Du Bois
2011-09-03 19:14 ` Glenn Morris
0 siblings, 1 reply; 6+ messages in thread
From: Paul Du Bois @ 2011-08-26 0:27 UTC (permalink / raw)
To: 9378
emacs -Q
(require 'iswitchb)
(setq read-buffer-function 'iswitchb-read-buffer)
(add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup)
find several files
C-x b C-k C-k
After the first C-k, the buffer is deleted, but remains at the
head of the iswitchb list. The second C-k produces an error
"No buffer named <the buffer that was just killed>"
The problem is that iswitchb-make-buflist does not correspond to its
documentation:
"... If DEFAULT is non-nil, and corresponds to an existing buffer,
it is put to the start of the list."
Changing the implementation to match the documentation fixes the bug:
--- iswitchb.el 2011-06-16 15:36:18.084715400 -0700
+++ iswitchb2.el 2011-08-25 17:23:04.724373400 -0700
@@ -849,7 +849,7 @@
(run-hooks 'iswitchb-make-buflist-hook)
;; Should this be after the hooks, or should the hooks be the
;; final thing to be run?
- (if default
+ (if (and default (get-buffer default))
(progn
(setq iswitchb-temp-buflist
(delete default iswitchb-temp-buflist))
In GNU Emacs 23.3.1 (i386-mingw-nt6.1.7601)
of 2011-03-10 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 6.1.7601
configured using `configure --with-gcc (4.5) --no-opt --cflags
-Ic:/imagesupport/include'
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer
2011-08-26 0:27 bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer Paul Du Bois
@ 2011-09-03 19:14 ` Glenn Morris
2011-09-07 21:51 ` Paul Du Bois
0 siblings, 1 reply; 6+ messages in thread
From: Glenn Morris @ 2011-09-03 19:14 UTC (permalink / raw)
To: Paul Du Bois; +Cc: 9378
"Paul Du Bois" wrote:
> emacs -Q
> (require 'iswitchb)
> (setq read-buffer-function 'iswitchb-read-buffer)
> (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup)
> find several files
> C-x b C-k C-k
>
> After the first C-k, the buffer is deleted, but remains at the
> head of the iswitchb list. The second C-k produces an error
> "No buffer named <the buffer that was just killed>"
I'm not sure this matters, because if you change the recipe to start:
emacs -Q -f iswitchb-mode \
--eval "(setq read-buffer-function 'iswitchb-read-buffer)"
ie, use iswitchb-mode rather than just adding to minibuffer-setup-hook,
there is no such error. The difference seems to be that C-x b runs
iswitch-buffer in that case rather than switch-buffer.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer
2011-09-03 19:14 ` Glenn Morris
@ 2011-09-07 21:51 ` Paul Du Bois
2011-09-08 1:28 ` Glenn Morris
0 siblings, 1 reply; 6+ messages in thread
From: Paul Du Bois @ 2011-09-07 21:51 UTC (permalink / raw)
Cc: 9378
> "Paul Du Bois" wrote:
> > emacs -Q
> > (require 'iswitchb)
> > (setq read-buffer-function 'iswitchb-read-buffer)
> > (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup)
> > find several files
> > C-x b C-k C-k
> >
> > After the first C-k, the buffer is deleted, but remains at the
> > head of the iswitchb list. The second C-k produces an error
> > "No buffer named <the buffer that was just killed>"
Glen Morris wrote:
> I'm not sure this matters, because if you change the recipe to start:
>
> emacs -Q -f iswitchb-mode \
> --eval "(setq read-buffer-function 'iswitchb-read-buffer)"
>
> ie, use iswitchb-mode rather than just adding to
minibuffer-setup-hook,
> there is no such error. The difference seems to be that C-x b runs
> iswitch-buffer in that case rather than switch-buffer.
Ah. iswitchb-mode must have been added after I set up iswitchb
(which I've been using for many years) I was most likely following
this advice which is still in the file header comment block as of emacs
23:
;; Replacement for read-buffer
;; iswitchb-read-buffer has been written to be a drop in replacement
;; for the normal buffer selection routine `read-buffer'. To use
;; iswitch for all buffer selections in Emacs, add:
;; (setq read-buffer-function 'iswitchb-read-buffer)
I'll switch over, but from some experimentation, it seems like using
read-buffer-function no longer
works properly (for example, without the minibuffer-setup-hook,
iswitchb-read-buffer
is even less functional than the default). Perhaps that comment should
be removed?
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer
2011-09-07 21:51 ` Paul Du Bois
@ 2011-09-08 1:28 ` Glenn Morris
2014-02-07 3:29 ` Lars Ingebrigtsen
0 siblings, 1 reply; 6+ messages in thread
From: Glenn Morris @ 2011-09-08 1:28 UTC (permalink / raw)
To: Paul Du Bois; +Cc: 9378
"Paul Du Bois" wrote:
> this advice which is still in the file header comment block as of emacs
> 23:
>
> ;; Replacement for read-buffer
>
> ;; iswitchb-read-buffer has been written to be a drop in replacement
> ;; for the normal buffer selection routine `read-buffer'. To use
> ;; iswitch for all buffer selections in Emacs, add:
> ;; (setq read-buffer-function 'iswitchb-read-buffer)
>
> I'll switch over, but from some experimentation, it seems like using
> read-buffer-function no longer works properly (for example, without
> the minibuffer-setup-hook, iswitchb-read-buffer is even less
> functional than the default). Perhaps that comment should be removed?
I don't use iswitchb, but I thought that comment was describing
something extra you can optionally do, beyond what iswitchb-mode (which
is mentioned at the start of the commentary) does by default.
lispref/minibuf.texi still refers to this, so would also need updating
if this is incorrect.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-02-07 3:38 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-26 0:27 bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer Paul Du Bois
2011-09-03 19:14 ` Glenn Morris
2011-09-07 21:51 ` Paul Du Bois
2011-09-08 1:28 ` Glenn Morris
2014-02-07 3:29 ` Lars Ingebrigtsen
2014-02-07 3:38 ` Drew Adams
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).