annotate README.multi-tty @ 82985:8d7be2534cbc

Delete server frames on server restart. lisp/server.el (server-start): Delete any remaining opened frames of the previous server. (server-sentinel, server-process-filter): Force deleting the frame. (server-buffer-done): Ditto. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-25
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 30 Dec 2003 17:42:02 +0000
parents 21720c013048
children 02a346f99eaf
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
53340
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
42 lib-src/emacsclient -h /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
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
216 -- Enable select on ttys (sys_select disables the native select on
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
217 non-X systems). There are some systems (OSS, SCO, maybe cygwin?)
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
218 that don't support this, so make sure the emulation remains
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
219 available for them.
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
220
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
221 (This was a bogus issue, select is only #defined to be sys_select
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
222 by sysselect.h if BROKEN_SELECT_NON_X. Fixed sysdep.c to compile
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
223 sys_select only then.)
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
224
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
225
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
226 THINGS TO DO
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
227 ------------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
228
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
229 ** Understand Emacs's low-level input system. It seems
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
230 complicated. :-)
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
231
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
232 ** Fix mysterious memory corruption error with tty deletion. To
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
233 trigger it, try the following shell command:
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
234
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
235 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
236
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
237 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
238 seems to be related to the xfree()ing or bzero()ing of
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
239 tty_output.Wcm or some other tty_output part. Maybe there are
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
240 outside references to struct Wcm? Why were these vars collected
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
241 into a struct before multi-tty support?)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
242
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
243 The bug does not seem to happen if the error occurs before terminal
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
244 initialization or if I comment out all xfree()s in delete_frame.
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
245 Update: yes it does, although it is much rarer. Or maybe it's
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
246 another bug.
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
247
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
248 Update: Some of these errors may have been caused by having more
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
249 file handles than FD_SETSIZE.
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
250
53237
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
251 ** 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
252 controlling tty. Hint: chan_process[] array. Hey, maybe
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
253 noninterrupt-IO would work, too?
53237
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
254
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
255 ** Support raw secondary terminals. (Note that SIGIO works only on
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
256 the controlling terminal.) Hint: extend read_input_waiting() for
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
257 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
258
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
259 ** 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
260 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
261
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
262 ** Issue with SIGIO: it needs to be disabled during redisplay. See if
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
263 fcntl() kernel behaviour could be emulated by emacsclient.
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
264
82985
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
265 ** 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
266 name and the type is sufficient.
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
267
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
268 ** 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
269
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
270 ** 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
271 doesn't have a tty parameter. :-(
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
272
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
273 ** 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
274 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
275 later, with emacsclient.) Not necessarily a good idea.
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
276
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
277 ** 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
278 a backend-neutral per-device structure.
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
279
53237
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
280 ** 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
281 ttys.
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
282
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
283 ** 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
284
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
285 ** Fix X support.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
286
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
287 ** 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
288 tricky.)
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
289
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
290 ** Fix Mac support (I can't do this myself).
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 W32 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 DOS 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
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
297
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
298 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d