Mercurial > emacs
annotate etc/LEDIT @ 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 |
rev | line source |
---|---|
25928 | 1 Date: 17 Apr 85 15:45:42 EST (Wed) |
2 From: Martin David Connor <mdc@MIT-HTVAX.ARPA> | |
3 | |
4 Date: Sat, 13 Apr 85 16:28:15 est | |
5 From: Richard M. Stallman <rms@mit-prep> | |
6 | |
7 Can you help this person? Also, can you give me the rest of ledit | |
8 to distribute, plus some info on how to use it? | |
9 | |
10 I have put the files "ledit.l" and "leditcfns.c" on prep:~mdc. | |
11 Much to my disgust ledit.l relied on some bogus little package of | |
12 functions on HT, so I had to massage it a bit. | |
13 | |
14 To get it to work, one must: | |
15 | |
16 - Compile leditcfns.c with something like: | |
17 | |
18 cc leditcfns.c | |
19 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25928
diff
changeset
|
20 - Edit ledit.l, changing the line beginning "(cfasl" to |
25928 | 21 have the right pathname for the cfns file you compiled in |
22 the last step. | |
23 | |
24 - Compile ledit.l with: | |
25 | |
26 liszt ledit.l | |
27 | |
28 Then put the following lines in your .lisprc file: | |
29 | |
30 ;load in functions for emacs interface | |
31 (load "//src//mdc//ledit//ledit") ; Location of Ledit library | |
32 (set-proc-str "%gnumacs") ; Name of editor | |
33 | |
34 Then you can use ^E <RETURN> to get from LISP back to gnumacs. | |
35 | |
36 Here is the part of my .emacs file that pertains to ledit. | |
37 | |
38 ;;; Set up ledit mode | |
39 (setq ledit-go-to-lisp-string "%lisp") | |
40 (setq lisp-mode-hook 'ledit-from-lisp-mode) | |
41 | |
42 Date: Sat, 13 Apr 85 11:26:32 cst | |
43 From: neves@wisc-ai.arpa (David Neves) | |
44 | |
45 This is a documentation question. | |
46 I cannot figure out how to use Ledit. I suspect I need some | |
47 function on the Franz Lisp end of things to go to Emacs and read in | |
48 the temporary file. Is this true? Is the Lisp job started within | |
49 Emacs or outside of emacs? I'm just plain confused. Perhaps a couple | |
50 of words from someone in the know would help. | |
51 | |
52 A related question. I have been using a shell buffer when interacting | |
53 with Lisp (ie. put a definition in the kill buffer and then yank it | |
54 into the shell buffer to redefine it). This is nice but tends to fill | |
55 up the shell buffer with lots of code (I'd rather keep calls to functions | |
56 in the shell and not the functions themselves). | |
57 My question: Is using the shell buffer "better" than ledit? Am I using | |
58 it in the best way (i.e. copying definitions from an edit buffer to the | |
59 shell buffer)? -Thanks, David Neves | |
60 | |
61 I have found that ledit works well for doing programming development | |
62 when you are changing lots of little pieces of a file and don't wish | |
63 to recompile the whole file. Of course M-X Compile is very nice for | |
64 calling up a liszt on a buffer and watching it in the another window. | |
65 Of course the interface of something like NIL is even better because | |
66 you can compile your function directly into your lisp. But since NIL | |
67 doesn't run under Unix, this is probably the next best thing. | |
68 | |
69 I have tried the 2 window method (shell in lower window, lisp code in | |
70 upper), and have found it a little awkward. It does have certain | |
71 advantages, but most of the time, I get be fine using M-C-D to save a | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25928
diff
changeset
|
72 defun for lisp, and C-X Z to jump back to LISP. C-E RETURN from lisp |
25928 | 73 is also mnemonic for getting back to gnumacs. |
74 | |
75 I hope this helps somewhat. | |
76 | |
77 |