annotate admin/notes/multi-tty @ 108164:745e12b5af4a

Don't burp if process sentinel/filter kills the current buffer. * process.c (read_process_output, exec_sentinel): Don't burp if the sentinel/filter kills the current buffer.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 29 Apr 2010 10:29:09 -0400
parents 1d1d5d9bd884
children 376148b31b5e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
83776
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 -*- coding: utf-8; mode: text; -*-
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 100971
diff changeset
3 Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
87914
d44b10a5ce75 Add copyright header.
Glenn Morris <rgm@gnu.org>
parents: 83776
diff changeset
4 See the end of the file for license conditions.
d44b10a5ce75 Add copyright header.
Glenn Morris <rgm@gnu.org>
parents: 83776
diff changeset
5
83776
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 From README.multi-tty in the multi-tty branch.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7 Some of this information may be out of date.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
10 THANKS
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
11 ------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
12
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
13 The following is a (sadly incomplete) list of people who have
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
14 contributed to the project by testing, submitting patches, bug
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
15 reports, and suggestions. Thanks!
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
17 Bernard Adrian <bernadrian@free.fr>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
18 ARISAWA Akihiro <ari@mbf.ocn.ne.jp>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19 Vincent Bernat <bernat@luffy.cx>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
20 Han Boetes <han@mijncomputer.nl>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
21 Francisco Borges <borges@let.rug.nl>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
22 Damien Cassou <damien.cassou@laposte.net>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
23 Robert J. Chassell <bob@rattlesnake.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
24 Romain Francoise <romain@orebokech.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
25 Ami Fischman <ami@fischman.org>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
26 Noah Friedman <friedman@splode.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27 Friedrich Delgado Friedrichs <friedel@nomaden.org>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
28 Samium Gromoff <_deepfire@mail.ru>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
29 Mikhail Gusarov <dottedmag@dottedmag.net>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
30 Eric Hanchrow <offby1@blarg.net>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
31 IRIE Tetsuya <irie@t.email.ne.jp>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
33 Bas Kok <nekkobassu@yahoo.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
34 Jurej Kubelka <Juraj.Kubelka@email.cz>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35 David Lichteblau <david@lichteblau.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36 Richard Lewis <rtf@jabble.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37 mace <mace@kirjakaapeli.lib.hel.fi>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
38 Suresh Madhu <madhu@cs.unm.edu>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
39 Xavier Mallard <zedek@gnu-rox.org>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40 Istvan Marko <mi-mtty@kismala.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41 Ted Morse <morse@ciholas.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 Gergely Nagy <algernon@debian.org>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
43 Dan Nicolaescu <dann@ics.uci.edu>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44 Kalle Olavi Niemitalo <kon@iki.fi>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45 Mark Plaksin <happy@mcplaksin.org>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46 Frank Ruell <stoerte@dreamwarrior.net>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 Tom Schutzer-Weissmann <trmsw@yahoo.co.uk>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
48 Joakim Verona <joakim@verona.se>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
49 Dan Waber <dwaber@logolalia.com>
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
50 and many others.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
51
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
52 Richard Stallman was kind enough to review an earlier version of my
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
53 patches.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
54
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
55
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
56 STATUS
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
57 ------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
59 It still needs to be ported to Windows/Mac/DOS. Both multiple
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
60 tty device support and simultaneous X and tty frame support works
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
61 fine. Emacsclient has been extended to support opening new tty and X
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
62 frames. It has been changed to open new Emacs frames by default.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64 Tested on GNU/Linux, Solaris 8, FreeBSD and OpenBSD.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
66 Known problems:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
68 * GTK support. If you compile your Emacs with the GTK
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69 toolkit, some functionality of multi-tty may be lost. In
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
70 particular, you may get crashes while working on multiple X
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
71 displays at once. Previous releases of GTK had limitations
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
72 and bugs that prevented full-blown multi-display support in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
73 Emacs. (GTK crashed when Emacs tries to disconnect from an
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
74 X server.) Things are much improved in the current GTK
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
75 version, but if you do experience crashes in libgtk, try
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
76 compiling Emacs with the Lucid toolkit instead.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
77
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
78 * The single-kboard mode.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
79
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
80 If your multi-tty Emacs session seems to be frozen, you
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
81 probably have a recursive editing session or a pending
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
82 minibuffer prompt (which is a kind of recursive editing) on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
83 another display. To unfreeze your session, switch to that
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
84 display and complete the recursive edit, for example by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
85 pressing C-] (`abort-recursive-edit').
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
86
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
87 I am sorry to say that currently there is no way to break
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
88 out of this "single-kboard mode" from a frozen display. If
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
89 you are unable to switch to the display that locks the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
90 others (for example because it is on a remote computer),
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
91 then you can use emacsclient to break out of all recursive
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
92 editing sessions:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
93
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
94 emacsclient -e '(top-level)'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
95
96376
c3309dba6542 American English spelling fix.
Glenn Morris <rgm@gnu.org>
parents: 94831
diff changeset
96 Note that this (perhaps) unintuitive behavior is by design.
83776
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
97 Single-kboard mode is required because of an intrinsic Emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
98 limitation that is very hard to eliminate. (This limitation
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
99 is related to the single-threaded nature of Emacs.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
100
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
101 I plan to implement better user notification and support for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
102 breaking out of single-kboard mode from locked displays.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
103
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
104 * Mac and DOS support is broken, doesn't even
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
105 compile. Multiple display support will probably not provide
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
106 new Emacs features on these systems, but the multi-tty
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
107 branch changed a few low-level interfaces, and the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
108 system-dependent source files need to be adapted
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
109 accordingly. The changes are mostly trivial, so almost
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
110 anyone can help, if only by compiling the branch and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
111 reporting the compiler errors.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
112
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
113
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
114 TESTING
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
115 -------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
116
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
117 To test the multi-tty feature, start up the Emacs server with the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
118 following commands:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
119
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
120 emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
121 M-x server-start
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
122
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
123 and then (from a shell prompt on another terminal) start emacsclient
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
124 with
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
125 emacsclient -t /optional/file/names... (for a tty frame)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
126 emacsclient /optional/file/names... (for an X frame)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
127
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
128 (Make sure both emacs and emacsclient are multi-tty versions.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
129 You'll hopefully have two fully working, independent frames on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
130 separate terminals. The new frame is closed automatically when you
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
131 finish editing the specified files (C-x #), but delete-frame (C-x 5 0)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
132 also works. Of course, you can create frames on more than two tty
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
133 devices.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
134
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
135 Creating new frames on the same tty with C-x 5 2 (make-frame-command)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
136 works, and behaves the same way as in previous Emacs versions. If you
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
137 exit emacs, all terminals should be restored to their previous states.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
138
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
139 TIPS & TRICKS
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
140 -------------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
141
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
142 I think the best way to use the new Emacs is to have it running inside
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
143 a disconnected GNU screen session, and always use emacsclient for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
144 normal work. One advantage of this is that not a single keystroke of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
145 your work will be lost if the display device that you are using
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
146 crashes, or the network connection times out, or whatever. (I had an
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
147 extremely unstable X server for some time while I was developing these
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
148 patches, and running Emacs this way has saved me a number of M-x
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
149 recover-session invocations.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
150
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
151 I use the following two bash scripts to handle my Emacs sessions:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
152
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
153 -------------------------------------------------------connect-emacs--
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
154 #!/bin/bash
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
155 # Usage: connect-emacs <name> <args>...
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
156 #
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
157 # Connects to the Emacs instance called NAME. Starts up the instance
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
158 # if it is not already running. The rest of the arguments are passed
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
159 # to emacsclient.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
160
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
161 name="$1"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
162 shift
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
163
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
164 if [ -z "$name" ]; then
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
165 echo "Usage: connect_emacs <name> <args>..." >&2
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
166 exit 1
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
167 fi
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
168 preload-emacs "$name" wait
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
169 /usr/bin/emacsclient.emacs-multi-tty -s "$name" "$@"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
170 ----------------------------------------------------------------------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
171
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
172 -------------------------------------------------------preload-emacs--
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
173 #!/bin/bash
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
174 # Usage: preload-emacs <name> [<waitp>]
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
175 #
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
176 # Preloads the Emacs instance called NAME in a detached screen
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
177 # session. Does nothing if the instance is already running. If WAITP
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
178 # is non-empty, the function waits until the server starts up and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
179 # creates its socket; otherwise it returns immediately.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
180
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
181 name="$1"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
182 waitp="$2"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
183 screendir="/var/run/screen/S-$USER"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
184 serverdir="/tmp/emacs$UID"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
185 emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
186
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
187 if [ -z "$name" ]; then
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
188 echo "Usage: preload_emacs <name> [<waitp>]" >&2
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
189 exit 1
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
190 fi
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
191
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
192 if [ ! -e "$screendir"/*."$name" ]; then
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
193 if [ -e "$serverdir/$name" ]; then
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
194 # Delete leftover socket (for the wait option)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
195 rm "$serverdir/$name"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
196 fi
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
197 screen -dmS "$name" "$emacs" -nw --eval "(setq server-name \"$name\")" -f server-start
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
198 fi
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
199 if [ ! -z "$waitp" ]; then
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
200 while [ ! -e "$serverdir/$name" ]; do sleep 0.1; done
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
201 fi
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
202 ----------------------------------------------------------------------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
203
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
204 I have the following in my profile to have two instances automatically
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
205 preloaded for editing and email:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
206
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
207 preload-emacs editor
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
208 preload-emacs gnus
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
209
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
210 It is useful to set up short aliases for connect-emacs. I use the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
211 following:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
212
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
213 alias edit="connect-emacs editor"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
214 alias e=edit
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
215 alias et="connect-emacs editor -t"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
216 alias gnus="connect-emacs gnus"
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
217
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
218
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
219 THINGS TO DO
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
220 ------------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
221
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
222 ** See if `tty-defined-color-alist' needs to be terminal-local.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
223 Update: Dan says it should be, so convert it.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
224
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
225 ** Mikhail Gusarov suggest to add a hook akin to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
226 `after-make-frame-functions' that is called whenever Emacs connects
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
227 to a new terminal. Good idea!
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
228
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
229 ** emacsclient -t on the console does not work after su. You have to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
230 use non-root accounts or start as root to see this.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
231
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
232 Login: root
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
233 Password:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
234 # su lorentey
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
235 $ emacsclient -t
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
236 *ERROR*: Could not open file: /dev/tty1
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
237
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
238 The tty can be opened as /dev/tty by emacsclient, but not by Emacs.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
239 This seems to be a serious problem. Currently my only idea is to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
240 bring back the ugly pty proxy hack from the initial versions of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
241 multi-tty. Suggestions would be appreciated.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
242
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
243 Update: we could change emacsclient to pass its open file
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
244 descriptor to the Emacs process. Unfortunately, this requires a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
245 new Lisp-level Emacs API, and as file descriptors are not otherwise
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
246 exported to Lisp, this approach seems at least as ugly as the pty
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
247 proxy idea.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
248
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
249 ** lisp/vc.el depends on the terminal type during load time.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
250 `vc-annotate-color-map' is one example that needs to be fixed.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
251
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
252 ** Understand how `quit_throw_to_read_char' works, and fix any bugs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
253 that come to light.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
254
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
255 ** See if getcjmp can be eliminated somehow. Why does Emacs allow
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
256 asynchronous input processing while it's reading input anyway?
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
257
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
258 ** `delete-frame' events are handled by `special-event-map'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
259 immediately when read by `read_char'. This is fine but it prevents
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
260 higher-level keymaps from binding that event to get notified of the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
261 deleted frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
262
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
263 Sometimes it would be useful for Lisp code to be notified of frame
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
264 deletions after they have happened, usually because they want to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
265 clean up after the deleted frame. Not all frame-local states can
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
266 be stored as a frame parameter. For example,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
267 `display-splash-screen' uses `recursive-edit' with a special keymap
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
268 override to create its buffer---and it leads to all kinds of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
269 nastiness if Emacs stays in this recursive edit mode after the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
270 frame containing the splash screen is deleted. Basically, the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
271 splash-screen implementation wants to throw out of the recursive
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
272 edit when the frame is deleted; however, it is not legal to throw
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
273 from `delete-frame-functions' because `delete-frame' must not fail.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
274 (Introducing `delete-frame-after-functions' would not help either
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
275 because `delete-frame' may not fail at that time either.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
276
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
277 Currently `fancy-splash-screens' installs a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
278 `delete-frame-functions' hook that sets up a timer to exit the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
279 recursive edit. This is an adequate solution, but it would perhaps
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
280 be better to have something like a `frame-deleted' event that could
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
281 be bound in the normal way.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
282
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
283 ** Trouble: `setenv' doesn't actually set environment variables in the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
284 Emacs process. This defeats the purpose of the elaborate
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
285 `server-with-environment' magic around the `tgetent' call in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
286 `init_tty'. D'oh.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
287
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
288 ** (Possibly) create hooks in struct device for creating frames on a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
289 specific terminal, and eliminate the hackish terminal-related frame
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
290 parameters (display, tty, tty-type).
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
291
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
292 make_terminal_frame
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
293 create_tty_output
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
294
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
295 ** Decide whether to keep the C implementation of terminal parameters,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
296 or revert to the previous, purely Lisp code. It turned out that
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
297 local environments do not need terminal parameters after all.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
298
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
299 ** Move Fsend_string_to_terminal to term.c, and declare get_named_tty
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
300 as static, removing it from dispextern.h.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
301 Move fatal to emacs.c and declare it somewhere.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
302
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
303 ** Search for `suspend-emacs' references and replace them with
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
304 `suspend-frame', if necessary. Ditto for `save-buffers-kill-emacs'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
305 vs. `save-buffers-kill-display'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
306
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
307 ** Emacs crashes when a tty frame is resized so that there is no space
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
308 for all its windows. (Tom Schutzer-Weissmann)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
309
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
310 ** Report GTK multi-display problems to GTK maintainers. For extra
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
311 credit, fix them.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
312
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
313 Currently you can not connect to new X displays when you compile
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
314 Emacs with GTK support. If you want to play around with GTK
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
315 multidisplay (and don't mind core dumps), you can edit src/config.h
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
316 and define HAVE_GTK_MULTIDISPLAY there by hand.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
317
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
318 http://bugzilla.gnome.org/show_bug.cgi?id=85715
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
319
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
320 Update: Han reports that GTK+ version 2.8.9 almost gets display
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
321 disconnects right. GTK will probably be fully fixed by the time
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
322 multi-tty gets into the trunk.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
323
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
324 Update: I am still having problems with GTK+ 2.8.10. I have the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
325 impression that the various multidisplay fixes will only get
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
326 released in GTK+ 2.10.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
327
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
328 ** Audit `face-valid-attribute-values' usage in customize and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
329 elsewhere. Its return value depends on the current window system.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
330 Replace static initializers using it with runtime functions. For
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
331 example, custom's buttons are broken on non-initial device types.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
332
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
333 ** Possibly turn off the double C-g feature when there is an X frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
334 C.f. (emacs)Emergency Escape.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
335
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
336 ** frames-on-display-list should also accept frames.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
337
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
338 ** Consider the `tty-type' frame parameter and the `display-tty-type'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
339 function. They serve the exact same purpose. I think it may be
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
340 a good idea to eliminate one of them, preferably `tty-type'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
341
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
342 ** The handling of lisp/term/*.el, and frame creation in general, is a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
343 big, big mess. How come the terminal-specific file is loaded by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
344 tty-create-frame-with-faces? I don't think it is necessary to load
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
345 these files for each frame; once per terminal should be enough.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
346 Update: lisp/term/*.el is not loaded repeatedly anymore, but
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
347 faces.el still needs to be cleaned up.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
348
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
349 ** Fix frame-set-background-mode in this branch. It was recently
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
350 changed in CVS, and frame.el in multi-tty has not yet been adapted
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
351 for the changes. (It needs to look at
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
352 default-frame-background-mode.) (Update: maybe it is fixed now;
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
353 needs testing.) (Note that the byte compiler has this to say about
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
354 term/rxvt.el:)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
355
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
356 term/rxvt.el:309:17:Warning: assignment to free variable
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
357 `default-frame-background-mode'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
358
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
359 ** I think `(set-)terminal-local-value' and the terminal parameter
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
360 mechanism should be integrated into a single framework.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
361
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
362 (Update: `(set-)terminal-local-value' is now eliminated, but the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
363 terminal-local variables should still be accessible as terminal
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
364 parameters. This also applies to `display-name' and similar
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
365 functions.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
366
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
367 ** Add the following hooks: after-delete-frame-hook (for server.el,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
368 instead of delete-frame-functions),
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
369 after-delete-terminal-functions, after-create-terminal-functions.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
370
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
371 ** BULK RENAME: The `display-' prefix of new Lisp-level functions
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
372 conflicts with stuff like `display-time-mode'. Use `device-'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
373 or `terminal-' instead. I think I prefer `terminal-'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
374
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
375 It turns out that most of the offending Lisp functions were defined
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
376 in the trunk. Therefore, compatibility aliases should be defined
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
377 for the following names:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
378
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
379 display-color-cells terminal-color-cells
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
380 display-color-p terminal-color-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
381 display-graphic-p terminal-graphic-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
382 display-grayscale-p terminal-grayscale-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
383 display-images-p terminal-images-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
384 display-mm-height terminal-mm-height
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
385 display-mm-width terminal-mm-width
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
386 display-mouse-p terminal-mouse-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
387 display-multi-font-p terminal-multi-font-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
388 display-multi-frame-p terminal-multi-frame-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
389 display-pixel-height terminal-pixel-height
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
390 display-pixel-width terminal-pixel-width
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
391 display-pixels-per-inch terminal-pixels-per-inch
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
392 display-planes terminal-planes
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
393 display-popup-menus-p terminal-popup-menus-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
394 display-save-under terminal-save-under
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
395 display-screens terminal-screens
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
396 display-supports-face-attributes-p terminal-supports-face-attributes-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
397 display-visual-class terminal-visual-class
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
398 framep-on-display framep-on-terminal
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
399 frames-on-display-list frames-on-terminal-list
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
400
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
401 The following functions were introduced in the multi-tty branch, and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
402 were renamed without aliases:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
403
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
404 delete-display delete-terminal
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
405 display-controlling-tty-p controlling-tty-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
406 display-list terminal-list
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
407 display-live-p terminal-live-p
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
408 display-name terminal-name
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
409 display-tty-type tty-type
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
410 frame-display frame-terminal
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
411 selected-display selected-terminal
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
412
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
413 ** The single-keyboard mode of MULTI_KBOARD is extremely confusing
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
414 sometimes; Emacs does not respond to stimuli from other keyboards.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
415 At least a beep or a message would be important, if the single-mode
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
416 is still required to prevent interference. (Reported by Dan
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
417 Nicolaescu.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
418
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
419 Update: selecting a region with the mouse enables single_kboard
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
420 under X. This is very confusing.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
421
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
422 Update: After discussions with Richard Stallman, this will be
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
423 resolved by having locked displays warn the user to wait, and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
424 introducing a complex protocol to remotely bail out of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
425 single-kboard mode by pressing C-g.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
426
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
427 Update: Warning the user is not trivial to implement, as Emacs has
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
428 only one echo area, shared by all frames. Ideally the warning
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
429 should not be displayed on the display that is locking the others.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
430 Perhaps the high probability of user confusion caused by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
431 single_kboard mode deserves a special case in the display code.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
432 Alternatively, it might be good enough to signal single_kboard mode
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
433 by changing the modelines or some other frame-local display element
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
434 on the locked out displays.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
435
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
436 Update: In fact struct kboard does have an echo_string slot.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
437
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
438 ** The session management module is prone to crashes when the X
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
439 connection is closed and then later I try to connect to a new X
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
440 session:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
441
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
442 #0 0xb7ebc806 in SmcGetIceConnection () from /usr/X11R6/lib/libSM.so.6
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
443 #1 0x080e6641 in x_session_check_input (bufp=0xbf86c9c0) at xsmfns.c:144
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
444 #2 0x080d3bbc in XTread_socket (device=0xa722ff8, expected=1, hold_quit=0xbf86ca90) at xterm.c:7037
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
445 #3 0x080fa404 in read_avail_input (expected=1) at keyboard.c:6696
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
446 #4 0x080fa4ca in handle_async_input () at keyboard.c:6900
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
447 #5 0x080d51fa in x_term_init (display_name=162628899, xrm_option=0x0, resource_name=0x857068c "emacs") at xterm.c:10622
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
448 #6 0x080d920e in x_display_info_for_name (name=162628899) at xfns.c:3975
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
449 #7 0x080d92f9 in check_x_display_info (object=1) at xfns.c:274
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
450 #8 0x080d97b8 in Fx_create_frame (parms=151221485) at xfns.c:3016
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
451 #9 0x0815bf72 in Ffuncall (nargs=2, args=0xbf86ceec) at eval.c:2851
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
452
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
453 I installed a workaround to prevent this. The X session manager is
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
454 only contacted when the very first display in the Emacs session is
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
455 an X display. Also, x_delete_display() on this display aborts
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
456 session management, and XTread_socket only calls
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
457 x_session_check_input when it is called for the display that the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
458 session was opened on. While this does not really fix the bug, it
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
459 makes it much less frequent, because session manager support will
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
460 not normally be enabled when Emacs can survive the shutdown of the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
461 X server.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
462
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
463 See if xsmfns.c should be updated.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
464
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
465 ** Hunt down display-related functions in frame.el and extend them all
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
466 to accept display ids.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
467
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
468 ** rif->flush_display_optional (NULL) calls should be replaced by a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
469 new global function.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
470
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
471 ** The set-locale-environment hack (adding the DISPLAY option) should
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
472 be replaced with a clean design.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
473
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
474 ** standard-display-table should be display-local.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
475 standard-display-european should be display-local.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
476
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
477 ** With iswitchb-default-method set to 'always-frame, only frames on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
478 the current display should be considered. This might involve
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
479 extending `get-buffer-window'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
480
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
481 ** Have a look at Vlocale_coding_system. Seems like it would be a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
482 tedious job to localize it, although most references use it for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
483 interfacing with libc and are therefore OK with the global
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
484 definition.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
485
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
486 Exceptions found so far: x-select-text and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
487 x-cut-buffer-or-selection-value.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
488
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
489 ** Have a look at fatal_error_hook.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
490
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
491 ** Have a look at set_frame_matrix_frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
492
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
493 ** Check if we got term-setup-hook right.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
494
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
495 ** I think tip_frame should be display-local.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
496
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
497 ** Check display reference count handling in x_create_tip_frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
498
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
499 ** make-frame does not correctly handle extra parameters in its
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
500 argument:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
501
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
502 (frame-parameter (make-frame (list (cons 'foobar 42))) 'foobar)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
503 => nil
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
504
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
505 (This is likely an error in the CVS trunk.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
506
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
507 ** Dan Nicolaescu suggests that -nw should be added as an alias for -t
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
508 in emacsclient. Good idea. (Alas, implementing this is not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
509 trivial, getopt_long does not seem to support two-letter ``short''
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
510 options. Patches are welcome.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
511
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
512 ** Mark Plaksin suggests that emacsclient should accept the same
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
513 X-related command-line arguments as Emacs. Most of the X-related
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
514 argument-handling is done in Lisp, so this should be quite easy to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
515 implement. (For example, Samium Gromoff wants emacsclient to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
516 support --geometry; implementing this would add that support.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
517
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
518 ** Gergely Nagy suggests that C-x # should only kill the current
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
519 frame, not any other emacsclient frame that may have the same file
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
520 opened for editing. I think I agree with him.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
521
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
522 ** Very strange bug: visible-bell does not work on secondary
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
523 terminals in xterm and konsole. The screen does flicker a bit,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
524 but it's so quick it isn't noticable.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
525
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
526 (Update: This is probably some problem with padding or whatnot on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
527 the secondary terminals.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
528
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
529 ** Move baud_rate to struct display.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
530
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
531 ** Implement support for starting an interactive Emacs session without
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
532 an initial frame. (The user would connect to it and open frames
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
533 later, with emacsclient.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
534
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
535 ** Fix Mac support (I can't do this entirely myself). Note that the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
536 current state of Mac-specific source files in the multi-tty tree
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
537 are not useful; before starting work on Mac support, revert to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
538 pristine, pre-multi-tty versions.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
539
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
540 ** Fix DOS support (I can't do this entirely myself). Note that the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
541 current state of DOS-specific source files in the multi-tty tree
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
542 are not useful; before starting work on DOS support, revert to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
543 pristine, pre-multi-tty versions.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
544
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
545 ** Fix Windows support. Currently bootstraping works on w32, but Emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
546 crashes on startup and none of the multi-tty features are
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
547 implemented. Many XXX comments mark things that probably need
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
548 updating, ChangeLogs will help in spotting changes to X specific
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
549 files that may need porting.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
550
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
551 ** Do a grep on XXX and ?? for more issues.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
552
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
553 ** flow-ctrl.el must be updated.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
554
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
555 ** Fix stuff_char for multi-tty. Doesn't seem to be of high priority.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
556
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
557 DIARY OF CHANGES
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
558 ----------------
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
559
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
560 (ex-TODO items with explanations.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
561
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
562 -- Introduce a new struct for terminal devices.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
563
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
564 (Done, see struct tty_output. The list of members is not yet
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
565 complete.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
566
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
567 -- Change the bootstrap procedure to initialize tty_list.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
568
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
569 (Done, but needs review.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
570
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
571 -- Change make-terminal-frame to support specifying another tty.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
572
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
573 (Done, new frame parameters: `tty' and `tty-type'.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
574
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
575 -- Implement support for reading from multiple terminals.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
576
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
577 (Done, read_avail_input tries to read from each terminal, until one
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
578 succeeds. MULTI_KBOARD is not used. Secondary terminals don't send
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
579 SIGIO!)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
580
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
581 (Update: They do, now.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
582
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
583 (Update2: After enabling X, they don't.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
584
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
585 -- other-frame should cycle through the frames on the `current'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
586 terminal only.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
587
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
588 (Done, by trivially modifiying next_frame and prev_frame.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
589
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
590 -- Support different terminal sizes.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
591
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
592 (Done, no problem.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
593
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
594 -- Make sure terminal resizes are handled gracefully. (Could be
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
595 problematic.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
596
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
597 (Done. We don't get automatic SIGWINCH for additional ttys,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
598 though.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
599
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
600 -- Extend emacsclient to automatically open a new tty when it connects
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
601 to Emacs.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
602
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
603 (Done. It's an ugly hack, needs more work.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
604
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
605 -- Redisplay must refresh the topmost frame on *all* terminals, not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
606 just the initial terminal.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
607
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
608 (Done, but introduced an ugly redisplay problems. Ugh.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
609
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
610 -- Fix redisplay problems.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
611
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
612 (Done; it turned out that the entire Wcm structure must be moved
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
613 inside tty_output. Why didn't I catch this earlier?)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
614
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
615 -- Provide a way for emacsclient to tell Emacs that the tty has been
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
616 resized.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
617
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
618 (Done, simply forward the SIGWINCH signal.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
619
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
620 -- Each keypress should automatically select the frame corresponding
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
621 to the terminal that it was coming from. This means that Emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
622 must know from which terminal the last keyboard event came from.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
623
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
624 (Done, it was quite simple, the input event system already
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
625 supported multiple frames.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
626
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
627 -- Fix SIGIO issue with secondary terminals.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
628
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
629 (Done, emacsclient signals Emacs after writing to the proxy pseudo
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
630 terminal. Note that this means that multi-tty does not work with
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
631 raw ttys!)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
632
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
633 (Update: This is bullshit. There is a read_input_waiting function,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
634 extend that somehow.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
635
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
636 (Update of update: The first update was not right either, extending
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
637 read_input_waiting was not necessary. Secondary ttys do seem to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
638 send signals on input.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
639
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
640 (Update^3: Not any more.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
641
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
642 -- Make make-terminal-frame look up the `tty' and `tty-type' frame
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
643 parameters from the currently selected terminal before the global
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
644 default.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
645
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
646 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
647
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
648 -- Put all cached terminal escape sequences into struct tty_output.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
649 Currently, they are still stored in global variables, so we don't
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
650 really support multiple terminal types.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
651
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
652 (Done. It was not fun.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
653
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
654 -- Implement sane error handling after initialization. (Currently
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
655 emacs exits if you specify a bad terminal type.) The helpful error
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
656 messages must still be provided when Emacs starts.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
657
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
658 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
659
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
660 -- Implement terminal deletion, i.e., deleting local frames, closing
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
661 the tty device and restoring its previous state without exiting
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
662 Emacs.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
663
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
664 (Done, but at the moment only called when an error happens during
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
665 initialization. There is a memory corruption error around this
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
666 somewhere.) (Update: now it is fully enabled.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
667
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
668 -- Implement automatic deletion of terminals when the last frame on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
669 that terminal is closed.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
670
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
671 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
672
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
673 -- Restore tty screen after closing the terminal.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
674
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
675 (Done, we do the same as Emacs 21.2 for all terminals.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
676
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
677 -- 'TERM=dumb src/emacs' does not restore the terminal state.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
678
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
679 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
680
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
681 -- C-g should work on secondary terminals.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
682
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
683 (Done, but the binding is not configurable.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
684
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
685 -- Deal with SIGHUP in Emacs and in emacsclient. (After this, the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
686 server-frames may be removed from server.el.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
687
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
688 (Done, nothing to do. It seems that Emacs does not receive SIGHUP
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
689 from secondary ttys, which is actually a good thing.) (Update: I
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
690 think it would be a bad idea to remove server-frames.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
691
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
692 -- Change emacsclient/server.el to support the -t argument better,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
693 i.e. automatically close the socket when the frame is closed.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
694
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
695 (Seems to be working OK.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
696
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
697 -- Fix mysterious memory corruption error with tty deletion. To
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
698 trigger it, try the following shell command:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
699
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
700 while true; do TERM=no-such-terminal-definition emacsclient -h; done
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
701
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
702 Emacs usually dumps core after a few dozen iterations. (The bug
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
703 seems to be related to the xfreeing or bzeroing of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
704 tty_output.Wcm. Maybe there are outside references to struct Wcm?
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
705 Why were these vars collected into a struct before multi-tty
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
706 support?)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
707
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
708 (Done. Whew. It turned out that the problem had nothing to do
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
709 with hypothetical external references to Wcm, or any other
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
710 tty_output component; it was simply that delete_tty closed the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
711 filehandles of secondary ttys twice, resulting in fclose doubly
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
712 freeing memory. Utterly trivial matter. I love the C's memory
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
713 management, it puts hair on your chest.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
714
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
715 -- Support raw secondary terminals. (Note that SIGIO works only on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
716 the controlling terminal.) Hint: extend read_input_waiting for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
717 multiple ttys and hopefully this will be fixed.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
718
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
719 (Done, it seems to have been working already for some time. It
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
720 seems F_SETOWN does work, after all. Not sure what made it fail
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
721 earlier, but it seems to be fixed (there were several changes
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
722 around request_sigio, maybe one of them did it).
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
723 read_input_waiting is only used in sys_select, don't change
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
724 it.) (Update: After adding X support, it's broken again.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
725 (Update^2: No it isn't.) :-)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
726
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
727 -- Find out why does Emacs abort when it wants to close its
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
728 controlling tty. Hint: chan_process[] array. Hey, maybe
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
729 noninterrupt-IO would work, too? Update: no, there is no process
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
730 for stdin/out.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
731
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
732 (Done. Added add/delete_keyboard_wait_descriptor to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
733 term_init/delete_tty. The hint was right, in a way.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
734
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
735 -- Issue with SIGIO: it needs to be disabled during redisplay. See if
96376
c3309dba6542 American English spelling fix.
Glenn Morris <rgm@gnu.org>
parents: 94831
diff changeset
736 fcntl kernel behavior could be emulated by emacsclient.
83776
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
737
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
738 (Done. Simply disabled the SIGIO emulation hack in emacsclient.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
739 (Update: it was added back.) (Update^2: and removed again.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
740
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
741 -- server.el: There are issues with saving files in buffers of closed
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
742 clients. Try editing a file with emacsclient -f, and (without
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
743 saving it) do a delete-frame. The frame is closed without
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
744 question, and a surprising confirmation prompt appears in another
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
745 frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
746
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
747 (Done. delete-frame now asks for confirmation if it still has
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
748 pending buffers, and modified buffers don't seem to be deleted.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
749
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
750 -- emacsclient.el, server.el: Handle eval or file open errors when
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
751 doing -t.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
752
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
753 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
754
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
755 -- Make parts of struct tty_output accessible from Lisp. The device
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
756 name and the type is sufficient.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
757
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
758 (Done, see frame-tty-name and frame-tty-type.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
759
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
760 -- Export delete_tty to the Lisp environment, for emacsclient.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
761
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
762 (Done, see delete-tty.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
763
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
764 -- Get rid of the accessor macros in termchar.h, or define macros for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
765 all members.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
766
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
767 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
768
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
769 -- Move device-specific parameters (like costs) commonly used by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
770 device backends to a common, device-dependent structure.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
771
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
772 (Done. See struct display_method in termhooks.h.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
773
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
774 -- Fix X support.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
775
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
776 (Done. Well, it seems to be working.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
777
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
778 -- Allow simultaneous X and tty frames. (Handling input could be
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
779 tricky. Or maybe not.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
780
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
781 (Done. Allowed, that is. It is currently extremely unstable, to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
782 the point of being unusable. The rif variable causes constant
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
783 core dumps. Handling input is indeed tricky.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
784
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
785 -- Rewrite multi-tty input in terms of MULTI_KBOARD.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
786
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
787 (Done. In fact, there was no need to rewrite anything, I just
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
788 added a kboard member to tty_display_info, and initialized the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
789 frame's kboard from there.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
790
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
791 -- Fix rif issue with X-tty combo sessions. IMHO the best thing to do
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
792 is to get rid of that global variable (and use the value value in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
793 display_method, which is guaranteed to be correct).
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
794
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
795 (Done, did exactly that. Core dumps during combo sessions became
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
796 much rarer. In fact, I have not yet met a single one.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
797
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
798 -- Add multi-tty support to talk.el.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
799
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
800 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
801
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
802 -- Clean up the source of emacsclient. It is a mess.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
803
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
804 (Done, eliminated stupid proxy-pty kludge.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
805
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
806 -- Fix faces on tty frames during X-tty combo sessions. There is an
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
807 init_frame_faces call in init_sys_modes, see if there is a problem
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
808 with it.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
809
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
810 (Done, there was a stupid mistake in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
811 Ftty_supports_face_attributes_p. Colors are broken, though.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
812
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
813 -- C-x 5 2, C-x 5 o, C-x 5 0 on an emacsclient frame unexpectedly
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
814 exits emacsclient. This is a result of trying to be clever with
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
815 delete-frame-functions.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
816
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
817 (Fixed, added delete-tty-after-functions, and changed server.el to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
818 use it.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
819
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
820 -- Something with (maybe) multi-keyboard support broke function keys
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
821 and arrows on ttys during X+tty combo sessions. Debug this.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
822
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
823 (I can't reproduce it, maybe the terminal type was wrong.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
824
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
825 -- Fix input from raw ttys (again).
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
826
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
827 (Now it seems to work all right.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
828
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
829 -- During an X-tty combo session, a (message "Hello") from a tty frame
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
830 goes to the X frame. Fix this.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
831
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
832 (Done. There was a safeguard against writing to the initial
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
833 terminal frame during bootstrap which prevented echo_area_display
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
834 from working correctly on a tty frame during a combo session.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
835
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
836 -- If there are no frames on its controlling terminal, Emacs should
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
837 exit if the user presses C-c there.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
838
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
839 (Done, as far as possible. See the SIGTERM comment in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
840 interrupt_signal on why this seems to be impossible to solve this
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
841 in general.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
842
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
843 -- During an X session, Emacs seems to read from stdin. Also, Emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
844 fails to start without a controlling tty.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
845
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
846 (Fixed by replacing the troublesome termcap display with a dummy
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
847 bootstrap display during bootstrap.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
848
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
849 -- Do tty output through struct display, like graphical display
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
850 backends.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
851
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
852 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
853
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
854 -- Define an output_initial value for output_method for the initial
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
855 frame that is dumped with Emacs. Checking for this frame (e.g. in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
856 cmd_error_internal) is ugly.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
857
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
858 (Done, breaking interactive temacs.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
859
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
860 -- The command `emacsclient -t -e '(delete-frame)'' fails to exit.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
861
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
862 (Fixed.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
863
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
864 -- frame-creation-function should always create a frame that is on the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
865 same display as the selected frame. Maybe frame-creation-function
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
866 should simply be removed and make-frame changed to do the right
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
867 thing.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
868
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
869 (Done, with a nice hack. frame-creation-function is now frame-local.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
870
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
871 -- Fix C-g on raw ttys.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
872
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
873 (Done. I disabled the interrupt/quit keys on all secondary
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
874 terminals, so Emacs sees C-g as normal input. This looks like an
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
875 overkill, because emacsclient has extra code to pass SIGINT to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
876 Emacs, so C-g should remain the interrupt/quit key on emacsclient
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
877 frames. See the next entry why implementing this distinction would
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
878 be a bad idea.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
879
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
880 -- Make sure C-g goes to the right frame with ttys. This is hard, as
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
881 SIGINT doesn't have a tty parameter. :-(
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
882
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
883 (Done, the previous change fixes this as a pleasant side effect.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
884
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
885 -- I have seen a case when Emacs with multiple ttys fell into a loop
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
886 eating 100% of CPU time. Strace showed this loop:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
887
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
888 getpid() = 30284
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
889 kill(30284, SIGIO) = 0
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
890 --- SIGIO (I/O possible) @ 0 (0) ---
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
891 ioctl(6, FIONREAD, [0]) = -1 EIO (Input/output error)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
892 ioctl(5, FIONREAD, [0]) = -1 EIO (Input/output error)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
893 ioctl(0, FIONREAD, [0]) = 0
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
894 sigreturn() = ? (mask now [])
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
895 gettimeofday({1072842297, 747760}, NULL) = 0
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
896 gettimeofday({1072842297, 747806}, NULL) = 0
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
897 select(9, [0 3 5 6], NULL, NULL, {0, 0}) = 2 (in [5 6], left {0, 0})
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
898 select(9, [0 3 5 6], NULL, NULL, {0, 0}) = 2 (in [5 6], left {0, 0})
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
899 gettimeofday({1072842297, 748245}, NULL) = 0
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
900
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
901 I have seen something similar with a single X frame, but have not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
902 been able to reproduce it for debugging.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
903
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
904 Update: This may have been caused by checking for nread != 0
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
905 instead of nread > 0 after calling read_socket_hook in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
906 read_avail_input.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
907
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
908 (Fixed. This was caused by unconditionally including stdin in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
909 input_wait_mask in init_process. The select call in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
910 wait_reading_process_input always returned immediately, indicating
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
911 that there is pending input from stdin, which nobody read.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
912
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
913 Note that the above strace output seems to be an unrelated but
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
914 similar bug. I think that is now fixed.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
915
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
916 -- Exiting Emacs while there are emacsclient frames doesn't restore the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
917 ttys to their default states.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
918
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
919 (This seems to be fixed by some previous change.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
920
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
921 -- Allow opening an X session after -nw.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
922
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
923 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
924
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
925 -- Fix color handling during tty+X combo sessions. (It seems that tty
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
926 sessions automatically convert the face colors to terminal colors
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
927 when the face is loaded. This conversion must happen instead on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
928 the fly in write_glyphs, which might be problematic, as color
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
929 approximation is currently done in lisp (term/tty-colors.el).)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
930 (Update: hm, colors seem to work fine if I start emacs with -nw and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
931 then create an X frame. Maybe it's just a small buglet somewhere.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
932
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
933 (Seems to be fixed. The problem was in startup.el, it did not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
934 initialize tty colors when the initial window system was
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
935 graphical.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
936
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
937 -- emacs -nw --eval '(y-or-n-p "Foobar")' segfaults. (Reported by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
938 Romain Francoise)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
939
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
940 (Fixed, there was a keyboard initialization problem.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
941
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
942 -- Fix interactive use of temacs. There are face-related SEGVs, most
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
943 likely because of changes in realize_default_face, realize_face.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
944
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
945 (Fixed.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
946
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
947 -- Don't exit Emacs when the last X connection fails during a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
948 multi-display session.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
949
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
950 (Fixed.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
951
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
952 -- Dan Nicolaescu noticed that starting emacsclient on the same
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
953 terminal device that is the controlling tty of the Emacs process
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
954 gives unexpected results.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
955
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
956 (Fixed.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
957
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
958 -- Istvan Marko reported that Emacs hang on ttys if it was started
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
959 from a shell script.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
960
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
961 (Fixed. There was a bug in the multi-tty version of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
962 narrow_foreground_group. tcsetpgrp blocks if it is called from a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
963 process that is not in the same process group as the tty.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
964
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
965 -- emacsclient -t from an Emacs term buffer does not work, complains
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
966 about face problems. This can even lock up Emacs (if the recursive
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
967 frame sets single_kboard). Update: the face problems are caused by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
968 bugs in term.el, not in multi-tty. The lockup is caused by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
969 single_kboard mode, and is not easily resolvable. The best thing to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
970 do is to simply refuse to create a tty frame of type `eterm'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
971
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
972 (Fixed, changed emacsclient to check for TERM=eterm. The face
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
973 complaints seem to be caused by bugs in term.el; they are not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
974 related to multi-tty.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
975
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
976 -- Find out the best way to support suspending Emacs with multiple
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
977 ttys. My guess: disable it on the controlling tty, but from other
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
978 ttys pass it on to emacsclient somehow. (It is (I hope) trivial to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
979 extend emacsclient to handle suspend/resume. A `kill -STOP' almost
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
980 works right now.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
981
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
982 (Done. I needed to play with signal handling and the server
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
983 protocol a bit to make emacsclient behave as a normal UNIX program
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
984 wrt foreground/background process groups.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
985
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
986 -- There is a flicker during the startup of `emacs -nw'; it's as if
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
987 the terminal is initialized, reset and then initialialized again.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
988 Debug this. (Hint: narrow_foreground_group is called twice during
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
989 startup.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
990
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
991 (This is gone.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
992
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
993 -- Robert Chassell has found serious copy-paste bugs with the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
994 multi-tty branch. There seem to be redisplay bugs while copying
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
995 from X to a terminal frame. Copying accented characters do not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
996 work for me.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
997
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
998 (Patch-124 should fix this, by changing the interprogram-*-function
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
999 variables to be frame-local, as suggested by Mark Plaksin
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1000 (thanks!). I think that the redisplay bugs are in fact not bugs,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1001 but delays caused by single_kboard --> perhaps MULTI_KBOARD should
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1002 be removed.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1003
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1004 -- frame-creation-function was removed, which might be a bad idea.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1005 Think up a compatible solution.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1006
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1007 (It was an internal interface that may be changed when necessary.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1008
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1009 -- Change Lisp code not to (getenv "TERM"); use the `tty-type' frame
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1010 parameter or the frame-tty-type function instead. (M-x tags-search
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1011 "TERM" helps with this.) Update: Actually, all getenv invocations
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1012 should be checked for multi-tty compatibility, and an interface
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1013 must be implemented to get the remote client's environment.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1014
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1015 (Done. Only getenv calls in lisp/term/*.el were changed; other
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1016 calls should be mostly left as they are.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1017
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1018 -- Add an elaborate mechanism for display-local variables. (There are
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1019 already a few of these; search for `terminal-local' in the Elisp
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1020 manual.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1021
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1022 (Not needed. Display-local variables could be emulated by
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1023 frame-local variables.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1024
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1025 -- Emacs assumes that all terminal frames have the same locale
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1026 settings as Emacs itself. This may lead to bogus results in a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1027 multi-locale setup. (E.g., while logging in from a remote client
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1028 with a different locale.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1029 (Update after new bugreport by Friedrich Delgado Friedrichs:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1030 (at least) the structs terminal_coding and keyboard_coding in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1031 coding.c must be moved to struct display, and the Lisp interface
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1032 [set-]keyboard-coding-system must be adapted for the change.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1033
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1034 (Fixed. Emacs now uses the locale settings as seen by the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1035 emacsclient process for server tty frames.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1036 (Update: Not really; Vlocale_coding_system is still global.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1037
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1038 -- Make `struct display' accessible to Lisp programs. Accessor functions:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1039
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1040 (displayp OBJECT): Returns t if OBJECT is a display.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1041 => Implemented as display-live-p.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1042
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1043 (display-list): Returns list of currently active displays.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1044 => Implemented.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1045
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1046 (selected-display): Returns the display object of the selected frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1047 => Not strictly necessary, but implemented anyway.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1048
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1049 (frame-display FRAME): Returns the display object of FRAME.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1050 => Implemented.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1051
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1052 (display-frames DISPLAY): Returns a list of frames on DISPLAY.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1053 => Already implemented, see frames-on-display-list.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1054
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1055 (display-type DISPLAY): Returns the type of DISPLAY, as a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1056 symbol. (See `framep'.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1057 => Implemented as display-live-p.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1058
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1059 (display-device DISPLAY): Returns the name of the device that
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1060 DISPLAY uses, as a string. (E.g: "/dev/pts/16", or
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1061 ":0.0")
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1062 => Implemented as display-name.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1063
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1064 etc.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1065
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1066 See next issue why this is necessary.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1067
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1068 (Update: The consensus on emacs-devel seems to be to do this via
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1069 integer identifiers. That's fine by me.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1070
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1071 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1072
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1073 -- The following needs to be supported:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1074
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1075 $ emacsclient -t
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1076 C-z
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1077 $ emacsclient -t
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1078 (This fails now.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1079
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1080 The cleanest way to solve this is to allow multiple displays on the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1081 same terminal device; each new emacsclient process should create
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1082 its own display. As displays are currently identified by their
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1083 device names, this is not possible until struct display becomes
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1084 accessible as a Lisp-level object.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1085
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1086 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1087
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1088 -- Miles Bader suggests that C-x C-c on an emacsclient frame should
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1089 only close the frame, not exit the entire Emacs session. Update:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1090 see above for a function that does this. Maybe this should be the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1091 new default?
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1092
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1093 (Done. This is the new default. No complaints so far.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1094
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1095 -- Clean up the frame-local variable system. I think it's ugly and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1096 error-prone. But maybe I just haven't yet fully understood it.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1097
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1098 (Nothing to do. It doesn't seem ugly any more. It's rather clever.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1099
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1100 -- Support multiple character locales. A version of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1101 `set-locale-environment' needs to be written for setting up
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1102 display-local settings on ttys. I think calling
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1103 set-display-table-and-terminal-coding-system and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1104 set-keyboard-coding-system would be enough. The language
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1105 environment itself should remain a global setting.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1106
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1107 (Done, by an ugly hack.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1108
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1109 -- The terminal customization files in term/*.el tend to change global
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1110 parameters, which may confuse Emacs with multiple displays. Change
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1111 them to tweak only frame-local settings, if possible. (They tend
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1112 to call define-key to set function key sequences a lot.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1113
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1114 (Done, by making `function-key-map' terminal-local (i.e., part of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1115 struct kboard). This has probably covered all the remaining problems.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1116
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1117 -- Make `function-key-map' and `key-translation-map' terminal-local.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1118
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1119 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1120
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1121 -- Implement `terminal-local-value' and `set-terminal-local-value' to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1122 allow deterministic access to terminal local bindings. The
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1123 encode-kb package can not set up `key-translation-map' without
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1124 these. The terminal-local bindings seem to be independent of what
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1125 frame is selected.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1126
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1127 (Done.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1128
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1129 -- xt-mouse.el needs to be adapted for multi-tty. It currently
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1130 signals an error on kill-emacs under X, which prevents the user
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1131 from exiting Emacs. (Reported by Mnemonikk on freenode.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1132
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1133 (Done, I hope.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1134
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1135
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1136 -- Having {reset,init}_all_sys_modes in set-input-mode breaks arrow
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1137 keys on non-selected terminals under screen, and sometimes on other
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1138 terminal types as well. The other function keys continue to work
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1139 fine. Sometimes faces on these screens become garbled.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1140
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1141 This only seems to affect displays that are of the same terminfo
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1142 type as the selected one. Interestingly, in screen Emacs normally
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1143 reports the up arrow key as `M-o A', but after the above SNAFU, it
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1144 complains about `M-[ a'. UNIX ttys are a complete mystery to me,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1145 but it seems the reset-reinitialize cycle somehow leaves the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1146 non-selected terminals in a different state than usual. I have no
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1147 idea how this could happen.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1148
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1149 Currently set-input-mode resets only the currently selected
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1150 terminal, which seems to somehow work around the problem.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1151
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1152 Update:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1153
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1154 Dan Nicolaescu <dann@ics.uci.edu> writes:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1155 > Some terminals have 2 modes for cursor keys: Application Mode where
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1156 > the cursor keys transmit the codes defined in the terminfo entry, and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1157 > Cursor mode. Applications have to send the smkx and rmkx terminfo
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1158 > strings to switch between the 2 modes. So Emacs (and emacsclient) have
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1159 > to send smkx when initializing and rmkx when quitting (or on
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1160 > suspend).
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1161
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1162 (I think patch-370 fixed this.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1163
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1164 -- This long-standing bug (first reported by Han Boetes) seems to come
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1165 and go all the time. It is time to track it down and fix it.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1166
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1167 emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1168 M-x server-start
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1169
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1170 # From another xterm:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1171 emacsclient -e '(y-or-n-p "Do you want me to crash? ")'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1172 # Notice how the answer ends up in the *scratch* buffer
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1173 M-x garbage-collect
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1174 SIGSEGV
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1175
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1176 (Fixed in patch-414 after detailed analysis by Kalle Olavi Niemitalo.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1177
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1178 -- normal-erase-is-backspace-mode in simple.el needs to be updated for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1179 multi-tty (rep. by Dan Waber). (The Delete key is broken on X
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1180 because of this.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1181
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1182 (Fixed in patch-427.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1183
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1184 -- I think keyboard-translate-table should be made terminal-local.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1185
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1186 (Done in patch-431.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1187
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1188 -- The semantics of terminal-local variables are confusing; it is not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1189 clear what binding is in effect in any given time. See if
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1190 current_kboard (or at least the terminal-local bindings exported to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1191 Lisp) might be changed to be tied to the selected frame instead.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1192 Currently, `function-key-map' and `key-translation-map' may be
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1193 accessed reliably only using the hackish
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1194 `(set-)terminal-local-value' functions.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1195
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1196 Perhaps there should be a difference between `last-command' &co.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1197 and these more conventional configuration variables.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1198 (E.g. `symbol-value' would use current_kboard to access
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1199 `last-command', but SELECTED_FRAME()->display->kboard to get the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1200 value of `function-key-map'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1201
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1202 (Fixed in patch-434.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1203
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1204 -- If the first key pressed on a new tty terminal is a function key,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1205 it is not recognized correctly. May be related to the bug below.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1206
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1207 (Seems to have been fixed as a side effect of patch-434. "The bug
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1208 below" was the set-input-mode madness.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1209
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1210 (Update: this bug was fixed for good in patch-449. It was tracked
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1211 down to a bug in `read_key_sequence': it failed to reinitialize its
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1212 local function-key-map/key-translation-map references when it
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1213 switched keyboards. I don't understand why did this bug only
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1214 appear on brand new frames, though!)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1215
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1216 -- Disable connecting to a new X display when we use the GTK toolkit.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1217
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1218 (Disabled in patch-450.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1219
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1220 -- Implement automatic forwarding of client environment variables to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1221 forked processes, as discussed on the multi-tty list. Terminal
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1222 parameters are now accessible in C code, so the biggest obstacle is
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1223 gone. The `getenv_internal' and `child_setup' functions in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1224 callproc.c must be changed to support the following variable:
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1225
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1226 terminal-local-environment-variables is a variable defined in ...
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1227
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1228 Enable or disable terminal-local environment variables.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1229
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1230 If set to t, `getenv', `setenv' and subprocess creation
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1231 functions use the environment variables of the emacsclient
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1232 process that created the selected frame, ignoring
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1233 `process-environment'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1234
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1235 If set to nil, Emacs uses `process-environment' and ignores
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1236 the client environment.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1237
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1238 Otherwise, `terminal-local-environment-variables' should be a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1239 list of variable names (represented by Lisp strings) to look
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1240 up in the client environment. The rest will come from
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1241 `process-environment'.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1242
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1243 (Implemented in patch-461; `terminal-getenv', `terminal-setenv' and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1244 `with-terminal-environment' are now replaced by extensions to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1245 `getenv' and `setenv', and the new `local-environment-variables'
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1246 facility. Yay!)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1247
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1248 (Updated in patch-465 to fix the semantics of let-binding
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1249 `process-environment'. `process-environment' was changed to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1250 override all local/global environment variables, and a new variable
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1251 `global-environment' was introduced to have `process-environment's
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1252 old meaning.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1253
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1254 (Updated in patch-466 to fix the case when two emacsclient sessions
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1255 share the same terminal, but have different environment. The local
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1256 environment lists are now stored as frame parameters, so the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1257 C-level terminal parameters are not strictly necessary any more.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1258
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1259 -- `Fdelete_frame' is called from various critical places where it is
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1260 not acceptable for the frame deletion to fail, e.g. from
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1261 x_connection_closed after an X error. `Fdelete_frame' now protects
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1262 against `delete-frame-functions' throwing an error and preventing a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1263 frame delete. (patch-475)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1264
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1265 -- Fix set-input-mode for multi-tty. It's a truly horrible interface;
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1266 what if we'd blow it up into several separate functions (with a
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1267 compatibility definition)?
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1268
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1269 (Done. See `set-input-interrupt-mode', `set-output-flow-control',
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1270 `set-input-meta-mode' and `set-quit-char'.) (patch-457)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1271
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1272 -- Let-binding `overriding-terminal-local-map' on a brand new frame
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1273 does not seem to work correctly. (See `fancy-splash-screens'.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1274 The keymap seems to be set up right, but events go to another
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1275 terminal. Or is it `unread-command-events' that gets Emacs
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1276 confused? Investigate.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1277
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1278 (Emacs was confused because a process filter entered
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1279 `recursive-edit' while Emacs was reading input. I added support
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1280 for this in the input system.) (patch-489)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1281
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1282 -- I smell something funny around pop_kboard's "deleted kboard" case.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1283 Determine what are the circumstances of this case, and fix any
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1284 bug that comes to light.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1285
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1286 (It happens simply because single_kboard's terminal is sometimes
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1287 deleted while executing a command on it, for example the one that
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1288 kills the terminal. There was no bug here, but I rewrote the whole
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1289 single_kboard mess anyway.) (patch-489)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1290
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1291 -- Understand Emacs's low-level input system (it's black magic) :-)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1292 What exactly does interrupt_input do? I tried to disable it for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1293 raw secondary tty support, but it does not seem to do anything
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1294 useful. (Update: Look again. X unconditionally enables this, maybe
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1295 that's why raw terminal support is broken again. I really do need
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1296 to understand input.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1297 (Update: I am starting to understand the read_key_sequence->read-char
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1298 ->kbd_buffer_get_event->read_avail_input->read_socket_hook path. Yay!)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1299
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1300 (Update: OK, it all seems so easy now (NOT). Input could be done
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1301 synchronously (with wait_reading_process_input), or asynchronously
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1302 by SIGIO or polling (SIGALRM). C-g either sets the Vquit_flag,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1303 signals a 'quit condition (when immediate_quit), or throws to
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1304 `getcjmp' when Emacs was waiting for input when the C-g event
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1305 arrived.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1306
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1307 -- Replace wrong_kboard_jmpbuf with a special return value of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1308 read_char. It is absurd that we use setjmp/longjmp just to return
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1309 to the immediate caller.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1310
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1311 (Done in patch-500.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1312
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1313 -- `tool-bar-mode', `scroll-bar-mode', `menu-bar-mode' and
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1314 'fringe-mode' are modes global to the entire Emacs session, not
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1315 just a single frame or a single terminal. This means that their
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1316 status sometimes differs from what's actually displayed on the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1317 screen. As a consequence, the Options | Show/Hide menu sometimes
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1318 shows incorrect status, and you have to select an option twice for
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1319 it to have any visible effect on the current frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1320
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1321 Change Emacs so that the status of the items in the Options |
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1322 Show/Hide menu correspond to the current frame.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1323
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1324 (Done in patch-537.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1325
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1326 -- The `default-directory' variable should somehow be set to the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1327 cwd of the emacsclient process when the user runs emacsclient
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1328 without file arguments. Perhaps it is OK to just override the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1329 directory of the *scratch* buffer.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1330
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1331 (Done in patch-539.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1332
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1333 -- The borders on tooltip frames on X are messed up. More
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1334 specifically, the frame's internal border (internal-border-width
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1335 frame parameter) is not filled with the correct background color.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1336
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1337 It seems the border contents are drawn onto by the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1338 update_single_window call in `x-show-tip'. After some debugging, I
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1339 think the window's background color is not set up
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1340 correctly---calling `x_clear_area' fills the specified area with
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1341 black, not light yellow.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1342
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1343 (Done in patch-544. A background_pixel field was defined both in
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1344 struct frame and struct x_output, and Emacs got confused between
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1345 them.)
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1346
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1347
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1348 This file is part of GNU Emacs.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1349
94831
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87914
diff changeset
1350 GNU Emacs is free software: you can redistribute it and/or modify
83776
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1351 it under the terms of the GNU General Public License as published by
94831
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87914
diff changeset
1352 the Free Software Foundation, either version 3 of the License, or
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87914
diff changeset
1353 (at your option) any later version.
83776
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1354
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1355 GNU Emacs is distributed in the hope that it will be useful,
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1356 but WITHOUT ANY WARRANTY; without even the implied warranty of
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1357 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1358 GNU General Public License for more details.
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1359
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1360 You should have received a copy of the GNU General Public License
94831
cac099ec0724 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87914
diff changeset
1361 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
83776
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1362
8586bbbcad7e Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1363 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d