aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2004-01-25 00:43:38 +0000
committerKaroly Lorentey2004-01-25 00:43:38 +0000
commitda8e11156a5a22f6e4cdab41b4b797aaee10bd6e (patch)
tree7ad1f34e2cbfaa55e45d1ccf27f1849cda728e30
parent3bbdbec9f2dd03d81d700941e5dd40da0ec3e632 (diff)
downloademacs-da8e11156a5a22f6e4cdab41b4b797aaee10bd6e.tar.gz
emacs-da8e11156a5a22f6e4cdab41b4b797aaee10bd6e.zip
Removed %T in mode-line-format. Trivial documentation changes.
lisp/bindings.el (mode-line-buffer-identification): Use the conditional formatting feature instead of builtin support. src/buffer.c (Vmode_line_format): Removed %T documentation. src/xdisp.c (decode_mode_spec): Removed %T processing. lib-src/emacsclient.c (pass_signal_to_emacs, init_signals): Added comment. src/cm.c: Cosmetic changes. src/termchar.h: Ditto. src/keyboard.c (interrupt_signal, handle_interrupt): Updated documentation. src/process.c (add_keyboard_wait_descriptor): Added docs. src/sysdep.c (init_all_sys_modes, init_sys_modes) (reset_all_sys_modes): Added docs. src/term.c (tty_ring_bell, tty_set_terminal_modes) (tty_reset_terminal_modes, tty_update_end, set_terminal_window) (tty_set_terminal_window, clear_to_end, tty_clear_to_end) (tty_clear_frame, tty_clear_end_of_line, write_glyphs) (tty_write_glyphs, insert_glyphs, tty_insert_glyphs, delete_glyphs) (tty_delete_glyphs, tty_ins_del_lines, get_named_tty_display) (init_initial_display, delete_tty): Added docs. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-65
-rw-r--r--lib-src/emacsclient.c5
-rw-r--r--lisp/bindings.el2
-rw-r--r--lisp/loadup.el1
-rw-r--r--src/buffer.c2
-rw-r--r--src/cm.c3
-rw-r--r--src/keyboard.c30
-rw-r--r--src/process.c2
-rw-r--r--src/sysdep.c33
-rw-r--r--src/term.c69
-rw-r--r--src/termchar.h2
-rw-r--r--src/xdisp.c8
11 files changed, 117 insertions, 40 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 6cf07d35e8a..9ab9dc30a62 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -282,6 +282,9 @@ char _sobuf[BUFSIZ];
282#endif 282#endif
283#endif 283#endif
284 284
285/* A signal handler that passes the signal to the Emacs process.
286 Useful for SIGWINCH. */
287
285SIGTYPE 288SIGTYPE
286pass_signal_to_emacs (int signalnum) 289pass_signal_to_emacs (int signalnum)
287{ 290{
@@ -294,6 +297,8 @@ pass_signal_to_emacs (int signalnum)
294 errno = old_errno; 297 errno = old_errno;
295} 298}
296 299
300/* Set up signal handlers before opening a frame on the current tty. */
301
297void 302void
298init_signals (void) 303init_signals (void)
299{ 304{
diff --git a/lisp/bindings.el b/lisp/bindings.el
index ee3a23ca78f..280ca028842 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -214,7 +214,7 @@ Major modes that edit things other than ordinary files may change this
214 214
215(make-variable-buffer-local 'mode-line-buffer-identification) 215(make-variable-buffer-local 'mode-line-buffer-identification)
216 216
217(defvar mode-line-frame-identification '("-%T ") 217(defvar mode-line-frame-identification '(window-system " " "-%F ")
218 "Mode-line control to describe the current frame.") 218 "Mode-line control to describe the current frame.")
219 219
220(defvar mode-line-process nil "\ 220(defvar mode-line-process nil "\
diff --git a/lisp/loadup.el b/lisp/loadup.el
index c64df547582..07ed6e8d463 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -190,6 +190,7 @@
190 (load "emacs-lisp/float-sup"))) 190 (load "emacs-lisp/float-sup")))
191(message "%s" (garbage-collect)) 191(message "%s" (garbage-collect))
192 192
193;; Load auxiliary settings for X displays if we support them.
193(when (fboundp 'x-create-frame) 194(when (fboundp 'x-create-frame)
194 (load "mouse") 195 (load "mouse")
195 (load "international/fontset") 196 (load "international/fontset")
diff --git a/src/buffer.c b/src/buffer.c
index d14db61c2a9..fa5a9c85c2d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5372,7 +5372,7 @@ A string is printed verbatim in the mode line except for %-constructs:
5372 (%-constructs are allowed when the string is the entire mode-line-format 5372 (%-constructs are allowed when the string is the entire mode-line-format
5373 or when it is found in a cons-cell or a list) 5373 or when it is found in a cons-cell or a list)
5374 %b -- print buffer name. %f -- print visited file name. 5374 %b -- print buffer name. %f -- print visited file name.
5375 %F -- print frame name. %T -- print frame name if on tty. 5375 %F -- print frame name.
5376 %* -- print %, * or hyphen. %+ -- print *, % or hyphen. 5376 %* -- print %, * or hyphen. %+ -- print *, % or hyphen.
5377 %& is like %*, but ignore read-only-ness. 5377 %& is like %*, but ignore read-only-ness.
5378 % means buffer is read-only and * means it is modified. 5378 % means buffer is read-only and * means it is modified.
diff --git a/src/cm.c b/src/cm.c
index 9073813dd79..24c5ecba9d9 100644
--- a/src/cm.c
+++ b/src/cm.c
@@ -23,10 +23,8 @@ Boston, MA 02111-1307, USA. */
23#include <config.h> 23#include <config.h>
24#include <stdio.h> 24#include <stdio.h>
25 25
26/* For CURTTY */
27#include "lisp.h" 26#include "lisp.h"
28#include "frame.h" 27#include "frame.h"
29
30#include "cm.h" 28#include "cm.h"
31#include "termhooks.h" 29#include "termhooks.h"
32#include "termchar.h" 30#include "termchar.h"
@@ -48,7 +46,6 @@ extern char *tgoto P_ ((const char *, int, int));
48 46
49extern char *BC, *UP; 47extern char *BC, *UP;
50 48
51
52int cost; /* sums up costs */ 49int cost; /* sums up costs */
53 50
54/* ARGSUSED */ 51/* ARGSUSED */
diff --git a/src/keyboard.c b/src/keyboard.c
index dae54ad8a79..b6f1dfa071f 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -10231,20 +10231,11 @@ clear_waiting_for_input ()
10231 input_available_clear_time = 0; 10231 input_available_clear_time = 0;
10232} 10232}
10233 10233
10234/* This routine is called at interrupt level in response to C-g. 10234/* The SIGINT handler.
10235
10236 If interrupt_input, this is the handler for SIGINT. Otherwise, it
10237 is called from kbd_buffer_store_event, in handling SIGIO or
10238 SIGTINT.
10239
10240 If `waiting_for_input' is non zero, then unless `echoing' is
10241 nonzero, immediately throw back to read_char.
10242
10243 Otherwise it sets the Lisp variable quit-flag not-nil. This causes
10244 eval to throw, when it gets a chance. If quit-flag is already
10245 non-nil, it stops the job right away.
10246 10235
10247 XXX This comment needs to be updated. */ 10236 If we have a frame on the controlling tty, the SIGINT was generated
10237 by C-g, so we call handle_interrupt. Otherwise, the handler kills
10238 Emacs. */
10248 10239
10249static SIGTYPE 10240static SIGTYPE
10250interrupt_signal (signalnum) /* If we don't have an argument, */ 10241interrupt_signal (signalnum) /* If we don't have an argument, */
@@ -10280,15 +10271,22 @@ interrupt_signal (signalnum) /* If we don't have an argument, */
10280 internal_last_event_frame = display->display_info.tty->top_frame; 10271 internal_last_event_frame = display->display_info.tty->top_frame;
10281 10272
10282 handle_interrupt (); 10273 handle_interrupt ();
10283
10284 } 10274 }
10285 10275
10286 errno = old_errno; 10276 errno = old_errno;
10287} 10277}
10288 10278
10289/* C-g processing, signal independent code. 10279/* This routine is called at interrupt level in response to C-g.
10280
10281 It is called from the SIGINT handler or kbd_buffer_store_event.
10282
10283 If `waiting_for_input' is non zero, then unless `echoing' is
10284 nonzero, immediately throw back to read_char.
10285
10286 Otherwise it sets the Lisp variable quit-flag not-nil. This causes
10287 eval to throw, when it gets a chance. If quit-flag is already
10288 non-nil, it stops the job right away. */
10290 10289
10291 XXX Expand this comment. */
10292static void 10290static void
10293handle_interrupt () 10291handle_interrupt ()
10294{ 10292{
diff --git a/src/process.c b/src/process.c
index 22f482476cb..2114d333905 100644
--- a/src/process.c
+++ b/src/process.c
@@ -6544,6 +6544,8 @@ DEFUN ("process-filter-multibyte-p", Fprocess_filter_multibyte_p,
6544 6544
6545 6545
6546 6546
6547/* Add DESC to the set of keyboard input descriptors. */
6548
6547void 6549void
6548add_keyboard_wait_descriptor (desc) 6550add_keyboard_wait_descriptor (desc)
6549 int desc; 6551 int desc;
diff --git a/src/sysdep.c b/src/sysdep.c
index d57fe146fc0..d8422b839f9 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1322,6 +1322,9 @@ static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1};
1322static struct tchars new_tchars = {-1,-1,-1,-1,-1,-1}; 1322static struct tchars new_tchars = {-1,-1,-1,-1,-1,-1};
1323#endif 1323#endif
1324 1324
1325/* Initialize the terminal mode on all tty devices that are currently
1326 open. */
1327
1325void 1328void
1326init_all_sys_modes (void) 1329init_all_sys_modes (void)
1327{ 1330{
@@ -1330,6 +1333,8 @@ init_all_sys_modes (void)
1330 init_sys_modes (tty); 1333 init_sys_modes (tty);
1331} 1334}
1332 1335
1336/* Initialize the terminal mode on the given tty device. */
1337
1333void 1338void
1334init_sys_modes (tty_out) 1339init_sys_modes (tty_out)
1335 struct tty_display_info *tty_out; 1340 struct tty_display_info *tty_out;
@@ -1833,6 +1838,9 @@ set_window_size (fd, height, width)
1833} 1838}
1834 1839
1835 1840
1841
1842/* Prepare all terminal devices for exiting Emacs. */
1843
1836void 1844void
1837reset_all_sys_modes (void) 1845reset_all_sys_modes (void)
1838{ 1846{
@@ -1843,6 +1851,7 @@ reset_all_sys_modes (void)
1843 1851
1844/* Prepare the terminal for closing it; move the cursor to the 1852/* Prepare the terminal for closing it; move the cursor to the
1845 bottom of the frame, turn off interrupt-driven I/O, etc. */ 1853 bottom of the frame, turn off interrupt-driven I/O, etc. */
1854
1846void 1855void
1847reset_sys_modes (tty_out) 1856reset_sys_modes (tty_out)
1848 struct tty_display_info *tty_out; 1857 struct tty_display_info *tty_out;
@@ -1854,11 +1863,27 @@ reset_sys_modes (tty_out)
1854 } 1863 }
1855 if (!tty_out->term_initted) 1864 if (!tty_out->term_initted)
1856 return; 1865 return;
1857 1866
1867 /* Go to and clear the last line of the terminal. */
1868
1858 cmgoto (tty_out, FrameRows (tty_out) - 1, 0); 1869 cmgoto (tty_out, FrameRows (tty_out) - 1, 0);
1859#if 0 /* XXX This doesn't work anymore, the signature has changed. */ 1870
1860 tty_clear_end_of_line (tty_out, FrameCols (tty_out)); 1871 /* Code adapted from tty_clear_end_of_line. */
1861#endif 1872 if (tty_out->TS_clr_line)
1873 {
1874 emacs_tputs (tty_out, tty_out->TS_clr_line, 1, cmputc);
1875 }
1876 else
1877 { /* have to do it the hard way */
1878 int i;
1879 turn_off_insert (tty_out);
1880
1881 for (i = curX (tty_out); i < FrameCols (tty_out) - 1; i++)
1882 {
1883 fputc (' ', TTY_OUTPUT (tty_out));
1884 }
1885 }
1886
1862 cmgoto (tty_out, FrameRows (tty_out) - 1, 0); 1887 cmgoto (tty_out, FrameRows (tty_out) - 1, 0);
1863 fflush (tty_out->output); 1888 fflush (tty_out->output);
1864 1889
diff --git a/src/term.c b/src/term.c
index f63c6c68774..65b6c158c33 100644
--- a/src/term.c
+++ b/src/term.c
@@ -201,6 +201,8 @@ ring_bell ()
201 (*FRAME_DISPLAY (f)->ring_bell_hook) (); 201 (*FRAME_DISPLAY (f)->ring_bell_hook) ();
202} 202}
203 203
204/* Ring the bell on a tty. */
205
204void 206void
205tty_ring_bell () 207tty_ring_bell ()
206{ 208{
@@ -212,7 +214,10 @@ tty_ring_bell ()
212 : tty->TS_bell)); 214 : tty->TS_bell));
213} 215}
214 216
215void tty_set_terminal_modes (struct display *display) 217/* Set up termcap modes for Emacs. */
218
219void
220tty_set_terminal_modes (struct display *display)
216{ 221{
217 struct tty_display_info *tty = display->display_info.tty; 222 struct tty_display_info *tty = display->display_info.tty;
218 223
@@ -222,7 +227,10 @@ void tty_set_terminal_modes (struct display *display)
222 losecursor (tty); 227 losecursor (tty);
223} 228}
224 229
225void tty_reset_terminal_modes (struct display *display) 230/* Reset termcap modes before exiting Emacs. */
231
232void
233tty_reset_terminal_modes (struct display *display)
226{ 234{
227 struct tty_display_info *tty = display->display_info.tty; 235 struct tty_display_info *tty = display->display_info.tty;
228 236
@@ -255,6 +263,8 @@ update_end (f)
255 updating_frame = NULL; 263 updating_frame = NULL;
256} 264}
257 265
266/* Flag the end of a display update on a termcap display. */
267
258void 268void
259tty_update_end (struct frame *f) 269tty_update_end (struct frame *f)
260{ 270{
@@ -266,6 +276,11 @@ tty_update_end (struct frame *f)
266 background_highlight (tty); 276 background_highlight (tty);
267} 277}
268 278
279/* Specify how many text lines, from the top of the window,
280 should be affected by insert-lines and delete-lines operations.
281 This, and those operations, are used only within an update
282 that is bounded by calls to update_begin and update_end. */
283
269void 284void
270set_terminal_window (size) 285set_terminal_window (size)
271 int size; 286 int size;
@@ -278,6 +293,8 @@ set_terminal_window (size)
278 (*FRAME_DISPLAY (f)->set_terminal_window_hook) (size); 293 (*FRAME_DISPLAY (f)->set_terminal_window_hook) (size);
279} 294}
280 295
296/* The implementation of set_terminal_window for termcap frames. */
297
281void 298void
282tty_set_terminal_window (int size) 299tty_set_terminal_window (int size)
283{ 300{
@@ -489,7 +506,7 @@ tty_raw_cursor_to (int row, int col)
489 506
490/* Erase operations */ 507/* Erase operations */
491 508
492/* clear from cursor to end of frame */ 509/* Clear from cursor to end of frame. */
493void 510void
494clear_to_end () 511clear_to_end ()
495{ 512{
@@ -501,6 +518,8 @@ clear_to_end ()
501 (*FRAME_DISPLAY (f)->clear_to_end_hook) (); 518 (*FRAME_DISPLAY (f)->clear_to_end_hook) ();
502} 519}
503 520
521/* Clear from cursor to end of frame on a termcap device. */
522
504void 523void
505tty_clear_to_end (void) 524tty_clear_to_end (void)
506{ 525{
@@ -536,6 +555,8 @@ clear_frame ()
536 (*FRAME_DISPLAY (f)->clear_frame_hook) (); 555 (*FRAME_DISPLAY (f)->clear_frame_hook) ();
537} 556}
538 557
558/* Clear an entire termcap frame. */
559
539void 560void
540tty_clear_frame () 561tty_clear_frame ()
541{ 562{
@@ -575,6 +596,10 @@ clear_end_of_line (first_unused_hpos)
575 (*FRAME_DISPLAY (f)->clear_end_of_line_hook) (first_unused_hpos); 596 (*FRAME_DISPLAY (f)->clear_end_of_line_hook) (first_unused_hpos);
576} 597}
577 598
599/* An implementation of clear_end_of_line for termcap frames.
600
601 Note that the cursor may be moved, on terminals lacking a `ce' string. */
602
578void 603void
579tty_clear_end_of_line (int first_unused_hpos) 604tty_clear_end_of_line (int first_unused_hpos)
580{ 605{
@@ -725,6 +750,9 @@ encode_terminal_code (src, dst, src_len, dst_len, consumed)
725} 750}
726 751
727 752
753/* Output LEN glyphs starting at STRING at the nominal cursor position.
754 Advance the nominal cursor over the text. */
755
728void 756void
729write_glyphs (string, len) 757write_glyphs (string, len)
730 register struct glyph *string; 758 register struct glyph *string;
@@ -738,6 +766,8 @@ write_glyphs (string, len)
738 (*FRAME_DISPLAY (f)->write_glyphs_hook) (string, len); 766 (*FRAME_DISPLAY (f)->write_glyphs_hook) (string, len);
739} 767}
740 768
769/* An implementation of write_glyphs for termcap frames. */
770
741void 771void
742tty_write_glyphs (struct glyph *string, int len) 772tty_write_glyphs (struct glyph *string, int len)
743{ 773{
@@ -833,7 +863,9 @@ tty_write_glyphs (struct glyph *string, int len)
833 cmcheckmagic (tty); 863 cmcheckmagic (tty);
834} 864}
835 865
836/* If start is zero, insert blanks instead of a string at start */ 866/* Insert LEN glyphs from START at the nominal cursor position.
867
868 If start is zero, insert blanks instead of a string at start */
837 869
838void 870void
839insert_glyphs (start, len) 871insert_glyphs (start, len)
@@ -851,6 +883,8 @@ insert_glyphs (start, len)
851 (*FRAME_DISPLAY (f)->insert_glyphs_hook) (start, len); 883 (*FRAME_DISPLAY (f)->insert_glyphs_hook) (start, len);
852} 884}
853 885
886/* An implementation of insert_glyphs for termcap frames. */
887
854void 888void
855tty_insert_glyphs (struct glyph *start, int len) 889tty_insert_glyphs (struct glyph *start, int len)
856{ 890{
@@ -934,6 +968,8 @@ tty_insert_glyphs (struct glyph *start, int len)
934 cmcheckmagic (tty); 968 cmcheckmagic (tty);
935} 969}
936 970
971/* Delete N glyphs at the nominal cursor position. */
972
937void 973void
938delete_glyphs (n) 974delete_glyphs (n)
939 register int n; 975 register int n;
@@ -946,6 +982,8 @@ delete_glyphs (n)
946 (*FRAME_DISPLAY (f)->delete_glyphs_hook) (n); 982 (*FRAME_DISPLAY (f)->delete_glyphs_hook) (n);
947} 983}
948 984
985/* An implementation of delete_glyphs for termcap frames. */
986
949void 987void
950tty_delete_glyphs (int n) 988tty_delete_glyphs (int n)
951{ 989{
@@ -994,6 +1032,8 @@ ins_del_lines (vpos, n)
994 (*FRAME_DISPLAY (f)->ins_del_lines_hook) (vpos, n); 1032 (*FRAME_DISPLAY (f)->ins_del_lines_hook) (vpos, n);
995} 1033}
996 1034
1035/* An implementation of ins_del_lines for termcap frames. */
1036
997void 1037void
998tty_ins_del_lines (int vpos, int n) 1038tty_ins_del_lines (int vpos, int n)
999{ 1039{
@@ -2082,6 +2122,11 @@ set_tty_color_mode (f, val)
2082 2122
2083 2123
2084 2124
2125/* Return the termcap display with the given name. If NAME is null,
2126 return the display corresponding to our controlling terminal.
2127
2128 Returns NULL if the named terminal device is not opened. */
2129
2085struct display * 2130struct display *
2086get_named_tty_display (name) 2131get_named_tty_display (name)
2087 char *name; 2132 char *name;
@@ -2159,8 +2204,8 @@ DEFUN ("frame-tty-type", Fframe_tty_type, Sframe_tty_type, 0, 1, 0,
2159 ***********************************************************************/ 2204 ***********************************************************************/
2160 2205
2161/* Create the bootstrap display device for the initial frame. 2206/* Create the bootstrap display device for the initial frame.
2207 Returns a display of type output_initial. */
2162 2208
2163Returns a display of type output_initial. */
2164struct display * 2209struct display *
2165init_initial_display (void) 2210init_initial_display (void)
2166{ 2211{
@@ -2180,6 +2225,7 @@ init_initial_display (void)
2180 2225
2181/* Deletes the bootstrap display device. 2226/* Deletes the bootstrap display device.
2182 Called through delete_display_hook. */ 2227 Called through delete_display_hook. */
2228
2183void 2229void
2184delete_initial_display (struct display *display) 2230delete_initial_display (struct display *display)
2185{ 2231{
@@ -2200,6 +2246,7 @@ delete_initial_display (struct display *display)
2200 TERMINAL_TYPE is the termcap type of the device, e.g. "vt100". 2246 TERMINAL_TYPE is the termcap type of the device, e.g. "vt100".
2201 2247
2202 If MUST_SUCCEED is true, then all errors are fatal. */ 2248 If MUST_SUCCEED is true, then all errors are fatal. */
2249
2203struct display * 2250struct display *
2204term_init (char *name, char *terminal_type, int must_succeed) 2251term_init (char *name, char *terminal_type, int must_succeed)
2205{ 2252{
@@ -2734,8 +2781,8 @@ to do `unset TERMCAP' (C-shell: `unsetenv TERMCAP') as well.",
2734 2781
2735/* Auxiliary error-handling function for term_init. 2782/* Auxiliary error-handling function for term_init.
2736 Free BUFFER and delete DISPLAY, then call error or fatal 2783 Free BUFFER and delete DISPLAY, then call error or fatal
2737 with str1 or str2, respectively, according to MUST_SUCCEED. 2784 with str1 or str2, respectively, according to MUST_SUCCEED. */
2738*/ 2785
2739static void 2786static void
2740maybe_fatal (must_succeed, buffer, display, str1, str2, arg1, arg2) 2787maybe_fatal (must_succeed, buffer, display, str1, str2, arg1, arg2)
2741 int must_succeed; 2788 int must_succeed;
@@ -2802,6 +2849,9 @@ tty. The functions are run with one arg, the frame to be deleted. */)
2802 2849
2803static int deleting_tty = 0; 2850static int deleting_tty = 0;
2804 2851
2852
2853/* Delete the given terminal device, closing all frames on it. */
2854
2805void 2855void
2806delete_tty (struct display *display) 2856delete_tty (struct display *display)
2807{ 2857{
@@ -2904,6 +2954,7 @@ delete_tty (struct display *display)
2904 2954
2905/* Initialize the tty-dependent part of frame F. The frame must 2955/* Initialize the tty-dependent part of frame F. The frame must
2906 already have its display initialized. */ 2956 already have its display initialized. */
2957
2907void 2958void
2908create_tty_output (struct frame *f) 2959create_tty_output (struct frame *f)
2909{ 2960{
@@ -2921,6 +2972,7 @@ create_tty_output (struct frame *f)
2921} 2972}
2922 2973
2923/* Delete the tty-dependent part of frame F. */ 2974/* Delete the tty-dependent part of frame F. */
2975
2924void 2976void
2925delete_tty_output (struct frame *f) 2977delete_tty_output (struct frame *f)
2926{ 2978{
@@ -2935,6 +2987,7 @@ delete_tty_output (struct frame *f)
2935 2987
2936/* Mark the pointers in the tty_display_info objects. 2988/* Mark the pointers in the tty_display_info objects.
2937 Called by the Fgarbage_collector. */ 2989 Called by the Fgarbage_collector. */
2990
2938void 2991void
2939mark_ttys () 2992mark_ttys ()
2940{ 2993{
@@ -2950,6 +3003,7 @@ mark_ttys ()
2950 3003
2951 3004
2952/* Create a new display object and add it to the display list. */ 3005/* Create a new display object and add it to the display list. */
3006
2953struct display * 3007struct display *
2954create_display (void) 3008create_display (void)
2955{ 3009{
@@ -2963,6 +3017,7 @@ create_display (void)
2963} 3017}
2964 3018
2965/* Remove a display from the display list and free its memory. */ 3019/* Remove a display from the display list and free its memory. */
3020
2966void 3021void
2967delete_display (struct display *dev) 3022delete_display (struct display *dev)
2968{ 3023{
diff --git a/src/termchar.h b/src/termchar.h
index ff5bd7bb1ad..e9efbc21fe4 100644
--- a/src/termchar.h
+++ b/src/termchar.h
@@ -21,6 +21,7 @@ Boston, MA 02111-1307, USA. */
21/* Each termcap frame points to its own struct tty_output object in 21/* Each termcap frame points to its own struct tty_output object in
22 the output_data.tty field. The tty_output structure contains the 22 the output_data.tty field. The tty_output structure contains the
23 information that is specific to termcap frames. */ 23 information that is specific to termcap frames. */
24
24struct tty_output 25struct tty_output
25{ 26{
26 /* The Emacs structure for the tty device this frame is on. */ 27 /* The Emacs structure for the tty device this frame is on. */
@@ -30,6 +31,7 @@ struct tty_output
30}; 31};
31 32
32/* Parameters that are shared between frames on the same tty device. */ 33/* Parameters that are shared between frames on the same tty device. */
34
33struct tty_display_info 35struct tty_display_info
34{ 36{
35 struct tty_display_info *next; /* Chain of all tty devices. */ 37 struct tty_display_info *next; /* Chain of all tty devices. */
diff --git a/src/xdisp.c b/src/xdisp.c
index 4b49472e1fb..0e678b34897 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -16675,14 +16675,6 @@ decode_mode_spec (w, c, field_width, precision, multibyte)
16675 return "T"; 16675 return "T";
16676#endif 16676#endif
16677 16677
16678 case 'T':
16679 /* %T is the frame name on a termcap frame, the empty string otherwise. */
16680 if (! FRAME_TERMCAP_P (f))
16681 return "";
16682 if (!NILP (f->title))
16683 return (char *) SDATA (f->title);
16684 return (char *) SDATA (f->name);
16685
16686 case 'z': 16678 case 'z':
16687 /* coding-system (not including end-of-line format) */ 16679 /* coding-system (not including end-of-line format) */
16688 case 'Z': 16680 case 'Z':