Mercurial > emacs
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