Commit 5670531e authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

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

parent a13cf3bc
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.
......
......@@ -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))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment