Mercurial > emacs
annotate admin/notes/multi-tty @ 99492:ee792794d888
(isearch-search-fun): Compare the length of the
current search string with the length of the string from the
previous search state to detect the situation when the user
adds or removes characters in the search string.
Use word-search-forward-lax and word-search-backward-lax in this
case, and otherwise word-search-forward and word-search-backward.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 11 Nov 2008 19:43:09 +0000 |
parents | c3309dba6542 |
children | ce88a631c161 |
rev | line source |
---|---|
83776
8586bbbcad7e
Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff
changeset
|
1 -*- coding: utf-8; mode: text; -*- |
8586bbbcad7e
Move here from top-level README.multi-tty, with some edits for
Glenn Morris <rgm@gnu.org>
parents:
diff
changeset
|
2 |
87914 | 3 Copyright (C) 2007, 2008 Free Software Foundation, Inc. |
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 |