diff README.multi-tty @ 83012:4aa172a45af1

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
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 11 Jan 2004 02:45:44 +0000
parents b2b37c85b00a
children e77d1a63471b
line wrap: on
line diff
--- a/README.multi-tty	Sun Jan 11 01:18:45 2004 +0000
+++ b/README.multi-tty	Sun Jan 11 02:45:44 2004 +0000
@@ -133,14 +133,12 @@
    the fly in write_glyphs, which might be problematic, as color
    approximation is currently done in lisp (term/tty-colors.el).)
 
-** frame-creation-function should always create a frame that is on the
-   same display as the selected frame.  Maybe frame-creation-function
-   should simply be removed and make-frame changed to do the right
-   thing.
-
 ** Fix interactive use of temacs.  There are face-related SEGVs, most
    likely because of changes in realize_default_face, realize_face.
 
+** Very strange bug: visible-bell does not work on secondary
+   terminals.  This might be something xterm (konsole) specific.
+
 ** Allow opening an X session after -nw.
 
 ** Find out the best way to support suspending Emacs with multiple
@@ -149,7 +147,7 @@
    extend emacsclient to handle suspend/resume.  A `kill -STOP' almost
    works right now.)
 
-** Exiting Emacs while there are emacsclient frames don't restore the
+** Exiting Emacs while there are emacsclient frames doesn't restore the
    ttys to their default states.
 
 ** Move baud_rate to struct display.
@@ -182,9 +180,6 @@
    why raw terminal support is broken again.  I really do need to
    understand input.)
 
-** Make sure C-g goes to the right frame with ttys.  This is hard, as
-   SIGINT doesn't have a tty parameter. :-(
-
 ** I have seen a case when Emacs with multiple ttys fell into a loop
    eating 100% of CPU time.  Strace showed this loop:
 
@@ -212,7 +207,8 @@
    about face problems.  This can even lock up Emacs (if the recursive
    frame sets single_kboard).  Update: the face problems are caused by
    bugs in term.el, not in multi-tty.  The lockup is caused by
-   single_kboard mode.
+   single_kboard mode, and is not easily solvable.  The best thing to
+   do is to simply refuse to create a tty frame of type `eterm'.
 
 DIARY OF CHANGES
 ----------------
@@ -520,4 +516,26 @@
 
    (Fixed.)
 
+-- frame-creation-function should always create a frame that is on the
+   same display as the selected frame.  Maybe frame-creation-function
+   should simply be removed and make-frame changed to do the right
+   thing.
+
+   (Done, with a nice hack.  frame-creation-function is now frame-local.)
+
+-- Fix C-g on raw ttys.
+
+   (Done.  I disabled the interrupt/quit keys on all secondary
+   terminals, so Emacs sees C-g as normal input.  This looks like an
+   overkill, because emacsclient has extra code to pass SIGINT to
+   Emacs, so C-g should remain the interrupt/quit key on emacsclient
+   frames.  See the next entry why implementing this distinction would
+   be a bad idea.)
+
+-- Make sure C-g goes to the right frame with ttys.  This is hard, as
+   SIGINT doesn't have a tty parameter. :-(
+
+   (Done, the previous change fixes this as a pleasant side effect.)
+
+
 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d