Mercurial > emacs
changeset 5658:4e3a6baa4750
(display_menu_bar): Add USE_X_TOOLKIT conditional.
(redisplay_window) [USE_X_TOOLKIT]: Test FRAME_EXTERNAL_MENU_BAR.
(update_menu_bar) [USE_X_TOOLKIT]: Call set_frame_menubar.
(truncate_echo_area): New function.
(decode_mode_spec) [MSDOS]: Let 't' expand to 'T' for
text mode or 'B' for binary mode.
(decode_mode_spec) [not subprocesses]: Don't access Fprocess_status.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 21 Jan 1994 20:54:57 +0000 |
parents | ac0f9da25111 |
children | 32a02ab40d58 |
files | src/xdisp.c |
diffstat | 1 files changed, 40 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Fri Jan 21 20:43:07 1994 +0000 +++ b/src/xdisp.c Fri Jan 21 20:54:57 1994 +0000 @@ -1,5 +1,5 @@ /* Display generation from window structure and buffer text. - Copyright (C) 1985, 1986, 1987, 1988, 1993 Free Software Foundation, Inc. + Copyright (C) 1985, 86, 87, 88, 93, 94 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -35,6 +35,10 @@ #include "termhooks.h" #include "intervals.h" +#ifdef USE_X_TOOLKIT +extern void set_frame_menubar (); +#endif + extern int interrupt_input; extern int command_loop_level; @@ -283,6 +287,20 @@ } } +/* Truncate what will be displayed in the echo area + the next time we display it--but don't redisplay it now. */ + +void +truncate_echo_area (len) + int len; +{ + /* A null message buffer means that the frame hasn't really been + initialized yet. Error messages get reported properly by + cmd_error, so this must be just an informative message; toss it. */ + if (!noninteractive && INTERACTIVE && FRAME_MESSAGE_BUF (selected_frame)) + echo_area_glyphs_length = len; +} + /* Nonzero if FRAME_MESSAGE_BUF (selected_frame) is being used by print; zero if being used by message. */ int message_buf_print; @@ -948,6 +966,9 @@ current_buffer = XBUFFER (w->buffer); FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (); current_buffer = prev; +#ifdef USE_X_TOOLKIT + set_frame_menubar (f); +#endif /* USE_X_TOOLKIT */ } } } @@ -1263,7 +1284,11 @@ /* When we reach a frame's selected window, redo the frame's menu bar. */ if (!NILP (w->update_mode_line) +#ifdef USE_X_TOOLKIT + && FRAME_EXTERNAL_MENU_BAR (f) +#else && FRAME_MENU_BAR_LINES (f) > 0 +#endif && EQ (FRAME_SELECTED_WINDOW (f), window)) display_menu_bar (w); @@ -2349,6 +2374,7 @@ int maxendcol = FRAME_WIDTH (f); int hpos = 0; +#ifndef USE_X_TOOLKIT if (FRAME_MENU_BAR_LINES (f) <= 0) return; @@ -2388,6 +2414,7 @@ vpos++; while (vpos < FRAME_MENU_BAR_LINES (f)) get_display_line (f, vpos++, 0); +#endif /* not USE_X_TOOLKIT */ } /* Display the mode line for window w */ @@ -2805,9 +2832,21 @@ obj = Fget_buffer_process (Fcurrent_buffer ()); if (NILP (obj)) return "no process"; +#ifdef subprocesses obj = Fsymbol_name (Fprocess_status (obj)); +#endif break; + case 't': /* indicate TEXT or BINARY */ +#ifdef MSDOS + decode_mode_spec_buf[0] + = NILP (current_buffer->buffer_file_type) ? "T" : "B"; + decode_mode_spec_buf[1] = 0; + return decode_mode_spec_buf; +#else /* not MSDOS */ + return "T"; +#endif /* not MSDOS */ + case 'p': { int pos = marker_position (w->start);