15969 |
|
|
15970 |
|
|
15971 |
DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line, |
DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line, |
15972 |
0, 4, 0, |
1, 4, 0, |
15973 |
doc: /* Return the mode-line of selected window as a string. |
doc: /* Return the mode-line of selected window as a string. |
15974 |
First optional arg FORMAT specifies the mode line format (see |
First arg FORMAT specifies the mode line format (see `mode-line-format' for |
15975 |
`mode-line-format' for details) to use. If FORMAT is t, return |
details) to use. Second optional arg WINDOW specifies a different window to |
15976 |
the buffer's header-line. Second optional arg WINDOW specifies a |
use as the context for the formatting. If third optional arg NO-PROPS is |
15977 |
different window to use as the context for the formatting. |
non-nil, string is not propertized. Fourth optional arg BUFFER specifies |
15978 |
If third optional arg NO-PROPS is non-nil, string is not propertized. |
which buffer to use. */) |
|
Fourth optional arg BUFFER specifies which buffer to use. */) |
|
15979 |
(format, window, no_props, buffer) |
(format, window, no_props, buffer) |
15980 |
Lisp_Object format, window, no_props, buffer; |
Lisp_Object format, window, no_props, buffer; |
15981 |
{ |
{ |
16001 |
set_buffer_internal_1 (XBUFFER (buffer)); |
set_buffer_internal_1 (XBUFFER (buffer)); |
16002 |
} |
} |
16003 |
|
|
|
if (NILP (format) || EQ (format, Qt)) |
|
|
{ |
|
|
face_id = (NILP (format) |
|
|
? CURRENT_MODE_LINE_FACE_ID (w) |
|
|
: HEADER_LINE_FACE_ID); |
|
|
format = (NILP (format) |
|
|
? current_buffer->mode_line_format |
|
|
: current_buffer->header_line_format); |
|
|
} |
|
|
|
|
16004 |
init_iterator (&it, w, -1, -1, NULL, face_id); |
init_iterator (&it, w, -1, -1, NULL, face_id); |
16005 |
|
|
16006 |
if (NILP (no_props)) |
if (NILP (no_props)) |