[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xdisp.c
From: |
Richard M . Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/xdisp.c |
Date: |
Wed, 12 Jan 2005 00:56:18 -0500 |
Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.960 emacs/src/xdisp.c:1.961
*** emacs/src/xdisp.c:1.960 Mon Jan 10 13:34:53 2005
--- emacs/src/xdisp.c Wed Jan 12 05:06:46 2005
***************
*** 15978,16004 ****
DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line,
! 1, 4, 0,
doc: /* Return the mode-line of selected window as a string.
First arg FORMAT specifies the mode line format (see `mode-line-format' for
! details) to use. 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. 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;
struct window *w;
struct buffer *old_buffer = NULL;
! enum face_id face_id = DEFAULT_FACE_ID;
if (NILP (window))
window = selected_window;
CHECK_WINDOW (window);
w = XWINDOW (window);
if (NILP (buffer))
buffer = w->buffer;
--- 15978,16027 ----
DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line,
! 1, 5, 0,
doc: /* Return the mode-line of selected window as a string.
First arg FORMAT specifies the mode line format (see `mode-line-format' for
! details) to use. Second (optional) arg WINDOW specifies the window to
! use as the context for the formatting (default is the selected window).
!
! If third (optional) arg NO-PROPS is non-nil, the value string has
! no text properties. The fourth (optional) arg BUFFER specifies
! which buffer to use (default, the current buffer).
!
! Fifth (optional) arg FACE specifies the face property to put
! on all characters for which no face is specified.
! t means whatever face the window's mode line currently uses
! \(either `mode-line' or `mode-line-inactive', depending).
! nil means the default is no face property. */)
! (format, window, no_props, buffer, face)
! Lisp_Object format, window, no_props, buffer, face;
{
struct it it;
int len;
struct window *w;
struct buffer *old_buffer = NULL;
! enum face_id face_id;
if (NILP (window))
window = selected_window;
CHECK_WINDOW (window);
w = XWINDOW (window);
+ if (EQ (face, Qt))
+ face = (EQ (window, selected_window) ? Qmode_line : Qmode_line_inactive);
+
+ if (!NILP (face))
+ {
+ Lisp_Object tem = Fget (face, Qface);
+ if (INTEGERP (tem))
+ face_id = XINT (tem);
+ else
+ {
+ face = Qnil;
+ face_id = DEFAULT_FACE_ID;
+ }
+ }
+
if (NILP (buffer))
buffer = w->buffer;
***************
*** 16010,16023 ****
set_buffer_internal_1 (XBUFFER (buffer));
}
init_iterator (&it, w, -1, -1, NULL, face_id);
if (NILP (no_props))
{
! mode_line_string_face
! = (face_id == MODE_LINE_FACE_ID ? Qmode_line
! : face_id == MODE_LINE_INACTIVE_FACE_ID ? Qmode_line_inactive
! : face_id == HEADER_LINE_FACE_ID ? Qheader_line : Qnil);
mode_line_string_face_prop
= (NILP (mode_line_string_face) ? Qnil
--- 16033,16048 ----
set_buffer_internal_1 (XBUFFER (buffer));
}
+ if (NILP (format) || EQ (format, Qt))
+ face_id = (NILP (format)
+ ? CURRENT_MODE_LINE_FACE_ID (w)
+ : HEADER_LINE_FACE_ID);
+
init_iterator (&it, w, -1, -1, NULL, face_id);
if (NILP (no_props))
{
! mode_line_string_face = face;
mode_line_string_face_prop
= (NILP (mode_line_string_face) ? Qnil
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M . Stallman, 2005/01/04
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M . Stallman, 2005/01/06
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/07
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/08
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/09
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/10
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Stefan Monnier, 2005/01/10
- [Emacs-diffs] Changes to emacs/src/xdisp.c,
Richard M . Stallman <=
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/13
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/21
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/22
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/22
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/24
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Steven Tamm, 2005/01/24
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/24
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/26
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F . Storm, 2005/01/27