comparison README.multi-tty @ 53343:56e4b7166995

Make sure secondary frames are deleted when emacsclient quits. lisp/server.el (server-sentinel): Delete frame if alive. Fix delq invocation on server-frames. (server-process-filter, server-buffer-done): Fix delq invocation on server-frames. src/cm.c (cmputc): Abort on write error, see what happens. src/keyboard.c (read_avail_input): Do delete_tty on read errors. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-21
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 29 Dec 2003 08:28:35 +0000
parents d4e6a050c9b1
children 21720c013048
comparison
equal deleted inserted replaced
53342:201b17b0f2e5 53343:56e4b7166995
196 196
197 -- 'TERM=dumb src/emacs' does not restore the terminal state. 197 -- 'TERM=dumb src/emacs' does not restore the terminal state.
198 198
199 (Done.) 199 (Done.)
200 200
201 -- C-g should work on secondary terminals.
202
203 (Done, but the binding is not configurable.)
204
205 -- Deal with SIGHUP in Emacs and in emacsclient. (After this, the
206 server-frames may be removed from server.el.)
207
208 (Done, nothing to do. It seems that Emacs does not receive SIGHUP
209 from secondary ttys.)
210
211 -- Change emacsclient/server.el to support the -h argument better,
212 i.e. automatically close the socket when the frame is closed.
213
214 (Seems to be working OK.)
215
201 THINGS TO DO 216 THINGS TO DO
202 ------------ 217 ------------
203 218
204 ** Fix mysterious memory corruption error with tty deletion. To 219 ** Fix mysterious memory corruption error with tty deletion. To
205 trigger it, try the following shell command: 220 trigger it, try the following shell command:
215 The bug does not seem to happen if the error occurs before terminal 230 The bug does not seem to happen if the error occurs before terminal
216 initialization or if I comment out all xfree()s in delete_frame. 231 initialization or if I comment out all xfree()s in delete_frame.
217 Update: yes it does, although it is much rarer. Or maybe it's 232 Update: yes it does, although it is much rarer. Or maybe it's
218 another bug. 233 another bug.
219 234
220 ** Change emacsclient/server.el to support the -h argument better,
221 i.e. automatically close the socket when the frame is closed.
222
223 ** Export delete_tty to the Lisp environment, for emacsclient.
224
225 ** C-g should work on secondary terminals.
226
227 ** Make parts of struct tty_output accessible from Lisp. The device 235 ** Make parts of struct tty_output accessible from Lisp. The device
228 name and the type is sufficient. 236 name and the type is sufficient.
237
238 ** Export delete_tty to the Lisp environment, for emacsclient.
239
240 ** Make sure C-g goes to the right frame. This is hard, as SIGINT
241 doesn't have a tty parameter. :-(
229 242
230 ** Find out why does Emacs abort when it wants to close its 243 ** Find out why does Emacs abort when it wants to close its
231 controlling tty. Hint: chan_process[] array. Hey, maybe 244 controlling tty. Hint: chan_process[] array. Hey, maybe
232 noninterrupt-IO would work, too? 245 noninterrupt-IO would work, too?
233 246
249 a backend-neutral per-device structure. 262 a backend-neutral per-device structure.
250 263
251 ** Find out the best way to support suspending Emacs with multiple 264 ** Find out the best way to support suspending Emacs with multiple
252 ttys. 265 ttys.
253 266
254 ** Deal with SIGHUP in Emacs and in emacsclient. (After this, the
255 server-frames may be removed from server.el.)
256
257 ** Do tty output through term_hooks, like all other display backends. 267 ** Do tty output through term_hooks, like all other display backends.
258 268
259 ** Fix X support. 269 ** Fix X support.
260 270
261 ** Allow simultaneous X and tty frames. 271 ** Allow simultaneous X and tty frames.