* bug#1432: marked as done (Sorting buffers with ibuffer)
[not found] ` <f7ccd24b0811260228j713d6481i5d5d6816164a30bd@mail.gmail.com>
@ 2008-12-05 0:10 ` Emacs bug Tracking System
0 siblings, 0 replies; only message in thread
From: Emacs bug Tracking System @ 2008-12-05 0:10 UTC (permalink / raw)
To: Juanma Barranquero
[-- Attachment #1: Type: text/plain, Size: 818 bytes --]
Your message dated Fri, 5 Dec 2008 01:03:07 +0100
with message-id <f7ccd24b0812041603h55a1d111j3dffccbf6490606c@mail.gmail.com>
and subject line
has caused the Emacs bug report #1432,
regarding Sorting buffers with ibuffer
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don@donarmstrong.com
immediately.)
--
1432: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1432
Emacs Bug Tracking System
Contact don@donarmstrong.com with problems
[-- Attachment #2: Type: message/rfc822, Size: 5035 bytes --]
From: "Juanma Barranquero" <lekktu@gmail.com>
To: z0d <peter.barabas@gmail.com>
Cc: help-gnu-emacs@gnu.org, quiet@emacsbugs.donarmstrong.com
Subject: Re: Sorting buffers with ibuffer
Date: Wed, 26 Nov 2008 11:28:39 +0100
Message-ID: <f7ccd24b0811260228j713d6481i5d5d6816164a30bd@mail.gmail.com>
Package: emacs
Severity: minor
X-Debbugs-CC: jpw@gnu.org
On Wed, Nov 26, 2008 at 04:29, z0d <peter.barabas@gmail.com> wrote:
> shell: emacs -q .emacs .ssh/config .Emacs-lisp/init-lisp.el
>
> M-: (setq-default ibuffer-default-sorting-mode 'major-mode) <RET>
> M-x ibuffer <RET>
>
> produces:
>
> MR Name Size Mode Filename/Process
> -- ---- ---- ---- ----------------
> [ Default ]
> asdf-skeleton.el 1052 Emacs-Lisp ~/.Emacs-Lisp/asdf-
> skeleton.el
> config 488 Conf[Space] ~/.ssh/config
> .emacs 13170 Emacs-Lisp ~/.emacs
> *scratch* 191 Lisp Interaction
> * *Messages* 142 Fundamental
> % *GNU Emacs* 744 Fundamental
>
> 6 buffers 15787 3 files, no
> processes
You're right.
What's happening is that, in fact, ibuffer is not sorting at all,
because there's a variable ibuffer-sorting-functions-alist that is
null at that point. That variable is initialized by code in
ibuf-ext.el; defaulting to 'recency works because that sorting order
is special-cased in ibuffer.el.
You can workaround the issue by making sure ibuf-ext is loaded, for example:
emacs -q -l ibuf-ext .emacs .ssh/config .Emacs-lisp/init-lisp.el
but I think ibuffer should take care that the sorting functions' alist
is properly stuffed.
John, I've considered the attached patch, which checks in
ibuffer-sort-bufferlist. The alternative I see is to require 'ibuf-ext
in `ibuffer-mode' if the user modified `ibuffer-default-sorting-mode',
like
(set (make-local-variable 'ibuffer-sorting-mode)
ibuffer-default-sorting-mode)
(unless (eq ibuffer-sorting-mode 'recency)
(require 'ibuf-ext))
Are you OK with one of these changes?
Juanma
Index: lisp/ibuffer.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/ibuffer.el,v
retrieving revision 1.110
diff -u -2 -r1.110 ibuffer.el
--- lisp/ibuffer.el 8 Oct 2008 05:02:09 -0000 1.110
+++ lisp/ibuffer.el 26 Nov 2008 09:56:30 -0000
@@ -2192,4 +2192,6 @@
(defun ibuffer-sort-bufferlist (bmarklist)
+ (unless ibuffer-sorting-functions-alist
+ (require 'ibuf-ext))
(let* ((sortdat (assq ibuffer-sorting-mode
ibuffer-sorting-functions-alist))
[-- Attachment #3: Type: message/rfc822, Size: 2274 bytes --]
From: "Juanma Barranquero" <lekktu@gmail.com>
To: 1432-done@emacsbugs.donarmstrong.com
Subject:
Date: Fri, 5 Dec 2008 01:03:07 +0100
Message-ID: <f7ccd24b0812041603h55a1d111j3dffccbf6490606c@mail.gmail.com>
Fixed.
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ibuffer.el?cvsroot=emacs&r1=1.110&r2=1.111
^ permalink raw reply [flat|nested] only message in thread