[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays eve
From: |
Francis Litterio |
Subject: |
Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly! |
Date: |
Wed, 08 Sep 2004 14:21:46 -0400 |
User-agent: |
Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (windows-nt) |
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
address@hidden
http://world.std.com/~franl/
GPG and PGP public keys available on keyservers.
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, (continued)
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Richard Stallman, 2004/09/05
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Francis Litterio, 2004/09/08
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Kevin Rodgers, 2004/09/08
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!,
Francis Litterio <=
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Richard Stallman, 2004/09/09
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Stephan Stahl, 2004/09/09
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Richard Stallman, 2004/09/09
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Francis Litterio, 2004/09/09
- Re: CVS Emacs list-buffer-noselect calls set-window-buffer, displays every buffer briefly!, Stephan Stahl, 2004/09/09