annotate README.multi-tty @ 82987:1682917e56b4

Major bugfixes and slight enhancements. src/dispextern.h (get_tty_size, tabs_safe_p, init_baud_rate): Update prototypes. src/dispnew.c (window_change_signal): Update call to get_tty_size. src/frame.c (Fmake_terminal_frame): Ditto. src/keyboard.c (Fsuspend_emacs): Ditto. src/sysdep.c: Eliminate tty_outputs, wherever possible. (The exceptions are init_sys_modes and reset_sys_modes, which need access to tty-local parameters). (init_baud_rate): Change tty_output parameter to a simple file descriptor. (narrow_foreground_group, widen_foreground_group): Ditto. (tabs_safe_p, get_tty_size): Ditto. (init_sys_modes): Update narrow_foreground_group invocation. (reset_sys_modes): Update widen_foreground_group invocation. (request_sigio)[!FASYNC && STRIDE]: Fix function signature. src/term.c (delete_tty): Only close output file handle if it is different from input. Re-enable freeing of Wcm. (term_init): Update get_tty_size, tabs_safe_p and init_baud_rate invocations. lib-src/emacsclient.c (here): Renamed to frame. (longopts): Change --here to --frame. The -h short option may be confused with --help. (decode_options, print_help_and_exit): Update to reflect above changes. (main): Ditto. lisp/server.el (server-start): Fix frame-live-p call syntax. (server-process-filter): Handle 'emacsclient -f' without file arguments. Don't return any values to emacsclient when 'emacsclient -f -e'. (server-switch-buffer): Prevent infinite recursion when there are no files to edit. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-27
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 30 Dec 2003 19:27:57 +0000
parents 02a346f99eaf
children f82e3a6f5ccb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
1 -*- coding: utf-8; -*-
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
2 GOAL
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
3 ----
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
4
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
5 The ultimate goal of this branch is to implement support for opening
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
6 multiple, different tty devices and simultaneous X and tty frames from
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
7 a single Emacs session.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
8
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
9 WHO IS DOING IT
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
10 ---------------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
11
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
12 I'm Károly Lőrentey. My address: lorentey@elte.hu.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
13
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
14 Patches or suggestions are welcome!
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
15
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
16 Retrieving the latest version of the branch:
53228
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
17
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
18 tla register-archive lorentey@elte.hu--2004 http://lorentey.web.elte.hu/arch/2004/
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
19 tla get lorentey@elte.hu--2004/emacs--multi-tty--0 <directory>
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
20
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
21 (I use tla 1.1.)
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
22
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
23
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
24 STATUS
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
25 ------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
26
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
27 Basic multi-tty support is there; there are some rough edges, but it
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
28 already seems to be usable. Emacsclient has been extended to support
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
29 opening a new terminal frame.
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
30
53340
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
31 To try it out, compile the multi-tty branch with the following
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
32 commands:
53235
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
33
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
34 mkdir +build
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
35 cd +build
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
36 ../configure --with-x-toolkit=no --without-x
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
37 make bootstrap
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
38
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
39 then start up the emacs server (src/emacs, M-x server-start), and then
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
40 (from a shell prompt on another terminal) start emacsclient with
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
41
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
42 lib-src/emacsclient -f /optional/file/names...
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
43
53340
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
44 You'll hopefully have two fully working, independent frames on
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
45 separate terminals. (This seems to be very useful, emacsclient starts
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
46 up even faster than vi!) :-) You can close the newly opened frame and
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
47 return to the shell without exiting Emacs by pressing C-x 5 0, i.e.,
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
48 delete-frame. (Note that this does not seem to work yet on the
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
49 original terminal.) Creating new frames on the same tty with C-x 5 2
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
50 works exactly as before. Suspending Emacs is disabled at the moment.
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
51 If you exit emacs, all terminals should be restored to their previous
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
52 states.
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
53
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
54 X, Mac, Windows and DOS support is broken, probably doesn't even
53340
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
55 compile -- this will be solved later. Please see the attached README
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
56 for other issues, implementation notes and sub-TODO items.
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
57
53340
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
58 Only tested on my GNU/Linux box.
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
59
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
60
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
61 NEWS
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
62 ----
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
63
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
64 For the NEWS file:
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
65
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
66 ** Support for multiple terminal devices has been added. You can
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
67 specify a terminal device (`tty' parameter) and a terminal type
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
68 (`tty-type' parameter) to `make-terminal-frame'. `tty' must be a
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
69 terminal device created by the updated emacsclient, or there will
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
70 be problems with terminal input and window resizes.
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
71
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
72 You can test for the presence of multiple terminal support by
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
73 testing for the `multi-tty' feature.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
74
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
75 ** A make-frame-on-tty function has been added to make it easier to
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
76 create frames on new terminals.
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
77
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
78 ** Emacsclient has been extended to support opening a new terminal
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
79 frame.
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
80
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
81 CHANGELOG
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
82 ---------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
83
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
84 See arch logs.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
85
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
86
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
87 DIARY OF CHANGES
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
88 ----------------
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
89
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
90 (ex-TODO items with explanations.)
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
91
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
92 -- Introduce a new abstraction for terminal devices.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
93
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
94 (Done, see struct tty_output. The abstraction is not yet
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
95 complete.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
96
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
97 -- Change the bootstrap procedure to initialize tty_list.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
98
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
99 (Done, but needs review.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
100
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
101 -- Change make-terminal-frame to support specifying another tty.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
102
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
103 (Done, new frame parameters: `tty' and `tty-type'.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
104
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
105 -- Implement support for reading from multiple terminals.
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
106
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
107 (Done, read_avail_input tries to read from each terminal, until one
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
108 succeeds. MULTIKBOARD is not used. Secondary terminals don't send
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
109 SIGIO!)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
110
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
111 -- other-frame should cycle through the frames on the `current'
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
112 terminal only.
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
113
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
114 (Done, by trivially modifiying next_frame and prev_frame.)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
115
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
116 -- Support different terminal sizes.
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
117
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
118 (Done, no problem.)
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
119
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
120 -- Make sure terminal resizes are handled gracefully. (Could be
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
121 problematic.)
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
122
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
123 (Done. We don't get automatic SIGWINCH for additional ttys,
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
124 though.)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
125
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
126 -- Extend emacsclient to automatically open a new tty when it connects
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
127 to Emacs.
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
128
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
129 (Done. It's an ugly hack, needs more work.)
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
130
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
131 -- Redisplay must refresh the topmost frame on *all* terminals, not
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
132 just the initial terminal.
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
133
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
134 (Done, but introduced an ugly redisplay problems. Ugh.)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
135
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
136 -- Fix redisplay problems.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
137
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
138 (Done; it turned out that the entire Wcm structure must be moved
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
139 inside tty_output. Why didn't I catch this earlier?)
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
140
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
141 -- Provide a way for emacsclient to tell Emacs that the tty has been
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
142 resized.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
143
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
144 (Done, simply forward the SIGWINCH signal.)
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
145
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
146 -- Each keypress should automatically select the frame corresponding
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
147 to the terminal that it was coming from. This means that Emacs
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
148 must know from which terminal the last keyboard event came from.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
149
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
150 (Done, it was quite simple, the input event system already
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
151 supported multiple frames.)
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
152
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
153 -- Fix SIGIO issue with secondary terminals.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
154
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
155 (Done, emacsclient signals Emacs after writing to the proxy pseudo
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
156 terminal. Note that this means that multi-tty does not work with
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
157 raw ttys!)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
158
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
159 (Update: This is bullshit. There is a read_input_waiting function,
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
160 extend that somehow.)
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
161
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
162 -- Make make-terminal-frame look up the `tty' and `tty-type' frame
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
163 parameters from the currently selected terminal before the global
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
164 default.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
165
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
166 (Done.)
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
167
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
168 -- Put all cached terminal escape sequences into struct tty_output.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
169 Currently, they are still stored in global variables, so we don't
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
170 really support multiple terminal types.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
171
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
172 (Done. It was not fun.)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
173
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
174 -- Implement sane error handling after initialization. (Currently
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
175 emacs exits if you specify a bad terminal type.) The helpful error
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
176 messages must still be provided when Emacs starts.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
177
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
178 (Done.)
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
179
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
180 -- Implement terminal deletion, i.e., deleting local frames, closing
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
181 the tty device and restoring its previous state without exiting
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
182 Emacs.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
183
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
184 (Done, but at the moment only called when an error happens during
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
185 initialization. There is a memory corruption error around this
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
186 somewhere.)
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
187
53236
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
188 -- Implement automatic deletion of terminals when the last frame on
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
189 that terminal is closed.
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
190
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
191 (Done.)
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
192
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
193 -- Restore tty screen after closing the terminal.
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
194
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
195 (Done, we do the same as Emacs 21.2 for all terminals.)
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
196
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
197 -- 'TERM=dumb src/emacs' does not restore the terminal state.
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
198
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
199 (Done.)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
200
53343
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
201 -- C-g should work on secondary terminals.
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
202
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
203 (Done, but the binding is not configurable.)
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
204
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
205 -- Deal with SIGHUP in Emacs and in emacsclient. (After this, the
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
206 server-frames may be removed from server.el.)
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
207
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
208 (Done, nothing to do. It seems that Emacs does not receive SIGHUP
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
209 from secondary ttys.)
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
210
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
211 -- Change emacsclient/server.el to support the -h argument better,
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
212 i.e. automatically close the socket when the frame is closed.
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
213
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
214 (Seems to be working OK.)
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
215
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
216 -- Fix mysterious memory corruption error with tty deletion. To
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
217 trigger it, try the following shell command:
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
218
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
219 while true; do TERM=no-such-terminal-definition emacsclient -h; done
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
220
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
221 Emacs usually dumps core after a few dozen iterations. (The bug
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
222 seems to be related to the xfree()ing or bzero()ing of
82986
02a346f99eaf Undo patch-23. I need a coffee.
Karoly Lorentey <lorentey@elte.hu>
parents: 82985
diff changeset
223 tty_output.Wcm. Maybe there are outside references to struct Wcm?
02a346f99eaf Undo patch-23. I need a coffee.
Karoly Lorentey <lorentey@elte.hu>
parents: 82985
diff changeset
224 Why were these vars collected into a struct before multi-tty
02a346f99eaf Undo patch-23. I need a coffee.
Karoly Lorentey <lorentey@elte.hu>
parents: 82985
diff changeset
225 support?)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
226
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
227 (Done. Whew. It turned out that the problem had nothing to do
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
228 with hypothetical external references to Wcm, or any other
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
229 tty_output component; it was simply that delete_tty closed the
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
230 filehandles of secondary ttys twice, resulting in fclose doubly
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
231 free()ing memory. Utterly trivial matter. I love the C's memory
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
232 management, it puts hair on your chest.)
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
233
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
234 THINGS TO DO
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
235 ------------
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
236
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
237 ** Understand Emacs's low-level input system (it seems complicated) :-)
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
238 and maybe rewrite multi-tty input in terms of MULTIKBOARD.
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
239
53237
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
240 ** Find out why does Emacs abort when it wants to close its
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
241 controlling tty. Hint: chan_process[] array. Hey, maybe
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
242 noninterrupt-IO would work, too? Update: no, there is no process
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
243 for stdin/out.
53237
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
244
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
245 ** Support raw secondary terminals. (Note that SIGIO works only on
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
246 the controlling terminal.) Hint: extend read_input_waiting() for
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
247 multiple ttys and hopefully this will be fixed.
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
248
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
249 ** What does interrupt_input do? I tried to disable it for raw
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
250 secondary tty support, but it does not seem to do anything useful.
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
251
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
252 ** Issue with SIGIO: it needs to be disabled during redisplay. See if
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
253 fcntl() kernel behaviour could be emulated by emacsclient.
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
254
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
255 ** Get rid of the accessor macros in termchar.h, or define macros for
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
256 all members.
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
257
82985
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
258 ** Make parts of struct tty_output accessible from Lisp. The device
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
259 name and the type is sufficient.
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
260
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
261 ** server.el: There are issues with saving files in buffers of closed
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
262 clients. Try editing a file with emacsclient -f, and (without
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
263 saving it) do a delete-frame. The frame is closed without
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
264 question, and a surprising confirmation prompt appears in another
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
265 frame.
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
266
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
267 ** emacsclient.el, server.el: Handle eval or file open errors when
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
268 doing -f.
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
269
82985
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
270 ** Export delete_tty to the Lisp environment, for emacsclient.
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
271
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
272 ** Make sure C-g goes to the right frame. This is hard, as SIGINT
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
273 doesn't have a tty parameter. :-(
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
274
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
275 ** Implement support for starting an interactive Emacs session without
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
276 an initial frame. (The user would connect to it and open frames
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
277 later, with emacsclient.) Not necessarily a good idea.
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
278
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
279 ** Move optimalization parameters (costs) from union output_data to
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
280 a backend-neutral per-device structure.
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
281
53237
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
282 ** Find out the best way to support suspending Emacs with multiple
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
283 ttys.
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
284
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
285 ** Do tty output through term_hooks, like graphical display backends.
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
286
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
287 ** Fix X support.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
288
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
289 ** Allow simultaneous X and tty frames. (Handling input could be
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
290 tricky.)
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
291
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
292 ** Fix Mac support (I can't do this myself).
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
293
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
294 ** Fix W32 support (I can't do this myself).
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
295
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
296 ** Fix DOS support (I can't do this myself).
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
297
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
298 ** Do a grep on XXX and ?? for more issues.
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
299
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
300 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d