annotate README.multi-tty @ 83264:3b1209720d0e

Fix crash condition when an X server connection is broken. (Reported by Vincent Bernat.) * src/xterm.c (x_flush): Return immediately when redisplay is inhibited. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-304
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 07 Mar 2005 16:39:57 +0000
parents a257c9edb57b
children c22274b1aa9b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
1 -*- coding: utf-8; mode: text; -*-
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
2 GOAL
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
3 ----
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
4
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
5 This branch implements support for opening multiple, different tty
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
6 devices and simultaneous X and tty frames from a single Emacs session.
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
7
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
8 Some use cases:
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
9 Emacs is notoriously slow at startup, so most people use another
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
10 editor or emacsclient for quick editing jobs from the console.
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
11 Unfortunately, emacsclient was very awkward to use, because it did not
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
12 support opening a new Emacs frame on the current virtual console.
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
13 Now, with multi-tty support, it can do that. (Emacsclient starts up
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
14 faster than vi!)
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
15
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
16 Some Gnus users (including me) run Gnus in an X frame in its own Emacs
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
17 instance, which they typically leave running for weeks. It would be
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
18 nice if they could connect to this instance from a remote ssh session
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
19 and check their messages without opening a remote X frame or resorting
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
20 to gnus-slave.
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
21
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
22 WHO IS DOING IT
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
23 ---------------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
24
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
25 I'm Károly Lőrentey. My address: lorentey@elte.hu.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
26
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
27 Comments, bug reports, suggestions and patches are welcome; send them
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
28 to multi-tty@lists.fnord.hu.
83190
57877d5c2cf2 Updated archive location in docs. (Thanks to Dan Waber.)
Karoly Lorentey <lorentey@elte.hu>
parents: 83186
diff changeset
29
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
30 The following is a (sadly incomplete) list of people who have
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
31 contributed to the project by testing, submitting patches, bug
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
32 reports, and suggestions. Thanks!
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
33
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
34 ARISAWA Akihiro <ari at mbf dot ocn dot ne dot jp>
83264
3b1209720d0e Fix crash condition when an X server connection is broken. (Reported by Vincent Bernat.)
Karoly Lorentey <lorentey@elte.hu>
parents: 83247
diff changeset
35 Vincent Bernat <bernat at luffy dot cx>
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
36 Han Boetes <han at mijncomputer dot nl>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
37 Robert J. Chassell <bob at rattlesnake dot com>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
38 Romain Francoise <romain at orebokech dot com>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
39 Ami Fischman <ami at fischman dot org>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
40 Friedrich Delgado Friedrichs <friedel at nomaden dot org>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
41 IRIE Tetsuya <irie at t dot email dot ne dot jp>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
42 Yoshiaki Kasahara <kasahara at nc dot kyushu-u dot ac dot jp>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
43 Jurej Kubelka <Juraj dot Kubelka at email dot cz>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
44 David Lichteblau <david at lichteblau dot com>
83247
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
45 Xavier Mallard <zedek at gnu-rox dot org>
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
46 Istvan Marko <mi-mtty at kismala dot com>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
47 Ted Morse <morse at ciholas dot com>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
48 Dan Nicolaescu <dann at ics dot uci dot edu>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
49 Gergely Nagy <algernon at debian dot org>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
50 Mark Plaksin <happy at mcplaksin dot org>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
51 Francisco Borges <borges at let dot rug dot nl>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
52 Frank Ruell <stoerte at dreamwarrior dot net>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
53 Dan Waber <dwaber at logolalia dot com>
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
54 and many others.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
55
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
56 Richard Stallman was kind enough to review an earlier version of my
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
57 patches.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
58
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
59
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
60 MAILING LISTS
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
61 -------------
53228
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
62
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
63 The multi-tty mailing list (discussion & bug reports):
83111
fd147ed0d1b8 Mention `tla replay' in README.multi-tty (Gaute Strokkenes).
Karoly Lorentey <lorentey@elte.hu>
parents: 83105
diff changeset
64
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
65 Address: multi-tty@lists.fnord.hu
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
66 Signup: http://lists.fnord.hu/mailman/listinfo/multi-tty
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
67 Archive: http://news.gmane.org/gmane.emacs.multi-tty/
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
68
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
69 Commit notifications (read-only):
83020
d617fe346b2b Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents: 83018
diff changeset
70
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
71 Address: multi-tty-commits@lists.fnord.hu
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
72 Signup: http://lists.fnord.hu/mailman/listinfo/multi-tty-commits
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
73
83020
d617fe346b2b Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents: 83018
diff changeset
74
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
75 STATUS
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
76 ------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
77
83118
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
78 The branch is now very stable and almost full-featured. All of the
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
79 major problems have been fixed, only a few minor issues remain. (It
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
80 still needs to be ported to Windows/Mac/DOS, though.) Both multiple
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
81 tty device support and simultaneous X and tty frame support works
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
82 fine. Emacsclient has been extended to support opening new tty and X
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
83 frames. It has been changed open new Emacs frames by default.
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
84
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
85 The multi-tty branch has been scheduled for inclusion in the next
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
86 major release of Emacs (version 22). I expect the merge into the
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
87 development trunk to occur sometime during next year (2005), after the
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
88 merge of the Unicode branch.
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
89
83208
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
90 Tested on GNU/Linux, Solaris 8, FreeBSD and OpenBSD. Please let me
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
91 know if you succeed or fail to use it on other platforms---I'll have a
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
92 few tricky test cases for you.
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
93
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
94 Known problems:
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
95
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
96 * The single-kboard mode.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
97
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
98 If your multi-tty Emacs session seems to be frozen, you
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
99 probably have a recursive editing session or a pending
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
100 minibuffer prompt (which is a kind of recursive editing) on
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
101 another display. To unfreeze your session, switch to that
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
102 display and complete the recursive edit, for example by
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
103 pressing C-] (`abort-recursive-edit').
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
104
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
105 I am sorry to say that currently there is no way to break
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
106 out of this "single-kboard mode" from a frozen display. If
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
107 you are unable to switch to the display that locks the
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
108 others (for example because it is on a remote computer),
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
109 then you can use emacsclient to break out of all recursive
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
110 editing sessions:
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
111
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
112 emacsclient -e '(top-level)'
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
113
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
114 Note that this (perhaps) unintuitive behaviour is by design.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
115 Single-kboard mode is required because of an intrinsic Emacs
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
116 limitation that is very hard to eliminate. (This limitation
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
117 is related to the single-threaded nature of Emacs.)
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
118
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
119 I plan to implement better user notification and support for
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
120 breaking out of single-kboard mode from locked displays.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
121
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
122 * Mac, Windows and DOS support is broken, doesn't even
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
123 compile. Multiple display support will probably not provide
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
124 new Emacs features on these systems, but the multi-tty
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
125 branch changed a few low-level interfaces, and the
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
126 system-dependent source files need to be adapted
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
127 accordingly. The changes are mostly trivial, so almost
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
128 anyone can help, if only by compiling the branch and
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
129 reporting the compiler errors. (It is not worth to do this
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
130 yet, though.)
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
131
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
132
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
133 HOW TO GET THE BRANCH
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
134 ---------------------
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
135
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
136 The branch uses GNU Arch (http://www.gnuarch.org) for version control.
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
137
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
138 Retrieving the latest version of the branch:
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
139
83247
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
140 tla register-archive -f http://lorentey.hu/arch/2004/
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
141 tla get lorentey@elte.hu--2004/emacs--multi-tty <directory>
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
142
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
143 This incantation uses my private archive mirror that is hosted on a
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
144 relatively low-bandwidth site; if you are outside Hungary, you will
83247
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
145 probably want to you use the Arch supermirror instead: (Note that the
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
146 -f option will overwrite the archive location if you have previously
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
147 registered the Hungarian one.)
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
148
83247
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
149 tla register-archive -f http://mirrors.gnuarch.org/lorentey@elte.hu--2004/
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
150 tla get lorentey@elte.hu--2004/emacs--multi-tty <directory>
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
151
83247
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
152 My GPG key id is 0FB27A3F; it is available from
a257c9edb57b README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents: 83235
diff changeset
153 hkp://wwwkeys.eu.pgp.net/, or from my homepage at
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
154 http://lorentey.hu/rolam/gpg.html)
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
155
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
156 Don't worry if the above checkout takes a few minutes to complete;
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
157 once you have a source tree, updating it to the latest revision will
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
158 be _much_ faster. Use the following command for the update:
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
159
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
160 tla replay
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
161
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
162 You can find more information about Arch on http://wiki.gnuarch.org/.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
163 It's a wonderful source control system, I highly recommend it.
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
164
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
165 If you don't have tla, the branch has a homepage from which you can
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
166 download conventional patches against Emacs CVS HEAD:
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
167
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
168 http://lorentey.hu/project/emacs.html
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
169
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
170
83208
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
171 COMPILATION
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
172 -----------
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
173
83186
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
174 The multi-tty branch is compiled the same way as Emacs itself:
53235
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
175
83208
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
176 make maintainer-clean # (If you have compiled Emacs before)
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
177
83186
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
178 ./configure <your favourite options>
53235
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
179 make bootstrap
83186
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
180 make install
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
181
83208
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
182 If you have strange compilation errors, they may be caused by old
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
183 *.elc files that are left over from an earlier bootstrap. The `make
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
184 maintainer-clean' target deletes them, so it is a good idea to run
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
185 that before reporting a bug. (Emacs requires a clean recompilation
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
186 after certain kinds of source code changes.)
83186
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
187
83208
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
188 TESTING
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
189 -------
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
190
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
191 To test the multi-tty branch, start up the Emacs server with the
83186
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
192 following commands:
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
193
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
194 emacs
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
195 M-x server-start
53235
1bf332eccca1 Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 53234
diff changeset
196
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
197 and then (from a shell prompt on another terminal) start emacsclient
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
198 with
83186
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
199 emacsclient -t /optional/file/names... (for a tty frame)
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
200 emacsclient /optional/file/names... (for an X frame)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
201
83186
1adf7aed3649 Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents: 83174
diff changeset
202 (Make sure both emacs and emacsclient are multi-tty versions.)
53340
db645482d6bc Trivial changes
Karoly Lorentey <lorentey@elte.hu>
parents: 53238
diff changeset
203 You'll hopefully have two fully working, independent frames on
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
204 separate terminals. The new frame is closed automatically when you
83101
a2e3f695c833 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83097
diff changeset
205 finish editing the specified files (C-x #), but delete-frame (C-x 5 0)
a2e3f695c833 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83097
diff changeset
206 also works. Of course, you can create frames on more than two tty
a2e3f695c833 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83097
diff changeset
207 devices.
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
208
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
209 Creating new frames on the same tty with C-x 5 2 works, and they
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
210 behave the same way as in previous Emacs versions. If you exit emacs,
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
211 all terminals should be restored to their previous states.
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
212
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
213 This is work in progress, and probably full of bugs. It is a good
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
214 idea to run emacs from gdb, so that you'll have a live instance to
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
215 debug if something goes wrong. Please send me your bug reports on our
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
216 mailing list: multi-tty@lists.fnord.hu
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
217
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
218 TIPS & TRICKS
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
219 -------------
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
220
83028
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
221 I think the best way to use the new Emacs is to have it running inside
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
222 a disconnected GNU screen session, and always use emacsclient for
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
223 normal work. One advantage of this is that not a single keystroke of
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
224 your work will be lost if the display device that you are using
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
225 crashes, or the network connection times out, or whatever. (I had an
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
226 extremely unstable X server for some time while I was developing these
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
227 patches, and running Emacs this way has saved me a number of M-x
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
228 recover-session invocations.)
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
229
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
230 I use the following two bash functions to handle my Emacs sessions:
83028
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
231
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
232 ,----[ ~/.bash_profile
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
233 | # Usage: preload-emacs <name> [<waitp>]
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
234 | #
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
235 | # Preloads the Emacs instance called NAME in a detached screen
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
236 | # session. Does nothing if the instance is already running. If WAITP
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
237 | # is non-empty, the function waits until the server starts up and
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
238 | # creates its socket; otherwise it returns immediately.
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
239 | function preload-emacs {
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
240 | local name="$1"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
241 | local waitp="$2"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
242 | local screendir="/var/run/screen/S-$USER"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
243 | local serverdir="/tmp/emacs$UID"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
244 | local emacs=emacs # Or wherever you installed your multi-tty Emacs
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
245 |
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
246 | if [ -z "$name" ]; then
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
247 | echo "Usage: preload-emacs <name> [<waitp>]" >&2
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
248 | return 1
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
249 | fi
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
250 |
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
251 | if [ ! -e "$screendir"/*."$name" ]; then
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
252 | if [ -e "$serverdir/$name" ]; then
83193
e6f198d9e7d3 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83191
diff changeset
253 | # Delete leftover socket (for the wait option)
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
254 | rm "$serverdir/$name"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
255 | fi
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
256 | screen -dmS "$name" "$emacs" -nw --eval "(setq server-name \"$name\")" -f server-start
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
257 | fi
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
258 | if [ ! -z "$waitp" ]; then
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
259 | while [ ! -e "$serverdir/$name" ]; do sleep 0.1; done
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
260 | fi
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
261 | return 0
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
262 | }
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
263 |
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
264 | # Usage: connect-emacs <name> <args>...
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
265 | #
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
266 | # Connects to the Emacs instance called NAME. Starts up the instance
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
267 | # if it is not already running. The rest of the arguments are passed
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
268 | # to emacsclient.
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
269 | function connect-emacs {
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
270 | local name="$1"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
271 | shift
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
272 |
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
273 | if [ -z "$name" ]; then
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
274 | echo "Usage: connect-emacs <name> <args>..." >&2
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
275 | fi
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
276 | preload-emacs "$name" wait
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
277 | emacsclient -s "$name" "$@"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
278 | }
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
279 |
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
280 | export -f preload-emacs connect-emacs
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
281 |
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
282 | # Preload editor and gnus sessions for speedy initial connects.
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
283 | preload-emacs editor
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
284 | preload-emacs gnus
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
285 `----
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
286
83191
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
287 ,----[ ~/.bashrc
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
288 | alias gnus="connect-emacs gnus"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
289 | alias edit="connect-emacs editor"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
290 | alias et="connect-emacs editor -t"
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
291 | alias e=edit
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
292 `----
bc4b91420ff4 README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents: 83190
diff changeset
293
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
294
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
295 NEWS
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
296 ----
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
297
83118
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
298 For the NEWS file: (Needs work)
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
299
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
300 ** Support for multiple terminal devices has been added.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
301
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
302 *** You can specify a terminal device (`tty' parameter) and a terminal
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
303 type (`tty-type' parameter) to `make-terminal-frame'.
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
304
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
305 *** You can test for the presence of multiple terminal support by
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
306 testing for the `multi-tty' feature.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
307
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
308 *** Emacsclient has been extended to support opening a new terminal
83046
8ba4eb224be7 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83045
diff changeset
309 frame. Its behaviour has been changed to open a new Emacs frame by
8ba4eb224be7 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83045
diff changeset
310 default. Use the -c option to get the old behavior of opening
8ba4eb224be7 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83045
diff changeset
311 files in the currently selected Emacs frame.
83045
8ca11496d25c Changed emacsclient to open new frames by default.
Karoly Lorentey <lorentey@elte.hu>
parents: 83036
diff changeset
312
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
313 *** A make-frame-on-tty function has been added to make it easier to
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
314 create frames on new terminals.
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
315
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
316 *** New functions: frame-tty-name, frame-tty-type for accessing
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
317 terminal parameters, and delete-tty for closing the terminal
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
318 device.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
319
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
320 *** talk.el has been extended for multiple tty support.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
321
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
322
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
323 ** Support for simultaneous graphical and terminal frames has been
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
324 added.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
325
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
326 *** The function `make-frame-on-display' now works during a terminal
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
327 session, and `make-frame-on-tty' works during a graphical session.
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
328
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
329 *** The `window-system' variable has been made frame-local.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
330
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
331 *** The new `initial-window-system' variable contains the
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
332 `window-system' value for the first frame.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
333
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
334 CHANGELOG
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
335 ---------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
336
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
337 See arch logs.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
338
83208
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
339 * * *
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
340
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
341 (The rest of this file consists of my development notes and as such it
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
342 is probably not very interesting for anyone else.)
e318dfc2edc6 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83203
diff changeset
343
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
344 THINGS TO DO
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
345 ------------
83035
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
346
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
347 ** The single-keyboard mode of MULTI_KBOARD is extremely confusing
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
348 sometimes; Emacs does not respond to stimuli from other keyboards.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
349 At least a beep or a message would be important, if the single-mode
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
350 is still required to prevent interference. (Reported by Dan
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
351 Nicolaescu.)
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
352
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
353 Update: selecting a region with the mouse enables single_kboard
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
354 under X. This is very confusing.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
355
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
356 Update: After discussions with Richard, this will be resolved by
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
357 having locked displays warn the user to wait, and introducing a
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
358 complex protocol to remotely bail out of single-kboard mode by
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
359 pressing C-g.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
360
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
361 Update: Warning the user is not trivial to implement, as Emacs has
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
362 only one echo area. Ideally the warning should not be displayed on
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
363 the display that is locking the others. Perhaps the high
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
364 probability of user confusion caused by single_kboard mode deserves
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
365 a special case in the display code. Alternatively, it might be
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
366 good enough to signal single_kboard mode by changing the modelines
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
367 or some other frame-local display element on the locked out displays.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
368
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
369 ** normal-erase-is-backspace-mode in simple.el needs to be updated for
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
370 multi-tty (rep. by Dan Waber).
83220
fe1db7935e1a Fix core dump in redisplay window. (Reported by Yoshiaki Kasahara.) Plus cleanups.
Karoly Lorentey <lorentey@elte.hu>
parents: 83208
diff changeset
371
83167
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
372 ** Hunt down display-related functions in frame.el and extend them all
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
373 to accept display ids.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
374
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
375 ** rif->flush_display_optional (NULL) calls should be replaced by a
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
376 new global function.
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
377
83152
632f9d4fdffb README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents: 83148
diff changeset
378 ** Have a look at fatal_error_hook.
632f9d4fdffb README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents: 83148
diff changeset
379
83235
7950b2b0a56a README update.
Karoly Lorentey <lorentey@elte.hu>
parents: 83234
diff changeset
380 ** Have a look at set_frame_matrix_frame.
7950b2b0a56a README update.
Karoly Lorentey <lorentey@elte.hu>
parents: 83234
diff changeset
381
83148
33462a853808 README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents: 83141
diff changeset
382 ** Check if we got term-setup-hook right.
33462a853808 README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents: 83141
diff changeset
383
83234
ad592995fd24 Trivial changes in x_create_tip_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83230
diff changeset
384 ** I think tip_frame should be display-local.
ad592995fd24 Trivial changes in x_create_tip_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83230
diff changeset
385
ad592995fd24 Trivial changes in x_create_tip_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83230
diff changeset
386 ** Check display reference count handling in x_create_tip_frame.
ad592995fd24 Trivial changes in x_create_tip_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83230
diff changeset
387
83105
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
388 ** make-frame does not correctly handle extra parameters in its
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
389 argument:
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
390
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
391 (frame-parameter (make-frame (list (cons 'foobar 42))) 'foobar)
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
392 => nil
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
393
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
394 (This is likely an error in the CVS trunk.)
efc02a84dfbb Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 83103
diff changeset
395
83097
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
396 ** Fix set-input-mode for multi-tty. It's a truly horrible interface;
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
397 what if we'd blow it up into several separate functions (with a
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
398 compatibility definition)?
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
399
83074
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83070
diff changeset
400 ** The terminal customization files in term/*.el tend to change global
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83070
diff changeset
401 parameters, which may confuse Emacs with multiple displays. Change
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83070
diff changeset
402 them to tweak only frame-local settings, if possible.
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83070
diff changeset
403
83055
e6b7cd8486dd README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83046
diff changeset
404 ** Dan Nicolaescu suggests that -nw should be added as an alias for -t
e6b7cd8486dd README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83046
diff changeset
405 in emacsclient. Good idea. (Alas, implementing this is not
e6b7cd8486dd README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83046
diff changeset
406 trivial, getopt_long does not seem to support two-letter ``short''
83097
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
407 options. Patches are welcome.) :-)
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
408
83055
e6b7cd8486dd README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83046
diff changeset
409 ** Mark Plaksin suggests that emacsclient should accept the same
e6b7cd8486dd README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83046
diff changeset
410 X-related command-line arguments as Emacs. Most of the X-related
e6b7cd8486dd README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83046
diff changeset
411 argument-handling is done in Lisp, so this should be quite easy to
e6b7cd8486dd README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83046
diff changeset
412 implement.
83021
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
413
83076
5eaa708b8d47 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83074
diff changeset
414 ** Gergely Nagy suggests that C-x # should only kill the current
5eaa708b8d47 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83074
diff changeset
415 frame, not any other emacsclient frame that may have the same file
5eaa708b8d47 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83074
diff changeset
416 opened for editing. I think I agree with him.
5eaa708b8d47 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83074
diff changeset
417
83065
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
418 ** Very strange bug: visible-bell does not work on secondary
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
419 terminals in xterm and konsole. The screen does flicker a bit,
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
420 but it's so quick it isn't noticable.
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
421
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
422 ** Clean up the frame-local variable system. I think it's ugly and
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
423 error-prone. But maybe I just haven't yet fully understood it.
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
424
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
425 ** Move baud_rate to struct display.
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
426
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
427 ** Implement support for starting an interactive Emacs session without
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
428 an initial frame. (The user would connect to it and open frames
83063
404175b0a47e README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83055
diff changeset
429 later, with emacsclient.)
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
430
83118
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
431 ** Fix Mac support (I can't do this entirely myself). Note that the
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
432 current state of Mac-specific source files in the multi-tty tree
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
433 are not useful; before starting work on Mac support, revert to
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
434 pristine, pre-multi-tty versions.
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
435
83118
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
436 ** Fix W32 support (I can't do this entirely myself). Note that the
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
437 current state of W32-specific source files in the multi-tty tree
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
438 are not useful; before starting work on W32 support, revert to
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
439 pristine, pre-multi-tty versions.
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
440
83118
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
441 ** Fix DOS support (I can't do this entirely myself). Note that the
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
442 current state of DOS-specific source files in the multi-tty tree
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
443 are not useful; before starting work on DOS support, revert to
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
444 pristine, pre-multi-tty versions.
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
445
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
446 ** Do a grep on XXX and ?? for more issues.
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
447
83097
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
448 ** Understand Emacs's low-level input system (it's black magic) :-)
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
449 What exactly does interrupt_input do? I tried to disable it for
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
450 raw secondary tty support, but it does not seem to do anything
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
451 useful. (Update: Look again. X unconditionally enables this, maybe
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
452 that's why raw terminal support is broken again. I really do need
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
453 to understand input.)
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
454
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
455 ** Maybe standard-display-table should be display-local.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
456
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
457 DIARY OF CHANGES
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
458 ----------------
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
459
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
460 (ex-TODO items with explanations.)
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
461
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
462 -- Introduce a new struct for terminal devices.
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
463
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
464 (Done, see struct tty_output. The list of members is not yet
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
465 complete.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
466
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
467 -- Change the bootstrap procedure to initialize tty_list.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
468
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
469 (Done, but needs review.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
470
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
471 -- Change make-terminal-frame to support specifying another tty.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
472
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
473 (Done, new frame parameters: `tty' and `tty-type'.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
474
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
475 -- Implement support for reading from multiple terminals.
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
476
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
477 (Done, read_avail_input tries to read from each terminal, until one
82989
f3845715a5f6 Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents: 82988
diff changeset
478 succeeds. MULTI_KBOARD is not used. Secondary terminals don't send
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
479 SIGIO!)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
480
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
481 (Update: They do, now.)
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
482
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
483 (Update2: After enabling X, they don't.)
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
484
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
485 -- other-frame should cycle through the frames on the `current'
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
486 terminal only.
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
487
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
488 (Done, by trivially modifiying next_frame and prev_frame.)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
489
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
490 -- Support different terminal sizes.
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
491
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
492 (Done, no problem.)
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
493
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
494 -- Make sure terminal resizes are handled gracefully. (Could be
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
495 problematic.)
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
496
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
497 (Done. We don't get automatic SIGWINCH for additional ttys,
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
498 though.)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
499
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
500 -- Extend emacsclient to automatically open a new tty when it connects
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
501 to Emacs.
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
502
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
503 (Done. It's an ugly hack, needs more work.)
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
504
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
505 -- Redisplay must refresh the topmost frame on *all* terminals, not
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
506 just the initial terminal.
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
507
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
508 (Done, but introduced an ugly redisplay problems. Ugh.)
53229
33c3c7c16e13 lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents: 53228
diff changeset
509
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
510 -- Fix redisplay problems.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
511
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
512 (Done; it turned out that the entire Wcm structure must be moved
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
513 inside tty_output. Why didn't I catch this earlier?)
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
514
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
515 -- Provide a way for emacsclient to tell Emacs that the tty has been
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
516 resized.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
517
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
518 (Done, simply forward the SIGWINCH signal.)
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
519
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
520 -- Each keypress should automatically select the frame corresponding
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
521 to the terminal that it was coming from. This means that Emacs
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
522 must know from which terminal the last keyboard event came from.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
523
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
524 (Done, it was quite simple, the input event system already
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
525 supported multiple frames.)
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
526
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
527 -- Fix SIGIO issue with secondary terminals.
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
528
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
529 (Done, emacsclient signals Emacs after writing to the proxy pseudo
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
530 terminal. Note that this means that multi-tty does not work with
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
531 raw ttys!)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
532
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
533 (Update: This is bullshit. There is a read_input_waiting function,
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
534 extend that somehow.)
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
535
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
536 (Update of update: The first update was not right either, extending
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
537 read_input_waiting was not necessary. Secondary ttys do seem to
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
538 send signals on input.)
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
539
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
540 (Update^3: Not any more.)
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
541
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
542 -- Make make-terminal-frame look up the `tty' and `tty-type' frame
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
543 parameters from the currently selected terminal before the global
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
544 default.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
545
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
546 (Done.)
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
547
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
548 -- Put all cached terminal escape sequences into struct tty_output.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
549 Currently, they are still stored in global variables, so we don't
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
550 really support multiple terminal types.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
551
53234
f3b94bd26d21 Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53233
diff changeset
552 (Done. It was not fun.)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
553
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
554 -- Implement sane error handling after initialization. (Currently
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
555 emacs exits if you specify a bad terminal type.) The helpful error
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
556 messages must still be provided when Emacs starts.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
557
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
558 (Done.)
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
559
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
560 -- Implement terminal deletion, i.e., deleting local frames, closing
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
561 the tty device and restoring its previous state without exiting
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
562 Emacs.
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
563
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
564 (Done, but at the moment only called when an error happens during
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
565 initialization. There is a memory corruption error around this
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
566 somewhere.) (Update: now it is fully enabled.)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
567
53236
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
568 -- Implement automatic deletion of terminals when the last frame on
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
569 that terminal is closed.
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
570
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
571 (Done.)
e77dcb66ec84 Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents: 53235
diff changeset
572
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
573 -- Restore tty screen after closing the terminal.
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
574
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
575 (Done, we do the same as Emacs 21.2 for all terminals.)
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
576
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
577 -- 'TERM=dumb src/emacs' does not restore the terminal state.
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
578
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
579 (Done.)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
580
53343
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
581 -- C-g should work on secondary terminals.
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
582
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
583 (Done, but the binding is not configurable.)
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
584
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
585 -- Deal with SIGHUP in Emacs and in emacsclient. (After this, the
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
586 server-frames may be removed from server.el.)
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
587
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
588 (Done, nothing to do. It seems that Emacs does not receive SIGHUP
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
589 from secondary ttys, which is actually a good thing.) (Update: I
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
590 think it would be a bad idea to remove server-frames.)
53343
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
591
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
592 -- Change emacsclient/server.el to support the -t argument better,
53343
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
593 i.e. automatically close the socket when the frame is closed.
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
594
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
595 (Seems to be working OK.)
56e4b7166995 Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents: 53341
diff changeset
596
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
597 -- Fix mysterious memory corruption error with tty deletion. To
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
598 trigger it, try the following shell command:
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
599
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
600 while true; do TERM=no-such-terminal-definition emacsclient -h; done
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
601
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
602 Emacs usually dumps core after a few dozen iterations. (The bug
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
603 seems to be related to the xfreeing or bzeroing of
82986
02a346f99eaf Undo patch-23. I need a coffee.
Karoly Lorentey <lorentey@elte.hu>
parents: 82985
diff changeset
604 tty_output.Wcm. Maybe there are outside references to struct Wcm?
02a346f99eaf Undo patch-23. I need a coffee.
Karoly Lorentey <lorentey@elte.hu>
parents: 82985
diff changeset
605 Why were these vars collected into a struct before multi-tty
02a346f99eaf Undo patch-23. I need a coffee.
Karoly Lorentey <lorentey@elte.hu>
parents: 82985
diff changeset
606 support?)
53233
fe9b37bee5f7 Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents: 53232
diff changeset
607
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
608 (Done. Whew. It turned out that the problem had nothing to do
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
609 with hypothetical external references to Wcm, or any other
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
610 tty_output component; it was simply that delete_tty closed the
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
611 filehandles of secondary ttys twice, resulting in fclose doubly
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
612 freeing memory. Utterly trivial matter. I love the C's memory
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
613 management, it puts hair on your chest.)
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
614
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
615 -- Support raw secondary terminals. (Note that SIGIO works only on
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
616 the controlling terminal.) Hint: extend read_input_waiting for
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
617 multiple ttys and hopefully this will be fixed.
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
618
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
619 (Done, it seems to have been working already for some time. It
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
620 seems F_SETOWN does work, after all. Not sure what made it fail
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
621 earlier, but it seems to be fixed (there were several changes
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
622 around request_sigio, maybe one of them did it).
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
623 read_input_waiting is only used in sys_select, don't change
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
624 it.) (Update: After adding X support, it's broken again.)
83097
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
625 (Update^2: No it isn't.) :-)
82983
21720c013048 Don't compile sys_select on systems that don't need it.
Karoly Lorentey <lorentey@elte.hu>
parents: 53343
diff changeset
626
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
627 -- Find out why does Emacs abort when it wants to close its
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
628 controlling tty. Hint: chan_process[] array. Hey, maybe
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
629 noninterrupt-IO would work, too? Update: no, there is no process
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
630 for stdin/out.
53237
4f33c6fc9a1f README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 53236
diff changeset
631
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
632 (Done. Added add/delete_keyboard_wait_descriptor to
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
633 term_init/delete_tty. The hint was right, in a way.)
53232
22aaf1e5fbe6 Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents: 53229
diff changeset
634
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
635 -- Issue with SIGIO: it needs to be disabled during redisplay. See if
83008
040dd41ed7d0 Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83004
diff changeset
636 fcntl kernel behaviour could be emulated by emacsclient.
53341
d4e6a050c9b1 Bugfix festival.
Karoly Lorentey <lorentey@elte.hu>
parents: 53340
diff changeset
637
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
638 (Done. Simply disabled the SIGIO emulation hack in emacsclient.)
83097
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
639 (Update: it was added back.) (Update^2: and removed again.)
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
640
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
641 -- server.el: There are issues with saving files in buffers of closed
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
642 clients. Try editing a file with emacsclient -f, and (without
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
643 saving it) do a delete-frame. The frame is closed without
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
644 question, and a surprising confirmation prompt appears in another
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
645 frame.
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
646
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
647 (Done. delete-frame now asks for confirmation if it still has
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
648 pending buffers, and modified buffers don't seem to be deleted.)
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
649
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
650 -- emacsclient.el, server.el: Handle eval or file open errors when
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
651 doing -t.
82987
1682917e56b4 Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents: 82986
diff changeset
652
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
653 (Done.)
82985
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
654
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
655 -- Make parts of struct tty_output accessible from Lisp. The device
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
656 name and the type is sufficient.
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
657
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
658 (Done, see frame-tty-name and frame-tty-type.)
82985
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
659
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
660 -- Export delete_tty to the Lisp environment, for emacsclient.
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
661
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
662 (Done, see delete-tty.)
82985
8d7be2534cbc Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents: 82983
diff changeset
663
82990
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
664 -- Get rid of the accessor macros in termchar.h, or define macros for
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
665 all members.
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
666
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
667 (Done.)
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
668
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
669 -- Move device-specific parameters (like costs) commonly used by
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
670 device backends to a common, device-dependent structure.
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
671
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
672 (Done. See struct display_method in termhooks.h.)
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
673
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
674 -- Fix X support.
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
675
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
676 (Done. Well, it seems to be working.)
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
677
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
678 -- Allow simultaneous X and tty frames. (Handling input could be
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
679 tricky. Or maybe not.)
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
680
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
681 (Done. Allowed, that is. It is currently extremely unstable, to
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
682 the point of being unusable. The rif variable causes constant
2ecd1f669db9 Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82989
diff changeset
683 core dumps. Handling input is indeed tricky.)
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
684
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
685 -- Rewrite multi-tty input in terms of MULTI_KBOARD.
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
686
82991
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
687 (Done. In fact, there was no need to rewrite anything, I just
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
688 added a kboard member to tty_display_info, and initialized the
2b26656ff804 MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents: 82990
diff changeset
689 frame's kboard from there.)
82988
f82e3a6f5ccb A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents: 82987
diff changeset
690
82992
5de4189e659d Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
691 -- Fix rif issue with X-tty combo sessions. IMHO the best thing to do
5de4189e659d Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
692 is to get rid of that global variable (and use the value value in
5de4189e659d Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
693 display_method, which is guaranteed to be correct).
5de4189e659d Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
694
5de4189e659d Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
695 (Done, did exactly that. Core dumps during combo sessions became
5de4189e659d Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
696 much rarer. In fact, I have not yet met a single one.)
5de4189e659d Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents: 82991
diff changeset
697
82997
af2d6b850383 Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 82995
diff changeset
698 -- Add multi-tty support to talk.el.
af2d6b850383 Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 82995
diff changeset
699
af2d6b850383 Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 82995
diff changeset
700 (Done.)
af2d6b850383 Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents: 82995
diff changeset
701
83004
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
702 -- Clean up the source of emacsclient. It is a mess.
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
703
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
704 (Done, eliminated stupid proxy-pty kludge.)
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
705
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
706 -- Fix faces on tty frames during X-tty combo sessions. There is an
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
707 init_frame_faces call in init_sys_modes, see if there is a problem
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
708 with it.
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
709
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
710 (Done, there was a stupid mistake in
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
711 Ftty_supports_face_attributes_p. Colors are broken, though.)
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
712
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
713 -- C-x 5 2, C-x 5 o, C-x 5 0 on an emacsclient frame unexpectedly
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
714 exits emacsclient. This is a result of trying to be clever with
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
715 delete-frame-functions.
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
716
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
717 (Fixed, added delete-tty-after-functions, and changed server.el to
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
718 use it.)
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
719
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
720 -- Something with (maybe) multi-keyboard support broke function keys
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
721 and arrows on ttys during X+tty combo sessions. Debug this.
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
722
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
723 (I can't reproduce it, maybe the terminal type was wrong.)
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
724
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
725 -- Fix input from raw ttys (again).
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
726
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
727 (Now it seems to work all right.)
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
728
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
729 -- During an X-tty combo session, a (message "Hello") from a tty frame
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
730 goes to the X frame. Fix this.
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
731
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
732 (Done. There was a safeguard against writing to the initial
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
733 terminal frame during bootstrap which prevented echo_area_display
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
734 from working correctly on a tty frame during a combo session.)
7900111db01c Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 82997
diff changeset
735
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
736 -- If there are no frames on its controlling terminal, Emacs should
83097
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
737 exit if the user presses C-c there.
83009
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
738
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
739 (Done, as far as possible. See the SIGTERM comment in
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
740 interrupt_signal on why this seems to be impossible to solve this
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
741 in general.)
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
742
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
743 -- During an X session, Emacs seems to read from stdin. Also, Emacs
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
744 fails to start without a controlling tty.
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
745
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
746 (Fixed by replacing the troublesome termcap display with a dummy
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
747 bootstrap display during bootstrap.
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
748
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
749 -- Do tty output through struct display, like graphical display
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
750 backends.
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
751
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
752 (Done.)
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
753
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
754 -- Define an output_initial value for output_method for the initial
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
755 frame that is dumped with Emacs. Checking for this frame (e.g. in
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
756 cmd_error_internal) is ugly.
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
757
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
758 (Done, broking interactive temacs.)
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
759
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
760 -- The command `emacsclient -t -e '(delete-frame)'' fails to exit.
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
761
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
762 (Fixed.)
b2b37c85b00a Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents: 83008
diff changeset
763
83012
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
764 -- frame-creation-function should always create a frame that is on the
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
765 same display as the selected frame. Maybe frame-creation-function
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
766 should simply be removed and make-frame changed to do the right
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
767 thing.
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
768
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
769 (Done, with a nice hack. frame-creation-function is now frame-local.)
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
770
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
771 -- Fix C-g on raw ttys.
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
772
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
773 (Done. I disabled the interrupt/quit keys on all secondary
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
774 terminals, so Emacs sees C-g as normal input. This looks like an
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
775 overkill, because emacsclient has extra code to pass SIGINT to
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
776 Emacs, so C-g should remain the interrupt/quit key on emacsclient
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
777 frames. See the next entry why implementing this distinction would
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
778 be a bad idea.)
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
779
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
780 -- Make sure C-g goes to the right frame with ttys. This is hard, as
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
781 SIGINT doesn't have a tty parameter. :-(
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
782
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
783 (Done, the previous change fixes this as a pleasant side effect.)
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
784
83013
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
785 -- I have seen a case when Emacs with multiple ttys fell into a loop
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
786 eating 100% of CPU time. Strace showed this loop:
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
787
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
788 getpid() = 30284
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
789 kill(30284, SIGIO) = 0
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
790 --- SIGIO (I/O possible) @ 0 (0) ---
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
791 ioctl(6, FIONREAD, [0]) = -1 EIO (Input/output error)
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
792 ioctl(5, FIONREAD, [0]) = -1 EIO (Input/output error)
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
793 ioctl(0, FIONREAD, [0]) = 0
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
794 sigreturn() = ? (mask now [])
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
795 gettimeofday({1072842297, 747760}, NULL) = 0
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
796 gettimeofday({1072842297, 747806}, NULL) = 0
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
797 select(9, [0 3 5 6], NULL, NULL, {0, 0}) = 2 (in [5 6], left {0, 0})
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
798 select(9, [0 3 5 6], NULL, NULL, {0, 0}) = 2 (in [5 6], left {0, 0})
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
799 gettimeofday({1072842297, 748245}, NULL) = 0
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
800
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
801 I have seen something similar with a single X frame, but have not
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
802 been able to reproduce it for debugging.
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
803
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
804 Update: This may have been caused by checking for nread != 0
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
805 instead of nread > 0 after calling read_socket_hook in
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
806 read_avail_input.
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
807
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
808 (Fixed. This was caused by unconditionally including stdin in
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
809 input_wait_mask in init_process. The select call in
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
810 wait_reading_process_input always returned immediately, indicating
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
811 that there is pending input from stdin, which nobody read.
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
812
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
813 Note that the above strace output seems to be an unrelated but
e77d1a63471b Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents: 83012
diff changeset
814 similar bug. I think that is now fixed.)
83012
4aa172a45af1 Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents: 83009
diff changeset
815
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
816 -- Exiting Emacs while there are emacsclient frames doesn't restore the
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
817 ttys to their default states.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
818
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
819 (This seems to be fixed by some previous change.)
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
820
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
821 -- Allow opening an X session after -nw.
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
822
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
823 (Done.)
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
824
83021
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
825 -- Fix color handling during tty+X combo sessions. (It seems that tty
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
826 sessions automatically convert the face colors to terminal colors
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
827 when the face is loaded. This conversion must happen instead on
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
828 the fly in write_glyphs, which might be problematic, as color
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
829 approximation is currently done in lisp (term/tty-colors.el).)
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
830 (Update: hm, colors seem to work fine if I start emacs with -nw and
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
831 then create an X frame. Maybe it's just a small buglet somewhere.)
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
832
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
833 (Seems to be fixed. The problem was in startup.el, it did not
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
834 initialize tty colors when the initial window system was
32bf8e7cc0c2 Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83020
diff changeset
835 graphical.)
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83013
diff changeset
836
83023
6ce586a7243e Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83021
diff changeset
837 -- emacs -nw --eval '(y-or-n-p "Foobar")' segfaults. (Reported by
6ce586a7243e Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83021
diff changeset
838 Romain Francoise)
6ce586a7243e Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83021
diff changeset
839
6ce586a7243e Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83021
diff changeset
840 (Fixed, there was a keyboard initialization problem.)
6ce586a7243e Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents: 83021
diff changeset
841
83024
e66f69c4f2c5 Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents: 83023
diff changeset
842 -- Fix interactive use of temacs. There are face-related SEGVs, most
e66f69c4f2c5 Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents: 83023
diff changeset
843 likely because of changes in realize_default_face, realize_face.
e66f69c4f2c5 Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents: 83023
diff changeset
844
e66f69c4f2c5 Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents: 83023
diff changeset
845 (Fixed.)
e66f69c4f2c5 Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents: 83023
diff changeset
846
83028
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
847 -- Don't exit Emacs when the last X connection fails during a
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
848 multi-display session.
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
849
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
850 (Fixed.)
bf5b5fb49420 Don't exit Emacs when the X display is closed during a tty-X combo session.
Karoly Lorentey <lorentey@elte.hu>
parents: 83024
diff changeset
851
83032
b8237c556f0e Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83028
diff changeset
852 -- Dan Nicolaescu noticed that starting emacsclient on the same
b8237c556f0e Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83028
diff changeset
853 terminal device that is the controlling tty of the Emacs process
b8237c556f0e Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83028
diff changeset
854 gives unexpected results.
b8237c556f0e Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83028
diff changeset
855
b8237c556f0e Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83028
diff changeset
856 (Fixed.)
b8237c556f0e Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83028
diff changeset
857
83035
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
858 -- Istvan Marko reported that Emacs hang on ttys if it was started
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
859 from a shell script.
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
860
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
861 (Fixed. There was a bug in the multi-tty version of
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
862 narrow_foreground_group. tcsetpgrp blocks if it is called from a
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
863 process that is not in the same process group as the tty.)
fcf6fc349e0d Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents: 83032
diff changeset
864
83064
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
865 -- emacsclient -t from an Emacs term buffer does not work, complains
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
866 about face problems. This can even lock up Emacs (if the recursive
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
867 frame sets single_kboard). Update: the face problems are caused by
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
868 bugs in term.el, not in multi-tty. The lockup is caused by
83097
01716205773e README changes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83084
diff changeset
869 single_kboard mode, and is not easily resolvable. The best thing to
83064
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
870 do is to simply refuse to create a tty frame of type `eterm'.
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
871
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
872 (Fixed, changed emacsclient to check for TERM=eterm. The face
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
873 complaints seem to be caused by bugs in term.el; they are not
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
874 related to multi-tty.)
e7e9448cb3a0 Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents: 83063
diff changeset
875
83065
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
876 -- Find out the best way to support suspending Emacs with multiple
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
877 ttys. My guess: disable it on the controlling tty, but from other
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
878 ttys pass it on to emacsclient somehow. (It is (I hope) trivial to
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
879 extend emacsclient to handle suspend/resume. A `kill -STOP' almost
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
880 works right now.)
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
881
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
882 (Done. I needed to play with signal handling and the server
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
883 protocol a bit to make emacsclient behave as a normal UNIX program
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
884 wrt foreground/background process groups.)
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
885
83069
a39b38a5d680 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83065
diff changeset
886 -- There is a flicker during the startup of `emacs -nw'; it's as if
a39b38a5d680 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83065
diff changeset
887 the terminal is initialized, reset and then initialialized again.
a39b38a5d680 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83065
diff changeset
888 Debug this. (Hint: narrow_foreground_group is called twice during
a39b38a5d680 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83065
diff changeset
889 startup.)
a39b38a5d680 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83065
diff changeset
890
a39b38a5d680 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83065
diff changeset
891 (This is gone.)
a39b38a5d680 README updates.
Karoly Lorentey <lorentey@elte.hu>
parents: 83065
diff changeset
892
83084
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
893 -- Robert Chassell has found serious copy-paste bugs with the
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
894 multi-tty branch. There seem to be redisplay bugs while copying
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
895 from X to a terminal frame. Copying accented characters do not
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
896 work for me.
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
897
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
898 (Patch-124 should fix this, by changing the interprogram-*-function
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
899 variables to be frame-local, as suggested by Mark Plaksin
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
900 (thanks!). I think that the redisplay bugs are in fact not bugs,
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
901 but delays caused by single_kboard --> perhaps MULTI_KBOARD should
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
902 be removed.)
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
903
83118
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
904 -- frame-creation-function was removed, which might be a bad idea.
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
905 Think up a compatible solution.
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
906
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
907 (It was an internal interface that may be changed when necessary.)
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
908
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
909 -- Change Lisp code not to (getenv "TERM"); use the `tty-type' frame
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
910 parameter or the frame-tty-type function instead. (M-x tags-search
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
911 "TERM" helps with this.) Update: Actually, all getenv invocations
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
912 should be checked for multi-tty compatibility, and an interface
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
913 must be implemented to get the remote client's environment.
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
914
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
915 (Done. Only getenv calls in lisp/term/*.el were changed; other
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
916 calls should be mostly left as they are.)
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
917
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
918 -- Add an elaborate mechanism for display-local variables. (There are
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
919 already a few of these; search for `terminal-local' in the Elisp
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
920 manual.)
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
921
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
922 (Not needed. Display-local variables could be emulated by
7652900ea029 Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents: 83111
diff changeset
923 frame-local variables.)
83084
0d3eea319893 Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents: 83076
diff changeset
924
83132
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
925 -- Emacs assumes that all terminal frames have the same locale
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
926 settings as Emacs itself. This may lead to bogus results in a
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
927 multi-locale setup. (E.g., while logging in from a remote client
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
928 with a different locale.)
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
929 (Update after new bugreport by Friedrich Delgado Friedrichs:
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
930 (at least) the structs terminal_coding and keyboard_coding in
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
931 coding.c must be moved to struct display, and the Lisp interface
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
932 [set-]keyboard-coding-system must be adapted for the change.)
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
933
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
934 (Fixed. Emacs now uses the locale settings as seen by the
f982df4459a4 Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents: 83125
diff changeset
935 emacsclient process for server tty frames.)
83065
a871be7b26a5 Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents: 83064
diff changeset
936
83167
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
937
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
938 -- Make `struct display' accessible to Lisp programs. Accessor functions:
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
939
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
940 (displayp OBJECT): Returns t if OBJECT is a display.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
941 => Implemented as display-live-p.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
942
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
943 (display-list): Returns list of currently active displays.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
944 => Implemented.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
945
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
946 (selected-display): Returns the display object of the selected frame.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
947 => Not strictly necessary, but implemented anyway.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
948
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
949 (frame-display FRAME): Returns the display object of FRAME.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
950 => Implemented.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
951
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
952 (display-frames DISPLAY): Returns a list of frames on DISPLAY.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
953 => Already implemented, see frames-on-display-list.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
954
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
955 (display-type DISPLAY): Returns the type of DISPLAY, as a
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
956 symbol. (See `framep'.)
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
957 => Implemented as display-live-p.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
958
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
959 (display-device DISPLAY): Returns the name of the device that
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
960 DISPLAY uses, as a string. (E.g: "/dev/pts/16", or
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
961 ":0.0")
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
962 => Implemented as display-name.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
963
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
964 etc.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
965
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
966 See next issue why this is necessary.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
967
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
968 (Update: The consensus on emacs-devel seems to be to do this via
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
969 integer identifiers. That's fine by me.)
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
970
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
971 (Done.)
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
972
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
973 -- The following needs to be supported:
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
974
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
975 $ emacsclient -t
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
976 C-z
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
977 $ emacsclient -t
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
978 (This fails now.)
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
979
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
980 The cleanest way to solve this is to allow multiple displays on the
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
981 same terminal device; each new emacsclient process should create
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
982 its own display. As displays are currently identified by their
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
983 device names, this is not possible until struct display becomes
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
984 accessible as a Lisp-level object.
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
985
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
986 (Done.)
69ebc75cb461 Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83161
diff changeset
987
83230
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
988 -- Miles Bader suggests that C-x C-c on an emacsclient frame should
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
989 only close the frame, not exit the entire Emacs session. Update:
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
990 see above for a function that does this. Maybe this should be the
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
991 new default?
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
992
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
993 (Done. This is the new default. No complaints so far.)
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
994
d8738586aaec Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents: 83220
diff changeset
995
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
996 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d