diff options
| author | Karoly Lorentey | 2004-01-25 00:43:38 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-01-25 00:43:38 +0000 |
| commit | da8e11156a5a22f6e4cdab41b4b797aaee10bd6e (patch) | |
| tree | 7ad1f34e2cbfaa55e45d1ccf27f1849cda728e30 | |
| parent | 3bbdbec9f2dd03d81d700941e5dd40da0ec3e632 (diff) | |
| download | emacs-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.c | 5 | ||||
| -rw-r--r-- | lisp/bindings.el | 2 | ||||
| -rw-r--r-- | lisp/loadup.el | 1 | ||||
| -rw-r--r-- | src/buffer.c | 2 | ||||
| -rw-r--r-- | src/cm.c | 3 | ||||
| -rw-r--r-- | src/keyboard.c | 30 | ||||
| -rw-r--r-- | src/process.c | 2 | ||||
| -rw-r--r-- | src/sysdep.c | 33 | ||||
| -rw-r--r-- | src/term.c | 69 | ||||
| -rw-r--r-- | src/termchar.h | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 8 |
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 | |||
| 285 | SIGTYPE | 288 | SIGTYPE |
| 286 | pass_signal_to_emacs (int signalnum) | 289 | pass_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 | |||
| 297 | void | 302 | void |
| 298 | init_signals (void) | 303 | init_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. |
| @@ -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 | ||
| 49 | extern char *BC, *UP; | 47 | extern char *BC, *UP; |
| 50 | 48 | ||
| 51 | |||
| 52 | int cost; /* sums up costs */ | 49 | int 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 | ||
| 10249 | static SIGTYPE | 10240 | static SIGTYPE |
| 10250 | interrupt_signal (signalnum) /* If we don't have an argument, */ | 10241 | interrupt_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. */ | ||
| 10292 | static void | 10290 | static void |
| 10293 | handle_interrupt () | 10291 | handle_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 | |||
| 6547 | void | 6549 | void |
| 6548 | add_keyboard_wait_descriptor (desc) | 6550 | add_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}; | |||
| 1322 | static struct tchars new_tchars = {-1,-1,-1,-1,-1,-1}; | 1322 | static 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 | |||
| 1325 | void | 1328 | void |
| 1326 | init_all_sys_modes (void) | 1329 | init_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 | |||
| 1333 | void | 1338 | void |
| 1334 | init_sys_modes (tty_out) | 1339 | init_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 | |||
| 1836 | void | 1844 | void |
| 1837 | reset_all_sys_modes (void) | 1845 | reset_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 | |||
| 1846 | void | 1855 | void |
| 1847 | reset_sys_modes (tty_out) | 1856 | reset_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 | |||
| 204 | void | 206 | void |
| 205 | tty_ring_bell () | 207 | tty_ring_bell () |
| 206 | { | 208 | { |
| @@ -212,7 +214,10 @@ tty_ring_bell () | |||
| 212 | : tty->TS_bell)); | 214 | : tty->TS_bell)); |
| 213 | } | 215 | } |
| 214 | 216 | ||
| 215 | void tty_set_terminal_modes (struct display *display) | 217 | /* Set up termcap modes for Emacs. */ |
| 218 | |||
| 219 | void | ||
| 220 | tty_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 | ||
| 225 | void tty_reset_terminal_modes (struct display *display) | 230 | /* Reset termcap modes before exiting Emacs. */ |
| 231 | |||
| 232 | void | ||
| 233 | tty_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 | |||
| 258 | void | 268 | void |
| 259 | tty_update_end (struct frame *f) | 269 | tty_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 | |||
| 269 | void | 284 | void |
| 270 | set_terminal_window (size) | 285 | set_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 | |||
| 281 | void | 298 | void |
| 282 | tty_set_terminal_window (int size) | 299 | tty_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. */ |
| 493 | void | 510 | void |
| 494 | clear_to_end () | 511 | clear_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 | |||
| 504 | void | 523 | void |
| 505 | tty_clear_to_end (void) | 524 | tty_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 | |||
| 539 | void | 560 | void |
| 540 | tty_clear_frame () | 561 | tty_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 | |||
| 578 | void | 603 | void |
| 579 | tty_clear_end_of_line (int first_unused_hpos) | 604 | tty_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 | |||
| 728 | void | 756 | void |
| 729 | write_glyphs (string, len) | 757 | write_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 | |||
| 741 | void | 771 | void |
| 742 | tty_write_glyphs (struct glyph *string, int len) | 772 | tty_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 | ||
| 838 | void | 870 | void |
| 839 | insert_glyphs (start, len) | 871 | insert_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 | |||
| 854 | void | 888 | void |
| 855 | tty_insert_glyphs (struct glyph *start, int len) | 889 | tty_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 | |||
| 937 | void | 973 | void |
| 938 | delete_glyphs (n) | 974 | delete_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 | |||
| 949 | void | 987 | void |
| 950 | tty_delete_glyphs (int n) | 988 | tty_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 | |||
| 997 | void | 1037 | void |
| 998 | tty_ins_del_lines (int vpos, int n) | 1038 | tty_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 | |||
| 2085 | struct display * | 2130 | struct display * |
| 2086 | get_named_tty_display (name) | 2131 | get_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 | ||
| 2163 | Returns a display of type output_initial. */ | ||
| 2164 | struct display * | 2209 | struct display * |
| 2165 | init_initial_display (void) | 2210 | init_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 | |||
| 2183 | void | 2229 | void |
| 2184 | delete_initial_display (struct display *display) | 2230 | delete_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 | |||
| 2203 | struct display * | 2250 | struct display * |
| 2204 | term_init (char *name, char *terminal_type, int must_succeed) | 2251 | term_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 | |
| 2739 | static void | 2786 | static void |
| 2740 | maybe_fatal (must_succeed, buffer, display, str1, str2, arg1, arg2) | 2787 | maybe_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 | ||
| 2803 | static int deleting_tty = 0; | 2850 | static int deleting_tty = 0; |
| 2804 | 2851 | ||
| 2852 | |||
| 2853 | /* Delete the given terminal device, closing all frames on it. */ | ||
| 2854 | |||
| 2805 | void | 2855 | void |
| 2806 | delete_tty (struct display *display) | 2856 | delete_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 | |||
| 2907 | void | 2958 | void |
| 2908 | create_tty_output (struct frame *f) | 2959 | create_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 | |||
| 2924 | void | 2976 | void |
| 2925 | delete_tty_output (struct frame *f) | 2977 | delete_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 | |||
| 2938 | void | 2991 | void |
| 2939 | mark_ttys () | 2992 | mark_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 | |||
| 2953 | struct display * | 3007 | struct display * |
| 2954 | create_display (void) | 3008 | create_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 | |||
| 2966 | void | 3021 | void |
| 2967 | delete_display (struct display *dev) | 3022 | delete_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 | |||
| 24 | struct tty_output | 25 | struct 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 | |||
| 33 | struct tty_display_info | 35 | struct 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': |