[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xdisp.c
From: |
Kim F . Storm |
Subject: |
[Emacs-diffs] Changes to emacs/src/xdisp.c |
Date: |
Thu, 13 Jan 2005 05:09:24 -0500 |
Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.961 emacs/src/xdisp.c:1.962
*** emacs/src/xdisp.c:1.961 Wed Jan 12 05:06:46 2005
--- emacs/src/xdisp.c Thu Jan 13 09:36:01 2005
***************
*** 15978,16031 ****
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;
!
! CHECK_BUFFER (buffer);
if (XBUFFER (buffer) != current_buffer)
{
--- 15978,16032 ----
DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line,
! 1, 4, 0,
! doc: /* Format a string out of a mode line format specification.
! First arg FORMAT specifies the mode line format (see `mode-line-format'
! for details) to use.
! Optional second 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.
! If FACE is an integer, the value string has no text properties.
!
! Optional third and fourth args WINDOW and BUFFER specify the window
! and buffer to use as the context for the formatting (defaults
! are the selected window and the window's buffer). */)
! (format, face, window, buffer)
! Lisp_Object format, face, window, buffer;
{
struct it it;
int len;
struct window *w;
struct buffer *old_buffer = NULL;
! int face_id = -1;
! int no_props = INTEGERP (face);
if (NILP (window))
window = selected_window;
CHECK_WINDOW (window);
w = XWINDOW (window);
! if (NILP (buffer))
! buffer = w->buffer;
! CHECK_BUFFER (buffer);
!
! if (NILP (format))
! return build_string ("");
!
! if (no_props)
! face = Qnil;
if (!NILP (face))
{
! if (EQ (face, Qt))
! face = (EQ (window, selected_window) ? Qmode_line :
Qmode_line_inactive);
! face_id = lookup_named_face (XFRAME (WINDOW_FRAME (w)), face, 0, 0);
}
! if (face_id < 0)
! face_id = DEFAULT_FACE_ID;
if (XBUFFER (buffer) != current_buffer)
{
***************
*** 16033,16052 ****
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
! : Fcons (Qface, Fcons (mode_line_string_face, Qnil)));
/* We need a dummy last element in mode_line_string_list to
indicate we are building the propertized mode-line string.
--- 16034,16046 ----
set_buffer_internal_1 (XBUFFER (buffer));
}
init_iterator (&it, w, -1, -1, NULL, face_id);
! if (!no_props)
{
mode_line_string_face = face;
mode_line_string_face_prop
! = (NILP (face) ? Qnil : Fcons (Qface, Fcons (face, Qnil)));
/* We need a dummy last element in mode_line_string_list to
indicate we are building the propertized mode-line string.
***************
*** 16069,16075 ****
if (old_buffer)
set_buffer_internal_1 (old_buffer);
! if (NILP (no_props))
{
Lisp_Object str;
mode_line_string_list = Fnreverse (mode_line_string_list);
--- 16063,16069 ----
if (old_buffer)
set_buffer_internal_1 (old_buffer);
! if (!no_props)
{
Lisp_Object str;
mode_line_string_list = Fnreverse (mode_line_string_list);
- [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, 2005/01/12
- [Emacs-diffs] Changes to emacs/src/xdisp.c,
Kim F . Storm <=
- [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