Mercurial > emacs
view etc/future-bug @ 83167:69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
* lisp/frame.el (make-frame-on-display): Update doc.
(make-frame): Handle display-id parameter. Update doc.
(frames-on-display-list): Update for display ids.
(framep-on-display): Ditto.
(suspend-frame): Use display-name, not frame-tty-name.
(selected-display): New function.
* lisp/server.el (server-delete-client): Use delete-display, not delete-tty.
(server-tty-live-p, server-handle-delete-tty): Removed.
(server-handle-delete-frame): Delete tty clients, if needed.
(server-process-filter): Set the display parameter, and use it when appropriate.
(server-handle-suspend-tty): Use the display parameter.
(server-start, server-unload-hook): Removed obsolete delete-tty hook.
* lisp/talk.el (talk): Always use talk-add-display.
(talk-add-tty-frame, talk-handle-delete-tty): Removed.
(talk-handle-delete-frame): New function.
(talk-add-display): Open a new frame only if parameter was not a frame.
* src/dispextern.h (get_display, Fdisplay_tty_type): New prototypes.
(Fframe_tty_type): Removed.
* src/dispnew.c (init_display): Use Fdisplay_tty_type, not Fframe_tty_type.
* src/frame.c (Qdisplay_id, Qdisplay_live_p): New symbols.
(make_terminal_frame): Get display as a parameter.
(Fmake_terminal_frame): Get/create display here; pass it to
make_terminal_frame.
(Fframe_display): New function.
(Fdelete_frame): Stop if the hook deleted the frame.
(syms_of_frame): Register new stuff.
* src/frame.h (Qdisplay_id, Qdisplay_live_p, make_terminal_frame):
Updated prototypes.
* src/keyboard.c (interrupt_signal): Updated comment.
* src/term.c (Vdelete_tty_after_functions): Removed variable.
(Qframe_tty_name, Qframe_tty_type): Removed.
(next_display_id): New var.
(tty_ring_bell): Don't do anything on suspended frames.
(Ftty_display_color_p, Ftty_display_color_cells): Doc update.
(get_display): New function.
(get_tty_display): Use it.
(get_named_tty_display): Ignore suspended displays.
(Fframe_tty_name): Renamed to Fdisplay_name. Handle all kinds of
displays.
(Fframe_tty_type): Renamed to Fdisplay_tty_type.
(init_initial_display): Set display name.
(term_init): Allow more displays on the same device. Set display name.
(Fdelete_tty): Removed.
(delete_tty): Don't run hooks.
(create_display): Set display id.
(delete_display): Free display name.
(Fdelete_display, Fdisplay_live_p, Fdisplay_list): New functions.
(Fsuspend_tty): Call hook with display id. Doc update.
(Fresume_tty): Refuse to resume when there is already an active display
on the same device. Call hook with display id. Doc update.
(syms_of_term): Reflect above changes.
* src/termhooks.h (struct display): Added `id' and `name' members.
(DISPLAY_ACTIVE_P): New macro.
* src/xfns.c (check_x_display_info): Handle display ids.
(Fx_create_frame): Try to get display from `display-id' parameter.
* src/xterm.c (x_term_init): Set display name.
(x_delete_display): Handle the case when `font_table' is NULL.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-207
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sun, 04 Jul 2004 04:48:55 +0000 |
parents | 23a1cea22d13 |
children | 02e2382f5e8a |
line wrap: on
line source
Date: Tue, 23 Feb 2199 21:03:50 -0600 From: Karl Fogel <kfogel@floss.cyclic.com> To: bug-gnu-emacs@prep.ai.mit.edu Subject: M-x search-backward-in-time broken... X-Windows: you'll envy the dead. In GNU Emacs 51.70.4 (i9986-unknown-linux-gnu, X toolkit) of Sat Feb 20 2199 on floss configured using `configure --with-x-toolkit=yes' The `search-backward-in-time' function appears to be broken in Emacs 51.70. Unfortunately, I can never seem to start the debugger early enough to catch the error as it happens. However I have traced the problem through source by eye, and it looks like `time-forward' can't handle negative arguments anymore. This is consistent with other symptoms: for example, `undo' (which since 51.25 has worked by passing a negative arg to `time-forward') is also broken. However, `do' still works -- it seems that `time-forward' continues to handle positive arguments just fine. No one here-and-now can figure out how to fix the problem, because the code for `time-forward' is so hairy. We're using M-x report-future-emacs-bug to request that you folks include more comments when you write it (sometime in 2198 as I recall). Thanks! -Karl Fogel <kfogel@red-bean.com> P.S. You'll be pleased to know that since (time-forward N) still works for N >= 0, we've used it to pre-emptively update configure.in. Emacs now configures and builds on every platform that will ever be made. It wasn't easy, but at least that's one problem out of the way for good. If you'd like the patch, just ask.