Mercurial > emacs
diff src/frame.c @ 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 | 1d7467694692 |
line wrap: on
line diff
--- a/src/frame.c Fri Jan 09 18:57:53 2004 +0000 +++ b/src/frame.c Sat Jan 10 12:56:22 2004 +0000 @@ -630,6 +630,10 @@ #endif /* Set the top frame to the newly created frame. */ + if (FRAME_TTY (f)->top_frame + && FRAME_LIVE_P (XFRAME (FRAME_TTY (f)->top_frame))) + XFRAME (FRAME_TTY (f)->top_frame)->async_visible = 2; /* obscured */ + FRAME_TTY (f)->top_frame = frame; } @@ -695,19 +699,25 @@ tty = Fassq (Qtty, parms); if (EQ (tty, Qnil)) tty = Fassq (Qtty, XFRAME (selected_frame)->param_alist); + if (EQ (tty, Qnil) && FRAME_TERMCAP_P (XFRAME (selected_frame)) + && FRAME_TTY (XFRAME (selected_frame))->name) + tty = build_string (FRAME_TTY (XFRAME (selected_frame))->name); if (EQ (tty, Qnil)) tty = Fassq (Qtty, Vdefault_frame_alist); - if (! EQ (tty, Qnil)) + if (! EQ (tty, Qnil) && ! STRINGP (tty)) tty = XCDR (tty); if (EQ (tty, Qnil) || !STRINGP (tty)) tty = Qnil; tty_type = Fassq (Qtty_type, parms); if (EQ (tty_type, Qnil)) - tty_type = Fassq (Qtty_type, Vdefault_frame_alist); + tty_type = Fassq (Qtty, XFRAME (selected_frame)->param_alist); + if (EQ (tty_type, Qnil) && FRAME_TERMCAP_P (XFRAME (selected_frame)) + && FRAME_TTY (XFRAME (selected_frame))->type) + tty_type = build_string (FRAME_TTY (XFRAME (selected_frame))->type); if (EQ (tty_type, Qnil)) - tty_type = Fassq (Qtty, XFRAME (selected_frame)->param_alist); - if (! EQ (tty_type, Qnil)) + tty_type = Fassq (Qtty_type, Vdefault_frame_alist); + if (! EQ (tty_type, Qnil) && ! STRINGP (tty_type)) tty_type = XCDR (tty_type); if (EQ (tty_type, Qnil) || !STRINGP (tty_type)) tty_type = Qnil;