all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Sorting buffers with ibuffer
@ 2008-11-21 18:07 z0d
  2008-11-21 18:36 ` z0d
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: z0d @ 2008-11-21 18:07 UTC (permalink / raw)
  To: help-gnu-emacs

Hello,


I'm trying to sort my buffers by major-mode with ibuffer, but it seems
like it doesn't work.

I started Emacs with '-q' and then evaluated the following two lines:

(require 'ibuffer)
(setq-default ibuffer-default-sorting-mode 'major-mode)

When I do M-x ibuffer my buffers are sort by 'recency' (the default),
but the mode-line tells me 'Ibuffer by major-mode'. When I evalute
ibuffer-default-sorting-mode it's 'major-mode' as it should be. If I
cycle the sorting mode with ',' the sorting works fine thereafter. Am
I missing something?

By the way, what's the difference between 'major-mode' and 'mode-
name'? 'mode-name' isn't mentioned in the documentation, but if I
cycle through sorting modes with ',' I see it on the mode-line.

Thank you in advance.


Regards,
Peter.


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

* Re: Sorting buffers with ibuffer
  2008-11-21 18:07 Sorting buffers with ibuffer z0d
@ 2008-11-21 18:36 ` z0d
  2008-11-23  2:39   ` Juanma Barranquero
       [not found]   ` <mailman.1052.1227407986.26697.help-gnu-emacs@gnu.org>
  2008-11-22  3:07 ` Kevin Rodgers
       [not found] ` <mailman.990.1227323256.26697.help-gnu-emacs@gnu.org>
  2 siblings, 2 replies; 9+ messages in thread
From: z0d @ 2008-11-21 18:36 UTC (permalink / raw)
  To: help-gnu-emacs

On Nov 21, 7:07 pm, z0d <peter.bara...@gmail.com> wrote:
> Hello,
>
> I'm trying to sort my buffers by major-mode with ibuffer, but it seems
> like it doesn't work.

Sorry, I forget to mention that I'm using CVS Emacs, updated today.

