diff README.multi-tty @ 83009:b2b37c85b00a

Numerous bugfixes and small improvements. lisp/bindings.el (mode-line-frame-identification): Use %T, not %F. lisp/faces.el (x-create-frame-with-faces): Added frame-creation-function parameter. (tty-create-frame-with-faces): Ditto. lisp/frame.el (frame-creation-function): Make it frame-local. (select-frame-set-input-focus): Use the window-system function, not the variable. lisp/server.el (server-handle-delete-tty): Make sure the client process is removed from server-clients after the delete-process call. It seems that the sentinel is not called. Added docs. (server-process-filter): Immediately add the client to server-clients when a new termcap frame is created. Fixed a case of `not' called with two parameters. Ignore errors while sending the evaluation result back to the client. (server-kill-buffer-query-function): Don't ask the user if the server process is already dead. lisp/term/x-win.el: Don't change mode-line-frame-identification. src/buffer.c (syms_of_buffer): Added %T to the docs of mode-line-format. src/dispnew.c (init_display): Increment the reference count of the new termcap display. src/frame.c (make_terminal_frame): Set the old top frame's visibility to `obscured'. (Fmake_terminal_frame): Look at the current termcap display's name, not just the similar frame parameter. Try to get the type from the current display first, and only then from Vdefault_frame_alist. src/keyboard.c (handle_interrupt): New function to separate the signal handling from C-g processing. (interrupt_signal): Call handle_interrupt to do the real work. (kbd_buffer_store_event): Use handle_interrupt instead of interrupt_signal. (cmd_error_internal): Use FRAME_INITIAL_P instead of ugly hacks. src/termhooks.h (initial_display): New declaration. src/xdisp.c (decode_mode_spec): Added '%T' (termcap-only frame name). git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-49
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 10 Jan 2004 12:56:22 +0000
parents 040dd41ed7d0
children 4aa172a45af1
line wrap: on
line diff
--- a/README.multi-tty	Fri Jan 09 18:57:53 2004 +0000
+++ b/README.multi-tty	Sat Jan 10 12:56:22 2004 +0000
@@ -104,7 +104,7 @@
    specify a terminal device (`tty' parameter) and a terminal type
    (`tty-type' parameter) to `make-terminal-frame'. `tty' must be a
    terminal device created by the updated emacsclient, or there will
-   be problems with terminal input and window resizes.  
+   be problems with terminal input and window resizes.
 
    You can test for the presence of multiple terminal support by
    testing for the `multi-tty' feature.
@@ -138,7 +138,10 @@
    should simply be removed and make-frame changed to do the right
    thing.
 
-** The command `emacsclient -t -e '(delete-frame)'' fails to exit.
+** Fix interactive use of temacs.  There are face-related SEGVs, most
+   likely because of changes in realize_default_face, realize_face.
+
+** Allow opening an X session after -nw.
 
 ** Find out the best way to support suspending Emacs with multiple
    ttys.  My guess: disable it on the controlling tty, but from other
@@ -146,18 +149,11 @@
    extend emacsclient to handle suspend/resume.  A `kill -STOP' almost
    works right now.)
 
-** If there are no frames on its controlling terminal, Emacs should
-   exit if the uses presses C-c there.  (See the SIGTERM comment in
-   interrupt_signal on why this seems to be impossible to solve
-   generally.)
-
-** During an X session, Emacs seems to read from stdin.
+** Exiting Emacs while there are emacsclient frames don't restore the
+   ttys to their default states.
 
 ** Move baud_rate to struct display.
 
-** Do tty output through struct display, like graphical display
-   backends.
-
 ** Implement support for starting an interactive Emacs session without
    an initial frame.  (The user would connect to it and open frames
    later, with emacsclient.)  Not necessarily a good idea.
@@ -212,10 +208,6 @@
    instead of nread > 0 after calling read_socket_hook in
    read_avail_input.
 
-** Define an output_initial value for output_method for the initial
-   frame that is dumped with Emacs.  Checking for this frame (e.g. in
-   cmd_error_internal) is ugly.
-
 ** emacsclient -t from an Emacs term buffer does not work, complains
    about face problems.  This can even lock up Emacs (if the recursive
    frame sets single_kboard).  Update: the face problems are caused by
@@ -227,7 +219,7 @@
 
 (ex-TODO items with explanations.)
 
--- Introduce a new struct for terminal devices.  
+-- Introduce a new struct for terminal devices.
 
    (Done, see struct tty_output.  The list of members is not yet
    complete.)
@@ -251,12 +243,12 @@
    (Update2: After enabling X, they don't.)
 
 -- other-frame should cycle through the frames on the `current'
-   terminal only.  
+   terminal only.
 
    (Done, by trivially modifiying next_frame and prev_frame.)
 
 -- Support different terminal sizes.
-   
+
    (Done, no problem.)
 
 -- Make sure terminal resizes are handled gracefully.  (Could be
@@ -267,12 +259,12 @@
 
 -- Extend emacsclient to automatically open a new tty when it connects
    to Emacs.
-   
+
    (Done.  It's an ugly hack, needs more work.)
 
 -- Redisplay must refresh the topmost frame on *all* terminals, not
    just the initial terminal.
-   
+
    (Done, but introduced an ugly redisplay problems.  Ugh.)
 
 -- Fix redisplay problems.
@@ -343,7 +335,7 @@
    (Done, we do the same as Emacs 21.2 for all terminals.)
 
 -- 'TERM=dumb src/emacs' does not restore the terminal state.
-   
+
    (Done.)
 
 -- C-g should work on secondary terminals.
@@ -500,4 +492,32 @@
    terminal frame during bootstrap which prevented echo_area_display
    from working correctly on a tty frame during a combo session.)
 
+-- If there are no frames on its controlling terminal, Emacs should
+   exit if the uses presses C-c there.
+
+   (Done, as far as possible.  See the SIGTERM comment in
+   interrupt_signal on why this seems to be impossible to solve this
+   in general.)
+
+-- During an X session, Emacs seems to read from stdin.  Also, Emacs
+   fails to start without a controlling tty.
+
+   (Fixed by replacing the troublesome termcap display with a dummy
+   bootstrap display during bootstrap.
+
+-- Do tty output through struct display, like graphical display
+   backends.
+
+   (Done.)
+
+-- Define an output_initial value for output_method for the initial
+   frame that is dumped with Emacs.  Checking for this frame (e.g. in
+   cmd_error_internal) is ugly.
+
+   (Done, broking interactive temacs.)
+
+-- The command `emacsclient -t -e '(delete-frame)'' fails to exit.
+
+   (Fixed.)
+
 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d