1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

(Fformat_mode_line): New arg BUFFER says which buffer to use.

This commit is contained in:
Richard M. Stallman 2004-09-09 01:30:38 +00:00
parent a13cf3bc9a
commit 5670531ed8
2 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2004-09-08 Richard M. Stallman <rms@gnu.org>
* xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
* minibuf.c (history_delete_duplicates): New variable.

View File

@ -15794,15 +15794,16 @@ store_mode_line_string (string, lisp_string, copy_string, field_width, precision
DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line,
0, 3, 0,
0, 4, 0,
doc: /* Return the mode-line of selected window as a string.
First optional arg FORMAT specifies a different format string (see
`mode-line-format' for details) to use. If FORMAT is t, return
the buffer's header-line. Second optional arg WINDOW specifies a
different window to use as the context for the formatting.
If third optional arg NO-PROPS is non-nil, string is not propertized. */)
(format, window, no_props)
Lisp_Object format, window, no_props;
If third optional arg NO-PROPS is non-nil, string is not propertized.
Fourth optional arg BUFFER specifies which buffer to use. */)
(format, window, no_props, buffer)
Lisp_Object format, window, no_props, buffer;
{
struct it it;
int len;
@ -15814,12 +15815,16 @@ If third optional arg NO-PROPS is non-nil, string is not propertized. */)
window = selected_window;
CHECK_WINDOW (window);
w = XWINDOW (window);
CHECK_BUFFER (w->buffer);
if (XBUFFER (w->buffer) != current_buffer)
if (NILP (buffer))
buffer = w->buffer;
CHECK_BUFFER (buffer);
if (XBUFFER (buffer) != current_buffer)
{
old_buffer = current_buffer;
set_buffer_internal_1 (XBUFFER (w->buffer));
set_buffer_internal_1 (XBUFFER (buffer));
}
if (NILP (format) || EQ (format, Qt))