If I (setq ibuffer-default-sorting-mode 'major-mode) instead of (setq-
default ibuffer-default-sorting-mode 'major-mode) it doesn't work
either.


Regards,
Peter.


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

* Re: Sorting buffers with ibuffer
  2008-11-21 18:07 Sorting buffers with ibuffer z0d
  2008-11-21 18:36 ` z0d
@ 2008-11-22  3:07 ` Kevin Rodgers
       [not found] ` <mailman.990.1227323256.26697.help-gnu-emacs@gnu.org>
  2 siblings, 0 replies; 9+ messages in thread
From: Kevin Rodgers @ 2008-11-22  3:07 UTC (permalink / raw)
  To: help-gnu-emacs

z0d wrote:
> By the way, what's the difference between 'major-mode' and 'mode-
> name'? 'mode-name' isn't mentioned in the documentation, but if I
> cycle through sorting modes with ',' I see it on the mode-line.

`C-h v' tells all.  Basically, major-mode's value is a symbol whose
function binding defines a major mode.  mode-line's value is a string
for display.

-- 
Kevin Rodgers
Denver, Colorado, USA





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

* Re: Sorting buffers with ibuffer
  2008-11-21 18:36 ` z0d
@ 2008-11-23  2:39   ` Juanma Barranquero
       [not found]   ` <mailman.1052.1227407986.26697.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 9+ messages in thread
From: Juanma Barranquero @ 2008-11-23  2:39 UTC (permalink / raw)
  To: z0d; +Cc: help-gnu-emacs

On Fri, Nov 21, 2008 at 19:36, z0d <peter.barabas@gmail.com> wrote:

>> I'm trying to sort my buffers by major-mode with ibuffer, but it seems
>> like it doesn't work.
>
> Sorry, I forget to mention that I'm using CVS Emacs, updated today.

Could you show us  an example?

In a recently started Emacs, with several buffers loaded through
desktop.el, doing

 M-: (setq-default ibuffer-default-sorting-mode 'major-mode) <RET>
 M-x ibuffer <RET>

produces:

 MR Name                    Size Mode             Filename/Process
 -- ----                    ---- ----             ----------------
[ Default ]
    emacsclient.c          39732 C/lah            c:/emacs/lib-src/emacsclient.c
    misc/ChangeLog        169122 Change Log       c:/emacs/doc/misc/ChangeLog
    lisp/ChangeLog        595040 Change Log       c:/emacs/lisp/ChangeLog
    bs.el                  56668 Emacs-Lisp       c:/emacs/lisp/bs.el
    server.el              52641 Emacs-Lisp       c:/emacs/lisp/server.el
  % init.el                79607 Emacs-Lisp       ~/.emacs.d/init.el
 *  *Messages*               372 Fundamental
  % *server*                   0 Fundamental
  % *info*                280500 Info
    *scratch*                  0 Lisp Interaction

which is correctly sorted by major-mode

             Juanma




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

* Re: Sorting buffers with ibuffer
       [not found] ` <mailman.990.1227323256.26697.help-gnu-emacs@gnu.org>
@ 2008-11-23 11:45   ` z0d
  0 siblings, 0 replies; 9+ messages in thread
From: z0d @ 2008-11-23 11:45 UTC (permalink / raw)
  To: help-gnu-emacs

On Nov 22, 4:07 am, Kevin Rodgers <kevin.d.rodg...@gmail.com> wrote:
> z0d wrote:
> > By the way, what's the difference between 'major-mode' and 'mode-
> > name'? 'mode-name' isn't mentioned in the documentation, but if I
> > cycle through sorting modes with ',' I see it on the mode-line.
>
> `C-h v' tells all.  Basically, major-mode's value is a symbol whose
> function binding defines a major mode.  mode-line's value is a string
> for display.

Hello,


I know what mode-line is. I meant the symbol 'mode-name, which is a
sorting mode in ibuffer.el.


Regards,
Peter.


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

* Re: Sorting buffers with ibuffer
       [not found]   ` <mailman.1052.1227407986.26697.help-gnu-emacs@gnu.org>
@ 2008-11-26  3:29     ` z0d
  2008-11-26 10:28       ` Juanma Barranquero
       [not found]       ` <mailman.1281.1227695324.26697.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 9+ messages in thread
From: z0d @ 2008-11-26  3:29 UTC (permalink / raw)
  To: help-gnu-emacs

On Nov 23, 3:39 am, "Juanma Barranquero" <lek...@gmail.com> wrote:
>
> Could you show us  an example?
>

Yes:

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



> In a recently started Emacs, with several buffers loaded through
> desktop.el, doing
>
>  M-: (setq-default ibuffer-default-sorting-mode 'major-mode) <RET>
>  M-x ibuffer <RET>
>
> produces:
>
>  MR Name                    Size Mode             Filename/Process
>  -- ----                    ---- ----             ----------------
> [ Default ]
>     emacsclient.c          39732 C/lah            c:/emacs/lib-src/emacsclient.c
>     misc/ChangeLog        169122 Change Log       c:/emacs/doc/misc/ChangeLog
>     lisp/ChangeLog        595040 Change Log       c:/emacs/lisp/ChangeLog
>     bs.el                  56668 Emacs-Lisp       c:/emacs/lisp/bs.el
>     server.el              52641 Emacs-Lisp       c:/emacs/lisp/server.el
>   % init.el                79607 Emacs-Lisp       ~/.emacs.d/init.el
>  *  *Messages*               372 Fundamental
>   % *server*                   0 Fundamental
>   % *info*                280500 Info
>     *scratch*                  0 Lisp Interaction
>
> which is correctly sorted by major-mode
>
>              Juanma



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

* Re: Sorting buffers with ibuffer
  2008-11-26  3:29     ` z0d
@ 2008-11-26 10:28       ` Juanma Barranquero
  2008-12-05  0:10         ` bug#1432: marked as done (Sorting buffers with ibuffer) Emacs bug Tracking System
       [not found]       ` <mailman.1281.1227695324.26697.help-gnu-emacs@gnu.org>
  1 sibling, 1 reply; 9+ messages in thread
From: Juanma Barranquero @ 2008-11-26 10:28 UTC (permalink / raw)
  To: z0d; +Cc: quiet, help-gnu-emacs

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




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

* Re: Sorting buffers with ibuffer
       [not found]       ` <mailman.1281.1227695324.26697.help-gnu-emacs@gnu.org>
@ 2008-11-26 18:21         ` z0d
  0 siblings, 0 replies; 9+ messages in thread
From: z0d @ 2008-11-26 18:21 UTC (permalink / raw)
  To: help-gnu-emacs

On Nov 26, 11:28 am, "Juanma Barranquero" <lek...@gmail.com> wrote:

Thank you for your help.

> Package: emacs
> Severity: minor
> X-Debbugs-CC: j...@gnu.org
>
>
>
> On Wed, Nov 26, 2008 at 04:29, z0d <peter.bara...@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))



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

* bug#1432: marked as done (Sorting buffers with ibuffer)
  2008-11-26 10:28       ` Juanma Barranquero
@ 2008-12-05  0:10         ` Emacs bug Tracking System
  0 siblings, 0 replies; 9+ messages 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] 9+ messages in thread

end of thread, other threads:[~2008-12-05  0:10 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-21 18:07 Sorting buffers with ibuffer z0d
2008-11-21 18:36 ` z0d
2008-11-23  2:39   ` Juanma Barranquero
     [not found]   ` <mailman.1052.1227407986.26697.help-gnu-emacs@gnu.org>
2008-11-26  3:29     ` z0d
2008-11-26 10:28       ` Juanma Barranquero
2008-12-05  0:10         ` bug#1432: marked as done (Sorting buffers with ibuffer) Emacs bug Tracking System
     [not found]       ` <mailman.1281.1227695324.26697.help-gnu-emacs@gnu.org>
2008-11-26 18:21         ` Sorting buffers with ibuffer z0d
2008-11-22  3:07 ` Kevin Rodgers
     [not found] ` <mailman.990.1227323256.26697.help-gnu-emacs@gnu.org>
2008-11-23 11:45   ` z0d

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.