unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "John Paul Wallington" <jpw@pobox.com>
Cc: rms@gnu.org, emacs-devel@gnu.org
Subject: Re: [offby1@blarg.net: ibuffer's "s v" doesn't redraw buffer]
Date: Sat, 26 Aug 2006 14:13:20 +0100	[thread overview]
Message-ID: <ad37a8ac0608260613o460caf2fg1c1e50e00fcc4dbb@mail.gmail.com> (raw)
In-Reply-To: <871wr48n1p.fsf@stupidchicken.com>

On 8/25/06, Chong Yidong <cyd@stupidchicken.com> wrote:
> > * I started emacs with "emacs -Q"
> > * I loaded ibuffer: M-x load-library<return>ibuffer<return>
> > * I ran ibuffer: M-x ibuffer<return>
> > * I sorted the buffer by major mode: s m
> >
> > I note that after I type the "m", the buffer is immediately redrawn,
> > with the entries in their new order.
> >
> > * I sorted the buffer by recency: s v
> >
> > I note that the buffer hasn't changed.
>
> The problem was that ibuffer-do-sort-by-recency is not defined with
> define-ibuffer-sorter, for some reason obscure to me.  Therefore it is
> not on ibuffer-sorting-functions-alist, so the call to
> ibuffer-sort-bufferlist in ibuffer-redisplay-engine fails (the error
> is caught by an unwind-protect).
>
> This hack will remove the bug, but I'm not familiar enough with
> ibuffer to know if it's the right approach.
>
> *** emacs/lisp/ibuffer.el.~1.83.~       2006-07-24 11:48:53.000000000 -0400
> --- emacs/lisp/ibuffer.el       2006-08-25 18:22:00.000000000 -0400
> ***************
> *** 1972,1983 ****
>                (not (eq ibuffer-buf buf))))))
>
>  ;; This function is a special case; it's not defined by
> ! ;; `ibuffer-define-sorter'.
>  (defun ibuffer-do-sort-by-recency ()
>    "Sort the buffers by last view time."
>    (interactive)
>    (setq ibuffer-sorting-mode 'recency)
> !   (ibuffer-redisplay t))
>
>  (defun ibuffer-update-format ()
>    (when (null ibuffer-current-format)
> --- 1972,1983 ----
>                (not (eq ibuffer-buf buf))))))
>
>  ;; This function is a special case; it's not defined by
> ! ;; `define-ibuffer-sorter'.
>  (defun ibuffer-do-sort-by-recency ()
>    "Sort the buffers by last view time."
>    (interactive)
>    (setq ibuffer-sorting-mode 'recency)
> !   (ibuffer-update nil t))
>
>  (defun ibuffer-update-format ()
>    (when (null ibuffer-current-format)

That change looks good, although I haven't tested it.  Could you
please install it?

  parent reply	other threads:[~2006-08-26 13:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-25 20:24 [offby1@blarg.net: ibuffer's "s v" doesn't redraw buffer] Richard Stallman
2006-08-25 22:31 ` Chong Yidong
2006-08-26 12:22   ` Richard Stallman
2006-08-26 13:13   ` John Paul Wallington [this message]
2006-08-28 15:42     ` Chong Yidong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad37a8ac0608260613o460caf2fg1c1e50e00fcc4dbb@mail.gmail.com \
    --to=jpw@pobox.com \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).