* bug#7645: 23.2; ido commands failed to execute if there is some killed buffer @ 2010-12-15 6:07 Abaw 2010-12-15 8:29 ` Glenn Morris 0 siblings, 1 reply; 7+ messages in thread From: Abaw @ 2010-12-15 6:07 UTC (permalink / raw) To: 7645 [-- Attachment #1.1: Type: text/plain, Size: 1496 bytes --] Hi maintainers, ido commands that finally calls ``ido-make-buffer-list'' would fail to execute if there is some killed buffer returned by ``buffer-list''. Because (buffer-name a-killed-buffer) will return nil, ``ido-ignore-item-p'' fail to treat it as a stream. My solution is to return non-nil if name passed to ``ido-ignore-item-p'' is nil. The attachment is the patch I made for ido.el. In GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0) of 2010-08-15 on raven, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.60900000 configured using `configure '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil 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: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t [-- Attachment #1.2: Type: text/html, Size: 1854 bytes --] [-- Attachment #2: ido.el.patch --] [-- Type: application/octet-stream, Size: 437 bytes --] --- ido.orig.el 2010-12-15 13:44:36.000000000 +0800 +++ ido.el 2010-12-15 13:44:49.000000000 +0800 @@ -3768,7 +3768,8 @@ (defun ido-ignore-item-p (name re-list &optional ignore-ext) ;; Return t if the buffer or file NAME should be ignored. - (or (member name ido-ignore-item-temp-list) + (or (null name) + (member name ido-ignore-item-temp-list) (and ido-process-ignore-lists re-list (save-match-data ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#7645: 23.2; ido commands failed to execute if there is some killed buffer 2010-12-15 6:07 bug#7645: 23.2; ido commands failed to execute if there is some killed buffer Abaw @ 2010-12-15 8:29 ` Glenn Morris [not found] ` <AANLkTimtHeYp1YzjUu3gPH=5+ax1rY8GiMN+g4yr8dq7@mail.gmail.com> 0 siblings, 1 reply; 7+ messages in thread From: Glenn Morris @ 2010-12-15 8:29 UTC (permalink / raw) To: Abaw; +Cc: 7645 Abaw wrote: > ido commands that finally calls ``ido-make-buffer-list'' would fail > to execute if there is some killed buffer returned by ``buffer-list''. But buffer-list doesn't return killed buffers: "Return a list of all existing live buffers." ? ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <AANLkTimtHeYp1YzjUu3gPH=5+ax1rY8GiMN+g4yr8dq7@mail.gmail.com>]
* bug#7645: Fwd: bug#7645: 23.2; ido commands failed to execute if there is some killed buffer [not found] ` <AANLkTimtHeYp1YzjUu3gPH=5+ax1rY8GiMN+g4yr8dq7@mail.gmail.com> @ 2010-12-15 15:31 ` Abaw 2011-01-22 20:03 ` Chong Yidong 0 siblings, 1 reply; 7+ messages in thread From: Abaw @ 2010-12-15 15:31 UTC (permalink / raw) To: 7645 [-- Attachment #1: Type: text/plain, Size: 1218 bytes --] ---------- Forwarded message ---------- From: Abaw <abawwu@gmail.com> Date: Wed, Dec 15, 2010 at 11:29 PM Subject: Re: bug#7645: 23.2; ido commands failed to execute if there is some killed buffer To: Glenn Morris <rgm@gnu.org> Hi, It rarely(less than 1 time per month) returns killed buffers, but it does. Maybe some of my used packages referenced the killed buffers. The elisp reference manual has mentioned about this behavior: http://www.gnu.org/software/emacs/manual/html_node/elisp/Killing-Buffers.html#Killing-Buffers The buffer object for the buffer that has been killed remains in existence as long as anything refers to it, but it is specially marked so that you cannot make it current or display it. Killed buffers retain their identity, however; if you kill two distinct buffers, they remain distinct according to eq although both are dead. Sincerely yours, Ken. On Wed, Dec 15, 2010 at 4:29 PM, Glenn Morris <rgm@gnu.org> wrote: > Abaw wrote: > > > ido commands that finally calls ``ido-make-buffer-list'' would fail > > to execute if there is some killed buffer returned by ``buffer-list''. > > But buffer-list doesn't return killed buffers: > "Return a list of all existing live buffers." > > ? > [-- Attachment #2: Type: text/html, Size: 2504 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#7645: Fwd: bug#7645: 23.2; ido commands failed to execute if there is some killed buffer 2010-12-15 15:31 ` bug#7645: Fwd: " Abaw @ 2011-01-22 20:03 ` Chong Yidong 2011-04-27 8:28 ` Leo 0 siblings, 1 reply; 7+ messages in thread From: Chong Yidong @ 2011-01-22 20:03 UTC (permalink / raw) To: Abaw; +Cc: 7645 Abaw <abawwu@gmail.com> writes: > [buffer-list] rarely(less than 1 time per month) returns killed > buffers, but it does. Maybe some of my used packages referenced the > killed buffers. If so, that would be a bug. `buffer-list' returns the contents of a list of live buffers maintained internally by Emacs. When a buffer is killed, it should be simultaneously removed from this internal list. > The elisp reference manual has mentioned about this behavior: > http://www.gnu.org/software/emacs/manual/html_node/elisp/Killing-Buffers. > html#Killing-Buffers > > The buffer object for the buffer that has been killed remains in > existence as long as anything refers to it, but it is specially marked > so that you cannot make it current or display it. Killed buffers > retain their identity, however; if you kill two distinct buffers, they > remain distinct according to eq although both are dead. This is a separate issue. The buffer object remains in existence, but it should always be removed from the list of live buffers. Do you happen to have a Lisp backtrace of this error? ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#7645: 23.2; ido commands failed to execute if there is some killed buffer 2011-01-22 20:03 ` Chong Yidong @ 2011-04-27 8:28 ` Leo 2011-04-27 12:58 ` Drew Adams 2011-04-27 13:35 ` martin rudalics 0 siblings, 2 replies; 7+ messages in thread From: Leo @ 2011-04-27 8:28 UTC (permalink / raw) To: Chong Yidong; +Cc: Abaw, 7645 On 2011-01-23 04:03 +0800, Chong Yidong wrote: > Abaw <abawwu@gmail.com> writes: > >> [buffer-list] rarely(less than 1 time per month) returns killed >> buffers, but it does. Maybe some of my used packages referenced the >> killed buffers. > > If so, that would be a bug. `buffer-list' returns the contents of a > list of live buffers maintained internally by Emacs. When a buffer is > killed, it should be simultaneously removed from this internal list. I have seen this bug too due to (buffer-list t) returning killed buffers. Unfortunately this isn't easy to reproduce. Leo ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#7645: 23.2; ido commands failed to execute if there is some killed buffer 2011-04-27 8:28 ` Leo @ 2011-04-27 12:58 ` Drew Adams 2011-04-27 13:35 ` martin rudalics 1 sibling, 0 replies; 7+ messages in thread From: Drew Adams @ 2011-04-27 12:58 UTC (permalink / raw) To: 'Leo', 'Chong Yidong'; +Cc: 'Abaw', 7645 > >> [buffer-list] rarely(less than 1 time per month) returns killed > >> buffers, but it does. Maybe some of my used packages > >> referenced the killed buffers. > > I have seen this bug too due to (buffer-list t) returning killed > buffers. Unfortunately this isn't easy to reproduce. 1+ Happens to me too, and it's not so rare as once a month. This has been mentioned in other bug threads, BTW. Haven't seen a recipe yet. ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#7645: 23.2; ido commands failed to execute if there is some killed buffer 2011-04-27 8:28 ` Leo 2011-04-27 12:58 ` Drew Adams @ 2011-04-27 13:35 ` martin rudalics 1 sibling, 0 replies; 7+ messages in thread From: martin rudalics @ 2011-04-27 13:35 UTC (permalink / raw) To: Leo; +Cc: Chong Yidong, 7645, Abaw > I have seen this bug too due to (buffer-list t) returning killed > buffers. Unfortunately this isn't easy to reproduce. Calling `buffer-list' with argument t is like calling it with no argument at all ;-) BTW, I'm running all my Emacsen for more than a month with (defun check-buffer-list () (dolist (buffer (buffer-list)) (unless (buffer-live-p buffer) (message "Dead buffer %s" buffer)))) (add-hook 'post-command-hook 'check-buffer-list t) and didn't find anything so far. So please check whether the behavior you observe might be caused by some other function. martin ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-04-27 13:35 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-12-15 6:07 bug#7645: 23.2; ido commands failed to execute if there is some killed buffer Abaw 2010-12-15 8:29 ` Glenn Morris [not found] ` <AANLkTimtHeYp1YzjUu3gPH=5+ax1rY8GiMN+g4yr8dq7@mail.gmail.com> 2010-12-15 15:31 ` bug#7645: Fwd: " Abaw 2011-01-22 20:03 ` Chong Yidong 2011-04-27 8:28 ` Leo 2011-04-27 12:58 ` Drew Adams 2011-04-27 13:35 ` martin rudalics
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).