unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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

* bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer
  2011-09-08  1:28     ` Glenn Morris
@ 2014-02-07  3:29       ` Lars Ingebrigtsen
  2014-02-07  3:38         ` Drew Adams
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2014-02-07  3:29 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 9378, Paul Du Bois

iswitchb is an obsolete package, so I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#9378: 23.3; iswitchb-make-buflist returns a nonexistent buffer
  2014-02-07  3:29       ` Lars Ingebrigtsen
@ 2014-02-07  3:38         ` Drew Adams
  0 siblings, 0 replies; 6+ messages in thread
From: Drew Adams @ 2014-02-07  3:38 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Glenn Morris; +Cc: 9378, Paul Du Bois

> iswitchb is an obsolete package, so I'm closing this bug report.

See my reply to the same statement made for bug #3713.
Where does it say that iswitchb is an obsolete package?





^ 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).