diff options
| author | Karoly Lorentey | 2003-12-27 10:00:19 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2003-12-27 10:00:19 +0000 |
| commit | fca177d467f0264cab4256a67175fc52fba42f2e (patch) | |
| tree | aac26ce7368d3cffc254b50f4474b03430f025ee /src/sysdep.c | |
| parent | 6548cf002c635f6799e2e127393128842be35632 (diff) | |
| download | emacs-fca177d467f0264cab4256a67175fc52fba42f2e.tar.gz emacs-fca177d467f0264cab4256a67175fc52fba42f2e.zip | |
Fully eliminated global tty state variables.
lib-src/emacsclient.c (main.c): Fix error message.
lisp/frame.el (make-frame-on-tty): New function.
lisp/server.el (server-process-filter): Notify emacsclient if there
was on error during evaluation.
src/cm.c: Fix remaining cases of direct Wcm references.
src/dispextern.h: Updated prototypes.
src/dispnew.c (Fredraw_frame): Fix set_terminal_modes call.
(init_display): Remove reference to meta_key.
src/frame.c (make_terminal_frame): Renamed first parameter to
tty_name. Call term_init before creating the frame.
(Fmake_terminal_frame): Look up the `tty' and `tty-type' frame
parameters from the currently selected terminal before the global
default.
(Fdelete_frame): Make sure that the new selected frame is live.
src/keyboard.c (meta_key): Moved to struct tty_output.
(read_avail_input): Fix C syntax. Update references to meta_key.
(Fsuspend_emacs): pass current tty to init_sys_modes via
record_unwind_protect.
(Fset_input_mode): Update references to meta_key.
(Fcurrent_input_mode): Ditto.
src/sysdep.c (init_sys_modes): Updated old_tty and meta_key
references. Don't call set_terminal_modes, it needs termcap strings.
(reset_sys_modes): Call tty_reset_terminal_modes instead of
reset_terminal_modes. Updated old_tty references.
src/term.c: Massive updates throuout the file.
(TS_*, TN_*): Moved to struct tty_output.
(RPov, delete_in_insert_mode se_is_so, costs_set, insert_mode): Ditto.
(standout_mode, specified_window, tty_cursor_hidden): Ditto.
(tty_set_terminal_modes, tty_reset_terminal_modes): New functions.
(turn_on_insert, turn_off_insert): Added tty parameter.
(turn_on_highlight, turn_off_highlight, toggle_highlight): Added tty parameter.
(tty_hide_cursor, tty_show_cursor): Ditto.
(background_highlight, highlight_if_desired): Ditto.
(tty_capable_p): Changed first parameter to tty_output.
(term_init): Make sure top_frame is initialized. Don't exit on errors
if this would have been a secondary terminal. Call set_terminal_modes
on the end.
(delete_tty): New function.
(delete_tty_1): New function.
(print_all_frames): New function, marginally useful for debugging.
src/termchar.h (struct tty_output): Changed old_tty to be a pointer.
Removed old_tty_valid member. Added tty-specific variables from term.c.
src/xfaces.c (Ftty_supports_face_attributes_p): Update for new
tty_capable_p.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-9
Diffstat (limited to 'src/sysdep.c')
| -rw-r--r-- | src/sysdep.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/sysdep.c b/src/sysdep.c index 946e2c1384a..ad8b5c518b1 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1362,14 +1362,15 @@ nil means don't delete them until `list-processes' is run. */); | |||
| 1362 | if (!read_socket_hook && EQ (Vwindow_system, Qnil)) | 1362 | if (!read_socket_hook && EQ (Vwindow_system, Qnil)) |
| 1363 | #endif | 1363 | #endif |
| 1364 | { | 1364 | { |
| 1365 | EMACS_GET_TTY (fileno (TTY_INPUT (tty_out)), &tty_out->old_tty); | 1365 | if (! tty_out->old_tty) |
| 1366 | 1366 | tty_out->old_tty = (struct emacs_tty *) xmalloc (sizeof (struct emacs_tty)); | |
| 1367 | tty_out->old_tty_valid = 1; | 1367 | |
| 1368 | EMACS_GET_TTY (fileno (TTY_INPUT (tty_out)), tty_out->old_tty); | ||
| 1368 | 1369 | ||
| 1369 | tty = tty_out->old_tty; | 1370 | tty = *tty_out->old_tty; |
| 1370 | 1371 | ||
| 1371 | #if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS) | 1372 | #if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS) |
| 1372 | XSETINT (Vtty_erase_char, tty_out->old_tty.main.c_cc[VERASE]); | 1373 | XSETINT (Vtty_erase_char, tty.main.c_cc[VERASE]); |
| 1373 | 1374 | ||
| 1374 | #ifdef DGUX | 1375 | #ifdef DGUX |
| 1375 | /* This allows meta to be sent on 8th bit. */ | 1376 | /* This allows meta to be sent on 8th bit. */ |
| @@ -1403,7 +1404,7 @@ nil means don't delete them until `list-processes' is run. */); | |||
| 1403 | on output */ | 1404 | on output */ |
| 1404 | tty.main.c_oflag &= ~TAB3; /* Disable tab expansion */ | 1405 | tty.main.c_oflag &= ~TAB3; /* Disable tab expansion */ |
| 1405 | #ifdef CS8 | 1406 | #ifdef CS8 |
| 1406 | if (meta_key) | 1407 | if (tty_out->meta_key) |
| 1407 | { | 1408 | { |
| 1408 | tty.main.c_cflag |= CS8; /* allow 8th bit on input */ | 1409 | tty.main.c_cflag |= CS8; /* allow 8th bit on input */ |
| 1409 | tty.main.c_cflag &= ~PARENB;/* Don't check parity */ | 1410 | tty.main.c_cflag &= ~PARENB;/* Don't check parity */ |
| @@ -1641,7 +1642,6 @@ nil means don't delete them until `list-processes' is run. */); | |||
| 1641 | #endif | 1642 | #endif |
| 1642 | ) | 1643 | ) |
| 1643 | #endif | 1644 | #endif |
| 1644 | set_terminal_modes (tty_out); | ||
| 1645 | 1645 | ||
| 1646 | if (!tty_out->term_initted) | 1646 | if (!tty_out->term_initted) |
| 1647 | { | 1647 | { |
| @@ -1838,7 +1838,7 @@ reset_sys_modes (tty_out) | |||
| 1838 | } | 1838 | } |
| 1839 | #endif | 1839 | #endif |
| 1840 | 1840 | ||
| 1841 | reset_terminal_modes (tty_out); | 1841 | tty_reset_terminal_modes (tty_out); |
| 1842 | fflush (TTY_OUTPUT (tty_out)); | 1842 | fflush (TTY_OUTPUT (tty_out)); |
| 1843 | #ifdef BSD_SYSTEM | 1843 | #ifdef BSD_SYSTEM |
| 1844 | #ifndef BSD4_1 | 1844 | #ifndef BSD4_1 |
| @@ -1867,9 +1867,9 @@ reset_sys_modes (tty_out) | |||
| 1867 | reset_sigio (); | 1867 | reset_sigio (); |
| 1868 | #endif /* BSD4_1 */ | 1868 | #endif /* BSD4_1 */ |
| 1869 | 1869 | ||
| 1870 | if (tty_out->old_tty_valid) | 1870 | if (tty_out->old_tty) |
| 1871 | while (EMACS_SET_TTY (fileno (TTY_INPUT (tty_out)), | 1871 | while (EMACS_SET_TTY (fileno (TTY_INPUT (tty_out)), |
| 1872 | &tty_out->old_tty, 0) < 0 && errno == EINTR) | 1872 | tty_out->old_tty, 0) < 0 && errno == EINTR) |
| 1873 | ; | 1873 | ; |
| 1874 | 1874 | ||
| 1875 | #ifdef MSDOS /* Demacs 1.1.2 91/10/20 Manabu Higashida */ | 1875 | #ifdef MSDOS /* Demacs 1.1.2 91/10/20 Manabu Higashida */ |