annotate admin/notes/multi-tty @ 99492:ee792794d888

(isearch-search-fun): Compare the length of the current search string with the length of the string from the previous search state to detect the situation when the user adds or removes characters in the search string. Use word-search-forward-lax and word-search-backward-lax in this case, and otherwise word-search-forward and word-search-backward.
author Juri Linkov <juri@jurta.org>
date Tue, 11 Nov 2008 19:43:09 +0000
parents c3309dba6542
children ce88a631c161
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
87914
d44b10a5ce75 Add copyright header.
Glenn Morris <rgm@gnu.org>
parents: 83776
diff changeset
3 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
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