all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Francis Litterio <franl@world.std.com>
Cc: Kevin Rodgers <ihs_4664@yahoo.com>
Subject: Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!
Date: Wed, 08 Sep 2004 14:21:46 -0400	[thread overview]
Message-ID: <uacw0ehfb.fsf@world.std.com> (raw)
In-Reply-To: <413F3168.8090502@yahoo.com> (Kevin Rodgers's message of "Wed, 08 Sep 2004 10:20:56 -0600")

Kevin Rodgers wrote:

> Francis Litterio wrote:

>  > I think this solves the puzzle, though we have to decide if
>  > list-buffers-noselect should continue to call set-window-buffer, given
>  > that set-window-buffer calls the hooks on window-scroll-functions.
>
> Would it be reasonable for list-buffers-noselect to let-bind
> window-scroll-functions to nil?

RMS's patch adds a BUFFER argument to format-mode-line, which makes it
possible to avoid calling set-window-buffer in list-buffers-noselect, as
follows:

--- buff-menu.el	02 Sep 2004 10:36:13 -0400	1.67
+++ buff-menu.el	08 Sep 2004 14:32:06 -0400	
@@ -641,10 +641,10 @@
 		       (save-window-excursion
 			 (setq name (buffer-name)
 			       mode (progn
-				      (set-window-buffer (selected-window) buffer)
-				      (concat (format-mode-line mode-name)
+				      (concat (format-mode-line mode-name nil nil buffer)
 					      (if mode-line-process
-						  (format-mode-line mode-line-process))))
+						  (format-mode-line mode-line-process nil nil
+								    buffer))))
 			       file (buffer-file-name)))
 		       (cond
 			;; Don't mention internal buffers.

That is probably the optimal solution.  I would also suggest changing
the docstring for set-window-buffer to mention that it runs the hooks on
window-scroll-functions.  This patch makes that change:

--- window.c	02 Sep 2004 10:37:48 -0400	1.477
+++ window.c	08 Sep 2004 14:25:44 -0400	
@@ -3057,7 +3057,9 @@
 Optional third arg KEEP-MARGINS non-nil means that WINDOW's current
 display margins, fringe widths, and scroll bar settings are maintained;
 the default is to reset these from BUFFER's local settings or the frame
-defaults.  */)
+defaults.
+
+This function calls the functions on the hook window-scroll-functions.  */)
      (window, buffer, keep_margins)
      register Lisp_Object window, buffer, keep_margins;
 {

Hope this helps.
--
Francis Litterio
franl@world.std.com
http://world.std.com/~franl/
GPG and PGP public keys available on keyservers.

  reply	other threads:[~2004-09-08 18:21 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-05  5:12 CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly! Richard Stallman
2004-09-07 15:42 ` Francis Litterio
2004-09-08  0:22   ` Richard Stallman
2004-09-08 14:36 ` Francis Litterio
2004-09-09  4:02   ` Richard Stallman
2004-09-09 15:46     ` Francis Litterio
2004-09-08 15:02 ` Francis Litterio
2004-09-08 16:20   ` Kevin Rodgers
2004-09-08 18:21     ` Francis Litterio [this message]
2004-09-09  4:03       ` Richard Stallman
2004-09-09  8:23       ` Stephan Stahl
2004-09-09 15:41         ` Francis Litterio
2004-09-09 16:13           ` Stephan Stahl
2004-09-09 15:45         ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2004-09-02 18:59 Francis Litterio
2004-09-02 19:57 ` Stefan Monnier
2004-09-02 20:07   ` Francis Litterio
2004-09-02 20:48     ` Stefan Monnier
2004-09-03  6:27       ` Stephan Stahl
2004-09-03 11:49         ` Francis Litterio
2004-09-04  3:28           ` Richard Stallman
2004-09-03 18:54         ` Kevin Rodgers
2004-09-04  8:42           ` Stephan Stahl
2004-09-04 19:40             ` Francis Litterio
2004-09-04 22:12           ` Richard Stallman
2004-09-03 19:15       ` Francis Litterio

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

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

  git send-email \
    --in-reply-to=uacw0ehfb.fsf@world.std.com \
    --to=franl@world.std.com \
    --cc=ihs_4664@yahoo.com \
    /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 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.