aboutsummaryrefslogtreecommitdiffstats
path: root/README.multi-tty
diff options
context:
space:
mode:
authorKaroly Lorentey2004-01-11 02:45:44 +0000
committerKaroly Lorentey2004-01-11 02:45:44 +0000
commit4ca927b4e0eb688a0eb224463288443164dd716f (patch)
tree07e786aa4aba5640b38a872163b8960c86368d92 /README.multi-tty
parent8f1ce42333b410e736053a7c5cbbf102032c84f2 (diff)
downloademacs-4ca927b4e0eb688a0eb224463288443164dd716f.tar.gz
emacs-4ca927b4e0eb688a0eb224463288443164dd716f.zip
Fix C-g handling with multiple ttys.
src/sysdep.c (init_sys_modes): Disable interrupt and quit keys on secondary terminals. Added a big fat comment about this. lib-src/emacsclient.c (init_signals): Don't pass SIGINT and SIGQUIT to Emacs. src/keyboard.c (interrupt_signal): Exit Emacs if there are no frames on the controlling tty. Otherwise set internal_last_event_frame to the controlling tty's top frame. src/term.c (ring_bell, tty_ring_bell): Don't look at updating_frame. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-52
Diffstat (limited to 'README.multi-tty')
-rw-r--r--README.multi-tty38
1 files changed, 28 insertions, 10 deletions
diff --git a/README.multi-tty b/README.multi-tty
index e7979661831..8ca1c10a2ed 100644
--- a/README.multi-tty
+++ b/README.multi-tty
@@ -133,14 +133,12 @@ THINGS TO DO
133 the fly in write_glyphs, which might be problematic, as color 133 the fly in write_glyphs, which might be problematic, as color
134 approximation is currently done in lisp (term/tty-colors.el).) 134 approximation is currently done in lisp (term/tty-colors.el).)
135 135
136** frame-creation-function should always create a frame that is on the
137 same display as the selected frame. Maybe frame-creation-function
138 should simply be removed and make-frame changed to do the right
139 thing.
140
141** Fix interactive use of temacs. There are face-related SEGVs, most 136** Fix interactive use of temacs. There are face-related SEGVs, most
142 likely because of changes in realize_default_face, realize_face. 137 likely because of changes in realize_default_face, realize_face.
143 138
139** Very strange bug: visible-bell does not work on secondary
140 terminals. This might be something xterm (konsole) specific.
141
144** Allow opening an X session after -nw. 142** Allow opening an X session after -nw.
145 143
146** Find out the best way to support suspending Emacs with multiple 144** Find out the best way to support suspending Emacs with multiple
@@ -149,7 +147,7 @@ THINGS TO DO
149 extend emacsclient to handle suspend/resume. A `kill -STOP' almost 147 extend emacsclient to handle suspend/resume. A `kill -STOP' almost
150 works right now.) 148 works right now.)
151 149
152** Exiting Emacs while there are emacsclient frames don't restore the 150** Exiting Emacs while there are emacsclient frames doesn't restore the
153 ttys to their default states. 151 ttys to their default states.
154 152
155** Move baud_rate to struct display. 153** Move baud_rate to struct display.
@@ -182,9 +180,6 @@ THINGS TO DO
182 why raw terminal support is broken again. I really do need to 180 why raw terminal support is broken again. I really do need to
183 understand input.) 181 understand input.)
184 182
185** Make sure C-g goes to the right frame with ttys. This is hard, as
186 SIGINT doesn't have a tty parameter. :-(
187
188** I have seen a case when Emacs with multiple ttys fell into a loop 183** I have seen a case when Emacs with multiple ttys fell into a loop
189 eating 100% of CPU time. Strace showed this loop: 184 eating 100% of CPU time. Strace showed this loop:
190 185
@@ -212,7 +207,8 @@ THINGS TO DO
212 about face problems. This can even lock up Emacs (if the recursive 207 about face problems. This can even lock up Emacs (if the recursive
213 frame sets single_kboard). Update: the face problems are caused by 208 frame sets single_kboard). Update: the face problems are caused by
214 bugs in term.el, not in multi-tty. The lockup is caused by 209 bugs in term.el, not in multi-tty. The lockup is caused by
215 single_kboard mode. 210 single_kboard mode, and is not easily solvable. The best thing to
211 do is to simply refuse to create a tty frame of type `eterm'.
216 212
217DIARY OF CHANGES 213DIARY OF CHANGES
218---------------- 214----------------
@@ -520,4 +516,26 @@ DIARY OF CHANGES
520 516
521 (Fixed.) 517 (Fixed.)
522 518
519-- frame-creation-function should always create a frame that is on the
520 same display as the selected frame. Maybe frame-creation-function
521 should simply be removed and make-frame changed to do the right
522 thing.
523
524 (Done, with a nice hack. frame-creation-function is now frame-local.)
525
526-- Fix C-g on raw ttys.
527
528 (Done. I disabled the interrupt/quit keys on all secondary
529 terminals, so Emacs sees C-g as normal input. This looks like an
530 overkill, because emacsclient has extra code to pass SIGINT to
531 Emacs, so C-g should remain the interrupt/quit key on emacsclient
532 frames. See the next entry why implementing this distinction would
533 be a bad idea.)
534
535-- Make sure C-g goes to the right frame with ttys. This is hard, as
536 SIGINT doesn't have a tty parameter. :-(
537
538 (Done, the previous change fixes this as a pleasant side effect.)
539
540
523;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d 541;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d