Mercurial > emacs
annotate admin/notes/multi-tty @ 108164:745e12b5af4a
Don't burp if process sentinel/filter kills the current buffer.
* process.c (read_process_output, exec_sentinel): Don't burp if the
sentinel/filter kills the current buffer.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 29 Apr 2010 10:29:09 -0400 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
rev | line source |
---|---|
83776
8586bbbcad7e
Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff
changeset
|
1 -*- coding: utf-8; mode: text; -*- |
8586bbbcad7e
Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff
changeset
|
2 |
106815 | 3 Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
87914 | 4 See the end of the file for license conditions. |
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 |