Mercurial > emacs
annotate README.multi-tty @ 83421:bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
* lisp/env.el (setenv, getenv): Add optional terminal parameter. Update docs.
(setenv): Handle `local-environment-variables'.
(read-envvar-name): Also allow (and complete) local
environment variables on the current terminal.
* src/callproc.c: Include frame.h and termhooks.h, for terminal parameters.
(Qenvironment): New constant.
(Vlocal_environment_variables): New variable.
(syms_of_callproc): Register and initialize them.
(child_setup): Handle Vlocal_environment_variables.
(getenv_internal): Add terminal parameter. Handle
Vlocal_environment_variables.
(Fgetenv_internal): Add terminal parameter.
* src/termhooks.h (get_terminal_param): Declare.
* src/Makefile.in (callproc.o): Update dependencies.
* mac/makefile.MPW (callproc.c.x): Update dependencies.
* lisp/termdev.el (terminal-id): Make parameter optional.
(terminal-getenv, terminal-setenv, with-terminal-environment):
Disable functions.
* lisp/mule-cmds.el (set-locale-environment): Convert `terminal-getenv' calls
to `getenv'.
* lisp/rxvt.el (rxvt-set-background-mode): Ditto.
* lisp/x-win.el (x-initialize-window-system): Ditto.
* lisp/xterm.el (terminal-init-xterm): Ditto.
* lisp/server.el (server-process-filter): Fix reference to the 'display frame
parameter.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-461
| author | Karoly Lorentey <lorentey@elte.hu> |
|---|---|
| date | Mon, 26 Dec 2005 02:14:10 +0000 |
| parents | 521d3f18b3d1 |
| children | 1f5d64c4df6f |
| 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 |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
34 Bernard Adrian <bernadrian@free.fr> |
|
83374
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
35 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
36 Vincent Bernat <bernat@luffy.cx> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
37 Han Boetes <han@mijncomputer.nl> |
|
83412
573105015a96
Work around Emacs crash on Konsole detach. (Tom Schutzer-Weissmann)
Karoly Lorentey <lorentey@elte.hu>
parents:
83411
diff
changeset
|
38 Francisco Borges <borges@let.rug.nl> |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
39 Damien Cassou <damien.cassou@laposte.net> |
|
83374
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
40 Robert J. Chassell <bob@rattlesnake.com> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
41 Romain Francoise <romain@orebokech.com> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
42 Ami Fischman <ami@fischman.org> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
43 Friedrich Delgado Friedrichs <friedel@nomaden.org> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
44 IRIE Tetsuya <irie@t.email.ne.jp> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
45 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
46 Bas Kok <nekkobassu@yahoo.com> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
47 Jurej Kubelka <Juraj.Kubelka@email.cz> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
48 David Lichteblau <david@lichteblau.com> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
49 Xavier Mallard <zedek@gnu-rox.org> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
50 Istvan Marko <mi-mtty@kismala.com> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
51 Ted Morse <morse@ciholas.com> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
52 Gergely Nagy <algernon@debian.org> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
53 Dan Nicolaescu <dann@ics.uci.edu> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
54 Kalle Olavi Niemitalo <kon@iki.fi> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
55 Mark Plaksin <happy@mcplaksin.org> |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
56 Frank Ruell <stoerte@dreamwarrior.net> |
|
83412
573105015a96
Work around Emacs crash on Konsole detach. (Tom Schutzer-Weissmann)
Karoly Lorentey <lorentey@elte.hu>
parents:
83411
diff
changeset
|
57 Tom Schutzer-Weissmann <trmsw@yahoo.co.uk> |
|
83417
fe870a866ce7
Don't let x_initialize break 8-bit input on ttys. (Reported by Joakim Verona.) Split `set-input-mode'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83416
diff
changeset
|
58 Joakim Verona <joakim@verona.se> |
|
83374
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
59 Dan Waber <dwaber@logolalia.com> |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
60 and many others. |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
61 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
62 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
|
63 patches. |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
64 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
65 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
66 MAILING LISTS |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
67 ------------- |
|
53228
c5b253fd2504
Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
68 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
69 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
|
70 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
71 Address: multi-tty@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 |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
73 Archive: http://news.gmane.org/gmane.emacs.multi-tty/ |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
74 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
75 Commit notifications (read-only): |
|
83020
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
76 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
77 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
|
78 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
|
79 |
|
83020
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
80 |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
81 STATUS |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
82 ------ |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
83 |
|
83118
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
84 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
|
85 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
|
86 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
|
87 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
|
88 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
|
89 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
|
90 |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
91 The multi-tty branch has been scheduled for inclusion in the next |
| 83274 | 92 major release of Emacs (version 23). I expect the merge into the |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
93 development trunk to occur sometime during next year (2006), after the |
|
83118
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
94 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
|
95 |
| 83208 | 96 Tested on GNU/Linux, Solaris 8, FreeBSD and OpenBSD. Please let me |
| 97 know if you succeed or fail to use it on other platforms---I'll have a | |
| 98 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
|
99 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
100 Known problems: |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
101 |
| 83274 | 102 * GTK support. If you compile your Emacs with the GTK |
|
83410
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
103 toolkit, some functionality of multi-tty will be lost. In |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
104 particular, you will not be able to work on multiple X |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
105 displays at once. Current releases of GTK have limitations |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
106 and bugs that prevent full-blown multi-display support in |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
107 Emacs. (GTK crashes when Emacs tries to disconnect from an |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
108 X server.) Use the Lucid toolkit if you want to see a |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
109 complete feature set. |
| 83274 | 110 |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
111 * The single-kboard mode. |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
112 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 pressing C-] (`abort-recursive-edit'). |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
119 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
120 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
|
121 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
|
122 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
|
123 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
|
124 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
|
125 editing sessions: |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
126 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
127 emacsclient -e '(top-level)' |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
128 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
129 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
|
130 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
|
131 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
|
132 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
|
133 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
134 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
|
135 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
|
136 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
137 * 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
|
138 compile. Multiple display support will probably not provide |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
139 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
|
140 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
|
141 system-dependent source files need to be adapted |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
142 accordingly. The changes are mostly trivial, so almost |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
143 anyone can help, if only by compiling the branch and |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
144 reporting the compiler errors. |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
145 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
146 |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
147 HOW TO GET THE BRANCH |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
148 --------------------- |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
149 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
150 The branch uses Bazaar 1 (http://bazaar.canonical.com) for version control. |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
151 |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
152 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
|
153 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
154 baz register-archive -f http://aszt.inf.elte.hu/~lorentey/mirror/arch/2004 |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
155 baz get lorentey@elte.hu--2004/emacs--multi-tty <directory> |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
156 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
157 This incantation uses an archive mirror that is hosted on a |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
158 high-bandwidth site. Please note that on average there is a two-hour |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
159 delay for commits to arrive on this mirror. My primary mirror is on the |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
160 low-bandwidth http://lorentey.hu/ site: |
| 83274 | 161 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
162 baz register-archive -f http://lorentey.hu/arch/2004/ |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
163 baz get lorentey@elte.hu--2004/emacs--multi-tty <directory> |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
164 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
165 This is "instantly" updated, but very slow from outside Hungary. |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
166 (By "instantly" I mean as soon as I connect the notebook I work on to |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
167 a network. It could take days.) |
| 83274 | 168 |
| 169 The Arch supermirror provides mirroring services for all public Arch | |
| 170 repositories. We have a mirror there, too, if you prefer. | |
| 171 | |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
172 baz register-archive -f http://mirrors.sourcecontrol.net/lorentey%40elte.hu--2004 |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
173 baz get lorentey@elte.hu--2004/emacs--multi-tty <directory> |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
174 |
|
83247
a257c9edb57b
README updates. (Reported by Xavier Mallard)
Karoly Lorentey <lorentey@elte.hu>
parents:
83235
diff
changeset
|
175 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
|
176 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
|
177 http://lorentey.hu/rolam/gpg.html) |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
178 |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
179 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
|
180 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
|
181 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
|
182 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
183 baz replay |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
184 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
185 You can find more information about Bazaar on |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
186 http://bazaar.canonical.com/. It's a distributed source control |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
187 system that is somewhat less broken than competing projects. |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
188 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
189 If you don't have Bazaar, the branch has a homepage from which you can |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
190 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
|
191 |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
192 http://lorentey.hu/project/emacs.html |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
193 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
194 I suggest you use Bazaar whenever feasible. |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
195 |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
196 |
| 83274 | 197 DEBIAN PACKAGES |
| 198 --------------- | |
| 199 | |
| 200 If you run Debian, or a distribution based on Debian, you are welcome | |
| 201 to use our binary packages; put these lines in your /etc/apt/sources.list: | |
| 202 | |
| 203 # Multi-tty Emacs | |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
204 deb http://aszt.inf.elte.hu/~lorentey/mirror/apt unstable multi-tty |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
205 deb-src http://aszt.inf.elte.hu/~lorentey/mirror/apt unstable multi-tty |
| 83274 | 206 |
| 207 Note that these packages are intended solely to provide an easy way to | |
| 208 test the new multi-tty features. They are not to be taken as Emacs | |
| 209 releases, and it's a mistake to expect robust operation or any kind of | |
| 210 timely support for them. Do not install them, unless you'd like to | |
| 211 have your editor crash on you. | |
| 212 | |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
213 |
| 83208 | 214 COMPILATION |
| 215 ----------- | |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
216 |
|
83186
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
217 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
|
218 |
| 83208 | 219 make maintainer-clean # (If you have compiled Emacs before) |
| 220 | |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
221 ./configure --without-gtk <your favourite options> |
|
53235
1bf332eccca1
Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
53234
diff
changeset
|
222 make bootstrap |
|
83186
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
223 make install |
|
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
224 |
| 83208 | 225 If you have strange compilation errors, they may be caused by old |
| 226 *.elc files that are left over from an earlier bootstrap. The `make | |
| 227 maintainer-clean' target deletes them, so it is a good idea to run | |
| 228 that before reporting a bug. (Emacs requires a clean recompilation | |
| 229 after certain kinds of source code changes.) | |
|
83186
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
230 |
| 83208 | 231 TESTING |
| 232 ------- | |
| 233 | |
| 234 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
|
235 following commands: |
|
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
236 |
|
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
237 emacs |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
238 M-x server-start |
|
53235
1bf332eccca1
Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
53234
diff
changeset
|
239 |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
240 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
|
241 with |
|
83186
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
242 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
|
243 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
|
244 |
|
83186
1adf7aed3649
Cleaned up README compile & test instructions.
Karoly Lorentey <lorentey@elte.hu>
parents:
83174
diff
changeset
|
245 (Make sure both emacs and emacsclient are multi-tty versions.) |
| 53340 | 246 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
|
247 separate terminals. The new frame is closed automatically when you |
| 83101 | 248 finish editing the specified files (C-x #), but delete-frame (C-x 5 0) |
| 249 also works. Of course, you can create frames on more than two tty | |
| 250 devices. | |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
251 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
252 Creating new frames on the same tty with C-x 5 2 (make-frame-command) |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
253 works, and they behave the same way as in previous Emacs versions. If |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
254 you exit emacs, all terminals should be restored to their previous |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
255 states. |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
256 |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
257 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
|
258 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
|
259 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
|
260 mailing list: multi-tty@lists.fnord.hu |
|
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
261 |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
262 TIPS & TRICKS |
|
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 |
|
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
|
265 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
|
266 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
|
267 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
|
268 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
|
269 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
|
270 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
|
271 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
|
272 recover-session invocations.) |
|
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
273 |
|
83300
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
274 I use the following two bash scripts to handle my Emacs sessions: |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
275 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
276 -------------------------------------------------------connect-emacs-- |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
277 #!/bin/bash |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
278 # Usage: connect-emacs <name> <args>... |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
279 # |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
280 # Connects to the Emacs instance called NAME. Starts up the instance |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
281 # if it is not already running. The rest of the arguments are passed |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
282 # to emacsclient. |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
283 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
284 name="$1" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
285 shift |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
286 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
287 if [ -z "$name" ]; then |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
288 echo "Usage: connect_emacs <name> <args>..." >&2 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
289 exit 1 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
290 fi |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
291 preload-emacs "$name" wait |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
292 /usr/bin/emacsclient.emacs-multi-tty -s "$name" "$@" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
293 ---------------------------------------------------------------------- |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
294 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
295 -------------------------------------------------------preload-emacs-- |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
296 #!/bin/bash |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
297 # Usage: preload-emacs <name> [<waitp>] |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
298 # |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
299 # Preloads the Emacs instance called NAME in a detached screen |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
300 # session. Does nothing if the instance is already running. If WAITP |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
301 # is non-empty, the function waits until the server starts up and |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
302 # creates its socket; otherwise it returns immediately. |
|
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
|
303 |
|
83300
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
304 name="$1" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
305 waitp="$2" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
306 screendir="/var/run/screen/S-$USER" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
307 serverdir="/tmp/emacs$UID" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
308 emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
309 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
310 if [ -z "$name" ]; then |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
311 echo "Usage: preload_emacs <name> [<waitp>]" >&2 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
312 exit 1 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
313 fi |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
314 |
|
83300
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
315 if [ ! -e "$screendir"/*."$name" ]; then |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
316 if [ -e "$serverdir/$name" ]; then |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
317 # Delete leftover socket (for the wait option) |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
318 rm "$serverdir/$name" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
319 fi |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
320 screen -dmS "$name" "$emacs" -nw --eval "(setq server-name \"$name\")" -f server-start |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
321 fi |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
322 if [ ! -z "$waitp" ]; then |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
323 while [ ! -e "$serverdir/$name" ]; do sleep 0.1; done |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
324 fi |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
325 ---------------------------------------------------------------------- |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
326 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
327 I have the following in my profile to have two instances automatically |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
328 preloaded for editing and email: |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
329 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
330 preload-emacs editor |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
331 preload-emacs gnus |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
332 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
333 It is useful to set up short aliases for connect-emacs. I use the |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
334 following: |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
335 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
336 alias edit="connect-emacs editor" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
337 alias e=edit |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
338 alias et="connect-emacs editor -t" |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
339 alias gnus="connect-emacs gnus" |
|
83191
bc4b91420ff4
README updates, including a new Tips & Tricks section
Karoly Lorentey <lorentey@elte.hu>
parents:
83190
diff
changeset
|
340 |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
341 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
342 CHANGELOG |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
343 --------- |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
344 |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
345 See arch logs. |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
346 |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
347 |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
348 NEWS |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
349 ---- |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
350 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
351 For the NEWS file: (Needs much, much work) |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
352 |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
353 ** 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
|
354 |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
355 *** 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
|
356 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
|
357 |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
358 *** 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
|
359 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
|
360 |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
361 *** Emacsclient has been extended to support opening a new terminal |
| 83046 | 362 frame. Its behaviour has been changed to open a new Emacs frame by |
| 363 default. Use the -c option to get the old behavior of opening | |
| 364 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
|
365 |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
366 *** 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
|
367 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
|
368 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
369 *** New functions: frame-tty-name, frame-tty-type, delete-tty, |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
370 terminal-local-value, set-terminal-local-value |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
371 |
|
83333
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
372 terminal-id, terminal-parameters, terminal-parameter, |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
373 set-terminal-parameter |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
374 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
375 *** New variables: global-key-translation-map |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
376 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
377 *** The keymaps key-translation-map and function-key-map are now |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
378 terminal-local. |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
379 |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
380 ** 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
|
381 added. |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
382 |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
383 *** 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
|
384 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
|
385 |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
386 *** 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
|
387 |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
388 *** 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
|
389 `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
|
390 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
391 *** talk.el has been extended for multiple tty support. |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
392 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
393 *** C-z now invokes `suspend-frame', C-x C-c now invokes |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
394 `save-buffers-kill-frame'. |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
395 |
| 83208 | 396 * * * |
| 397 | |
| 398 (The rest of this file consists of my development notes and as such it | |
| 399 is probably not very interesting for anyone else.) | |
| 400 | |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
401 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
|
402 ------------ |
|
83035
fcf6fc349e0d
Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents:
83032
diff
changeset
|
403 |
|
83421
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
404 ** Trouble: `setenv' doesn't actually set environment variables in the |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
405 Emacs process. This defeats the purpose of the elaborate |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
406 `server-with-environment' magic around the `tgetent' call in |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
407 `init_tty'. D'oh. |
|
83420
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
408 |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
409 ** (Possibly) create hooks in struct device for creating frames on a |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
410 specific terminal, and eliminate the hackish terminal-related frame |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
411 parameters (display, tty, tty-type). |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
412 |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
413 make_terminal_frame |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
414 create_tty_output |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
415 |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
416 |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
417 ** Move Fsend_string_to_terminal to term.c, and declare get_named_tty |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
418 as static, removing it from dispextern.h. |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
419 Move fatal to emacs.c and declare it somewhere. |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
420 |
|
83416
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
421 ** Search for `suspend-emacs' references and replace them with |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
422 `suspend-frame', if necessary. Ditto for `save-buffers-kill-emacs' |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
423 vs. `save-buffers-kill-display'. |
|
4513d8dcdfd5
Reimplement and extend support for terminal-local environment variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
83412
diff
changeset
|
424 |
|
83412
573105015a96
Work around Emacs crash on Konsole detach. (Tom Schutzer-Weissmann)
Karoly Lorentey <lorentey@elte.hu>
parents:
83411
diff
changeset
|
425 ** Emacs crashes when a tty frame is resized so that there is no space |
|
573105015a96
Work around Emacs crash on Konsole detach. (Tom Schutzer-Weissmann)
Karoly Lorentey <lorentey@elte.hu>
parents:
83411
diff
changeset
|
426 for all its windows. (Tom Schutzer-Weissmann) |
|
573105015a96
Work around Emacs crash on Konsole detach. (Tom Schutzer-Weissmann)
Karoly Lorentey <lorentey@elte.hu>
parents:
83411
diff
changeset
|
427 |
|
83374
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
428 ** Report GTK multi-display problems to GTK maintainers. For extra |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
429 credit, fix them. |
|
83369
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
430 |
|
83410
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
431 Currently you can not connect to new X displays when you compile |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
432 Emacs with GTK support. If you want to play around with GTK |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
433 multidisplay (and don't mind core dumps), you can edit src/config.h |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
434 and define HAVE_GTK_MULTIDISPLAY there by hand. |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
435 |
| 83411 | 436 ** Audit `face-valid-attribute-values' usage in customize and |
| 437 elsewhere. Its return value depends on the current window system. | |
| 438 Replace static initializers using it with runtime functions. For | |
| 439 example, custom's buttons are broken on non-initial device types. | |
| 440 | |
|
83387
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
441 ** Possibly turn off the double C-g feature when there is an X frame. |
|
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
442 C.f. (emacs)Emergency Escape. |
|
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
443 |
|
83369
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
444 ** frames-on-display-list should also accept frames. |
|
83352
b258b3492423
Add two pending bugs to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83350
diff
changeset
|
445 |
|
83378
3b40dd9f3d92
Fix assertion on kboard->kbd_queue and other such crashes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83374
diff
changeset
|
446 ** I smell something funny around pop_kboard's "deleted kboard" case. |
|
3b40dd9f3d92
Fix assertion on kboard->kbd_queue and other such crashes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83374
diff
changeset
|
447 Determine what are the circumstances of this case, and fix any |
|
3b40dd9f3d92
Fix assertion on kboard->kbd_queue and other such crashes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83374
diff
changeset
|
448 bug that comes to light. |
|
3b40dd9f3d92
Fix assertion on kboard->kbd_queue and other such crashes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83374
diff
changeset
|
449 |
|
83362
c3dd82172ed1
Enforce the presence of `window-system' and `tty-type' frame parameters in all frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83361
diff
changeset
|
450 ** Consider the `tty-type' frame parameter and the `display-tty-type' |
|
c3dd82172ed1
Enforce the presence of `window-system' and `tty-type' frame parameters in all frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83361
diff
changeset
|
451 function. They serve the exact same purpose. I think it may be |
|
c3dd82172ed1
Enforce the presence of `window-system' and `tty-type' frame parameters in all frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83361
diff
changeset
|
452 a good idea to eliminate one of them, preferably `tty-type'. |
|
c3dd82172ed1
Enforce the presence of `window-system' and `tty-type' frame parameters in all frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83361
diff
changeset
|
453 |
|
83333
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
454 ** The handling of lisp/term/*.el, and frame creation in general, is a |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
455 big, big mess. How come the terminal-specific file is loaded by |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
456 tty-create-frame-with-faces? I don't think it is necessary to load |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
457 these files for each frame; once per terminal should be enough. |
|
83369
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
458 Update: lisp/term/*.el is not loaded repeatedly anymore, but |
|
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
459 faces.el still needs to be cleaned up. |
|
83333
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
460 |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
461 ** Fix frame-set-background-mode in this branch. It was recently |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
462 changed in CVS, and frame.el in multi-tty has not yet been adapted |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
463 for the changes. (It needs to look at |
|
83369
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
464 default-frame-background-mode.) (Update: maybe it is fixed now; |
|
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
465 needs testing.) |
|
83333
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
466 |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
467 ** I think `(set-)terminal-local-value' and the terminal parameter |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
468 mechanism should be integrated into a single framework. |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
469 |
|
83420
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
470 (Update: `(set-)terminal-local-value' is now eliminated, but the |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
471 terminal-local variables should still be accessible as terminal |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
472 parameters. This also applies to `display-name' and similar |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
473 functions.) |
|
521d3f18b3d1
Reimplement terminal parameters in C; clean up term.c, create terminal.c.
Karoly Lorentey <lorentey@elte.hu>
parents:
83417
diff
changeset
|
474 |
|
83333
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
475 ** Add the following hooks: after-delete-frame-hook (for server.el, |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
476 instead of delete-frame-functions), |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
477 after-delete-terminal-functions, after-create-terminal-functions. |
|
40c0ee282254
Implement rudimentary Lisp-level terminal parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
83328
diff
changeset
|
478 |
|
83318
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
479 ** Fix set-input-mode for multi-tty. It's a truly horrible interface; |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
480 what if we'd blow it up into several separate functions (with a |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
481 compatibility definition)? |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
482 |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
483 ** BULK RENAME: The `display-' prefix of new Lisp-level functions |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
484 conflicts with stuff like `display-time-mode'. Use `device-' |
|
83328
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
485 or `terminal-' instead. I think I prefer `terminal-'. |
|
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
486 |
| 83340 | 487 It turns out that most of the offending Lisp functions were defined |
| 488 in the trunk. Therefore, compatibility aliases should be defined | |
| 489 for the following names: | |
| 490 | |
| 491 display-color-cells terminal-color-cells | |
| 492 display-color-p terminal-color-p | |
| 493 display-graphic-p terminal-graphic-p | |
| 494 display-grayscale-p terminal-grayscale-p | |
| 495 display-images-p terminal-images-p | |
| 496 display-mm-height terminal-mm-height | |
| 497 display-mm-width terminal-mm-width | |
| 498 display-mouse-p terminal-mouse-p | |
| 499 display-multi-font-p terminal-multi-font-p | |
| 500 display-multi-frame-p terminal-multi-frame-p | |
| 501 display-pixel-height terminal-pixel-height | |
| 502 display-pixel-width terminal-pixel-width | |
| 503 display-pixels-per-inch terminal-pixels-per-inch | |
| 504 display-planes terminal-planes | |
| 505 display-popup-menus-p terminal-popup-menus-p | |
| 506 display-save-under terminal-save-under | |
| 507 display-screens terminal-screens | |
| 508 display-supports-face-attributes-p terminal-supports-face-attributes-p | |
| 509 display-visual-class terminal-visual-class | |
| 510 framep-on-display framep-on-terminal | |
| 511 frames-on-display-list frames-on-terminal-list | |
| 512 | |
| 513 The following functions were introduced in the multi-tty branch, and | |
| 514 can be renamed without aliases: | |
| 515 | |
| 516 display-controlling-tty-p terminal-controlling-tty-p | |
| 517 display-list terminal-list | |
| 518 display-live-p terminal-live-p | |
| 519 display-name terminal-name | |
| 520 display-tty-type terminal-tty-type | |
| 521 frame-display terminal-of-frame | |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83340
diff
changeset
|
522 delete-display delete-terminal |
| 83340 | 523 |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
524 ** 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
|
525 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
|
526 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
|
527 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
|
528 Nicolaescu.) |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
529 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
530 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
|
531 under X. This is very confusing. |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
532 |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
533 Update: After discussions with Richard Stallman, this will be |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
534 resolved by having locked displays warn the user to wait, and |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
535 introducing a complex protocol to remotely bail out of |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
536 single-kboard mode by pressing C-g. |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
537 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
538 Update: Warning the user is not trivial to implement, as Emacs has |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
539 only one echo area, shared by all frames. Ideally the warning |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
540 should not be displayed on the display that is locking the others. |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
541 Perhaps the high probability of user confusion caused by |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
542 single_kboard mode deserves a special case in the display code. |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
543 Alternatively, it might be good enough to signal single_kboard mode |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
544 by changing the modelines or some other frame-local display element |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
545 on the locked out displays. |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
546 |
|
83350
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
547 ** The session management module is prone to crashes when the X |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
548 connection is closed and then later I try to connect to a new X |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
549 session: |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
550 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
551 #0 0xb7ebc806 in SmcGetIceConnection () from /usr/X11R6/lib/libSM.so.6 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
552 #1 0x080e6641 in x_session_check_input (bufp=0xbf86c9c0) at xsmfns.c:144 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
553 #2 0x080d3bbc in XTread_socket (device=0xa722ff8, expected=1, hold_quit=0xbf86ca90) at xterm.c:7037 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
554 #3 0x080fa404 in read_avail_input (expected=1) at keyboard.c:6696 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
555 #4 0x080fa4ca in handle_async_input () at keyboard.c:6900 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
556 #5 0x080d51fa in x_term_init (display_name=162628899, xrm_option=0x0, resource_name=0x857068c "emacs") at xterm.c:10622 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
557 #6 0x080d920e in x_display_info_for_name (name=162628899) at xfns.c:3975 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
558 #7 0x080d92f9 in check_x_display_info (object=1) at xfns.c:274 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
559 #8 0x080d97b8 in Fx_create_frame (parms=151221485) at xfns.c:3016 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
560 #9 0x0815bf72 in Ffuncall (nargs=2, args=0xbf86ceec) at eval.c:2851 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
561 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
562 I installed a workaround to prevent this. The X session manager is |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
563 only contacted when the very first display in the Emacs session is |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
564 an X display. Also, x_delete_display() on this display aborts |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
565 session management, and XTread_socket only calls |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
566 x_session_check_input when it is called for the display that the |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
567 session was opened on. While this does not really fix the bug, it |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
568 makes it much less frequent, because session manager support will |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
569 not normally be enabled when Emacs can survive the shutdown of the |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
570 X server. |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
571 |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
572 See if xsmfns.c should be updated. |
|
e7d5238afe52
Work around crashes in X session management after normal shutdown of X server.
Karoly Lorentey <lorentey@elte.hu>
parents:
83345
diff
changeset
|
573 |
|
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
574 ** 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
|
575 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
|
576 |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
577 ** 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
|
578 new global function. |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
579 |
|
83300
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
580 ** The set-locale-environment hack (adding the DISPLAY option) should |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
581 be replaced with a clean design. |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
582 |
|
83300
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
583 ** standard-display-table should be display-local. |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
584 standard-display-european should be display-local. |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
585 |
|
83328
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
586 ** With iswitchb-default-method set to 'always-frame, only frames on |
|
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
587 the current display should be considered. This might involve |
|
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
588 extending `get-buffer-window'. |
|
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
589 |
|
83300
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
590 ** Have a look at Vlocale_coding_system. Seems like it would be a |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
591 tedious job to localize it, although most references use it for |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
592 interfacing with libc and are therefore OK with the global |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
593 definition. |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
594 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
595 Exceptions found so far: x-select-text and |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
596 x-cut-buffer-or-selection-value. |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
597 |
|
83152
632f9d4fdffb
README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents:
83148
diff
changeset
|
598 ** Have a look at fatal_error_hook. |
|
632f9d4fdffb
README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents:
83148
diff
changeset
|
599 |
| 83235 | 600 ** Have a look at set_frame_matrix_frame. |
| 601 | |
|
83148
33462a853808
README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents:
83141
diff
changeset
|
602 ** Check if we got term-setup-hook right. |
|
33462a853808
README.multi-tty update.
Karoly Lorentey <lorentey@elte.hu>
parents:
83141
diff
changeset
|
603 |
|
83234
ad592995fd24
Trivial changes in x_create_tip_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83230
diff
changeset
|
604 ** 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
|
605 |
|
ad592995fd24
Trivial changes in x_create_tip_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83230
diff
changeset
|
606 ** 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
|
607 |
|
83105
efc02a84dfbb
Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
83103
diff
changeset
|
608 ** 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
|
609 argument: |
|
efc02a84dfbb
Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
83103
diff
changeset
|
610 |
|
efc02a84dfbb
Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
83103
diff
changeset
|
611 (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
|
612 => nil |
|
efc02a84dfbb
Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
83103
diff
changeset
|
613 |
|
efc02a84dfbb
Fix frame parameter handling in server.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
83103
diff
changeset
|
614 (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
|
615 |
| 83055 | 616 ** Dan Nicolaescu suggests that -nw should be added as an alias for -t |
| 617 in emacsclient. Good idea. (Alas, implementing this is not | |
| 618 trivial, getopt_long does not seem to support two-letter ``short'' | |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
619 options. Patches are welcome.) |
|
83018
1465425fe2d3
Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83014
diff
changeset
|
620 |
| 83055 | 621 ** Mark Plaksin suggests that emacsclient should accept the same |
| 622 X-related command-line arguments as Emacs. Most of the X-related | |
| 623 argument-handling is done in Lisp, so this should be quite easy to | |
| 624 implement. | |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
625 |
| 83076 | 626 ** Gergely Nagy suggests that C-x # should only kill the current |
| 627 frame, not any other emacsclient frame that may have the same file | |
| 628 opened for editing. I think I agree with him. | |
| 629 | |
|
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
630 ** 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
|
631 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
|
632 but it's so quick it isn't noticable. |
|
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
633 |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
634 ** 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
|
635 |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
636 ** 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
|
637 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
|
638 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
|
639 |
|
83118
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
640 ** 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
|
641 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
|
642 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
|
643 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
|
644 |
|
83118
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
645 ** 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
|
646 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
|
647 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
|
648 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
|
649 |
|
83118
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
650 ** 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
|
651 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
|
652 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
|
653 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
|
654 |
|
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
655 ** 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
|
656 |
| 83097 | 657 ** Understand Emacs's low-level input system (it's black magic) :-) |
| 658 What exactly does interrupt_input do? I tried to disable it for | |
| 659 raw secondary tty support, but it does not seem to do anything | |
| 660 useful. (Update: Look again. X unconditionally enables this, maybe | |
| 661 that's why raw terminal support is broken again. I really do need | |
| 662 to understand input.) | |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
663 (Update: I am starting to understand the read_key_sequence->read-char |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
664 ->kbd_buffer_get_event->read_avail_input->read_socket_hook path. Yay!) |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
665 |
|
83391
e99392472e41
Change `keyboard-translate-table' to be terminal-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83387
diff
changeset
|
666 ** flow-ctrl.el must be updated. |
|
e99392472e41
Change `keyboard-translate-table' to be terminal-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83387
diff
changeset
|
667 |
|
83328
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
668 ** Fix stuff_char for multi-tty. Doesn't seem to be of high priority. |
|
f2eb4324cbaf
Speed up loading of term/xterm.el (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83325
diff
changeset
|
669 |
|
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
670 DIARY OF CHANGES |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
671 ---------------- |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
672 |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
673 (ex-TODO items with explanations.) |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
674 |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
675 -- Introduce a new struct for terminal devices. |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
676 |
|
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
677 (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
|
678 complete.) |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
679 |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
680 -- Change the bootstrap procedure to initialize tty_list. |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
681 |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
682 (Done, but needs review.) |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
683 |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
684 -- Change make-terminal-frame to support specifying another tty. |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
685 |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
686 (Done, new frame parameters: `tty' and `tty-type'.) |
|
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
687 |
|
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
|
688 -- 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
|
689 |
|
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
|
690 (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
|
691 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
|
692 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
|
693 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
694 (Update: They do, now.) |
|
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
695 |
|
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
696 (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
|
697 |
|
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
|
698 -- 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
|
699 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
|
700 |
|
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
701 (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
|
702 |
|
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
|
703 -- Support different terminal sizes. |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
704 |
|
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
|
705 (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
|
706 |
|
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
|
707 -- 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
|
708 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
|
709 |
|
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
710 (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
|
711 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
|
712 |
|
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
|
713 -- 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
|
714 to Emacs. |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
715 |
|
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
|
716 (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
|
717 |
|
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
718 -- 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
|
719 just the initial terminal. |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
720 |
|
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
721 (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
|
722 |
|
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
723 -- Fix redisplay problems. |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
724 |
|
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
725 (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
|
726 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
|
727 |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
728 -- 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
|
729 resized. |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
730 |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
731 (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
|
732 |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
733 -- 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
|
734 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
|
735 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
|
736 |
|
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
737 (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
|
738 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
|
739 |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
740 -- 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
|
741 |
|
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
742 (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
|
743 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
|
744 raw ttys!) |
|
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
745 |
| 53341 | 746 (Update: This is bullshit. There is a read_input_waiting function, |
| 747 extend that somehow.) | |
| 748 | |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
749 (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
|
750 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
|
751 send signals on input.) |
|
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
752 |
|
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
753 (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
|
754 |
|
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
755 -- 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
|
756 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
|
757 default. |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
758 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
759 (Done.) |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
760 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
761 -- 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
|
762 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
|
763 really support multiple terminal types. |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
764 |
|
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
765 (Done. It was not fun.) |
|
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
766 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
767 -- Implement sane error handling after initialization. (Currently |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
768 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
|
769 messages must still be provided when Emacs starts. |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
770 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
771 (Done.) |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
772 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
773 -- 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
|
774 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
|
775 Emacs. |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
776 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
777 (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
|
778 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
|
779 somewhere.) (Update: now it is fully enabled.) |
|
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
780 |
|
53236
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
781 -- 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
|
782 that terminal is closed. |
|
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
783 |
|
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
784 (Done.) |
|
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
785 |
| 53341 | 786 -- Restore tty screen after closing the terminal. |
| 787 | |
| 788 (Done, we do the same as Emacs 21.2 for all terminals.) | |
| 789 | |
| 790 -- '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
|
791 |
| 53341 | 792 (Done.) |
|
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
793 |
|
53343
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
794 -- 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
|
795 |
|
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
796 (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
|
797 |
|
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
798 -- 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
|
799 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
|
800 |
|
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
801 (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
|
802 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
|
803 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
|
804 |
|
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
805 -- 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
|
806 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
|
807 |
|
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
808 (Seems to be working OK.) |
|
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
809 |
|
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
810 -- 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
|
811 trigger it, try the following shell command: |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
812 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
813 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
|
814 |
|
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
815 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
|
816 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
|
817 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
|
818 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
|
819 support?) |
|
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
820 |
|
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
821 (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
|
822 with hypothetical external references to Wcm, or any other |
|
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
823 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
|
824 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
|
825 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
|
826 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
|
827 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
828 -- 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
|
829 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
|
830 multiple ttys and hopefully this will be fixed. |
|
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
831 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
832 (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
|
833 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
|
834 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
|
835 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
|
836 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
|
837 it.) (Update: After adding X support, it's broken again.) |
| 83097 | 838 (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
|
839 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
840 -- Find out why does Emacs abort when it wants to close its |
| 53341 | 841 controlling tty. Hint: chan_process[] array. Hey, maybe |
|
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
842 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
|
843 for stdin/out. |
|
53237
4f33c6fc9a1f
README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents:
53236
diff
changeset
|
844 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
845 (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
|
846 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
|
847 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
848 -- 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
|
849 fcntl kernel behaviour could be emulated by emacsclient. |
| 53341 | 850 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
851 (Done. Simply disabled the SIGIO emulation hack in emacsclient.) |
| 83097 | 852 (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
|
853 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
854 -- 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
|
855 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
|
856 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
|
857 question, and a surprising confirmation prompt appears in another |
|
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
858 frame. |
|
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
859 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
860 (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
|
861 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
|
862 |
|
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
863 -- 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
|
864 doing -t. |
|
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
865 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
866 (Done.) |
|
82985
8d7be2534cbc
Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents:
82983
diff
changeset
|
867 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
868 -- 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
|
869 name and the type is sufficient. |
|
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
870 |
|
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
871 (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
|
872 |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
873 -- 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
|
874 |
|
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
875 (Done, see delete-tty.) |
|
82985
8d7be2534cbc
Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents:
82983
diff
changeset
|
876 |
|
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
877 -- 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
|
878 all members. |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
879 |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
880 (Done.) |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
881 |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
882 -- 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
|
883 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
|
884 |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
885 (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
|
886 |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
887 -- Fix X support. |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
888 |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
889 (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
|
890 |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
891 -- 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
|
892 tricky. Or maybe not.) |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
893 |
|
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
894 (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
|
895 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
|
896 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
|
897 |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
898 -- Rewrite multi-tty input in terms of MULTI_KBOARD. |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
899 |
|
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
900 (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
|
901 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
|
902 frame's kboard from there.) |
|
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
903 |
|
82992
5de4189e659d
Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents:
82991
diff
changeset
|
904 -- 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
|
905 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
|
906 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
|
907 |
|
5de4189e659d
Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents:
82991
diff
changeset
|
908 (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
|
909 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
|
910 |
|
82997
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
911 -- Add multi-tty support to talk.el. |
|
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
912 |
|
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
913 (Done.) |
|
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
914 |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
915 -- 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
|
916 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
917 (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
|
918 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
919 -- 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
|
920 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
|
921 with it. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
922 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
923 (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
|
924 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
|
925 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
926 -- 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
|
927 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
|
928 delete-frame-functions. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
929 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
930 (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
|
931 use it.) |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
932 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
933 -- 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
|
934 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
|
935 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
936 (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
|
937 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
938 -- 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
|
939 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
940 (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
|
941 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
942 -- 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
|
943 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
|
944 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
945 (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
|
946 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
|
947 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
|
948 |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
949 -- If there are no frames on its controlling terminal, Emacs should |
| 83097 | 950 exit if the user presses C-c there. |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
951 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
952 (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
|
953 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
|
954 in general.) |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
955 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
956 -- 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
|
957 fails to start without a controlling tty. |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
958 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
959 (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
|
960 bootstrap display during bootstrap. |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
961 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
962 -- Do tty output through struct display, like graphical display |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
963 backends. |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
964 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
965 (Done.) |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
966 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
967 -- 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
|
968 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
|
969 cmd_error_internal) is ugly. |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
970 |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
971 (Done, breaking interactive temacs.) |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
972 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
973 -- 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
|
974 |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
975 (Fixed.) |
|
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
976 |
|
83012
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
977 -- 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
|
978 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
|
979 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
|
980 thing. |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
981 |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
982 (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
|
983 |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
984 -- Fix C-g on raw ttys. |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
985 |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
986 (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
|
987 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
|
988 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
|
989 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
|
990 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
|
991 be a bad idea.) |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
992 |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
993 -- 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
|
994 SIGINT doesn't have a tty parameter. :-( |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
995 |
|
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
996 (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
|
997 |
|
83013
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
998 -- 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
|
999 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
|
1000 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1001 getpid() = 30284 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1002 kill(30284, SIGIO) = 0 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1003 --- SIGIO (I/O possible) @ 0 (0) --- |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1004 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
|
1005 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
|
1006 ioctl(0, FIONREAD, [0]) = 0 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1007 sigreturn() = ? (mask now []) |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1008 gettimeofday({1072842297, 747760}, NULL) = 0 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1009 gettimeofday({1072842297, 747806}, NULL) = 0 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1010 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
|
1011 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
|
1012 gettimeofday({1072842297, 748245}, NULL) = 0 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1013 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1014 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
|
1015 been able to reproduce it for debugging. |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1016 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1017 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
|
1018 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
|
1019 read_avail_input. |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1020 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1021 (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
|
1022 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
|
1023 wait_reading_process_input always returned immediately, indicating |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1024 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
|
1025 |
|
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
1026 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
|
1027 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
|
1028 |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
1029 -- 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
|
1030 ttys to their default states. |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
1031 |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
1032 (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
|
1033 |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
1034 -- 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
|
1035 |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
1036 (Done.) |
|
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
1037 |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
1038 -- 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
|
1039 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
|
1040 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
|
1041 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
|
1042 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
|
1043 (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
|
1044 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
|
1045 |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
1046 (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
|
1047 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
|
1048 graphical.) |
|
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
1049 |
|
83023
6ce586a7243e
Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83021
diff
changeset
|
1050 -- 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
|
1051 Romain Francoise) |
|
6ce586a7243e
Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83021
diff
changeset
|
1052 |
|
6ce586a7243e
Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83021
diff
changeset
|
1053 (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
|
1054 |
|
83024
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
1055 -- Fix interactive use of temacs. There are face-related SEGVs, most |
|
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
1056 likely because of changes in realize_default_face, realize_face. |
|
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
1057 |
|
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
1058 (Fixed.) |
|
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
1059 |
|
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
|
1060 -- 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
|
1061 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
|
1062 |
|
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
|
1063 (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
|
1064 |
|
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
1065 -- 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
|
1066 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
|
1067 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
|
1068 |
|
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
1069 (Fixed.) |
|
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
1070 |
|
83035
fcf6fc349e0d
Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents:
83032
diff
changeset
|
1071 -- 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
|
1072 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
|
1073 |
|
fcf6fc349e0d
Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents:
83032
diff
changeset
|
1074 (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
|
1075 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
|
1076 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
|
1077 |
|
83064
e7e9448cb3a0
Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents:
83063
diff
changeset
|
1078 -- 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
|
1079 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
|
1080 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
|
1081 bugs in term.el, not in multi-tty. The lockup is caused by |
| 83097 | 1082 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
|
1083 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
|
1084 |
|
e7e9448cb3a0
Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents:
83063
diff
changeset
|
1085 (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
|
1086 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
|
1087 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
|
1088 |
|
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
1089 -- 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
|
1090 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
|
1091 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
|
1092 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
|
1093 works right now.) |
|
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
1094 |
|
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
1095 (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
|
1096 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
|
1097 wrt foreground/background process groups.) |
|
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
1098 |
| 83069 | 1099 -- There is a flicker during the startup of `emacs -nw'; it's as if |
| 1100 the terminal is initialized, reset and then initialialized again. | |
| 1101 Debug this. (Hint: narrow_foreground_group is called twice during | |
| 1102 startup.) | |
| 1103 | |
| 1104 (This is gone.) | |
| 1105 | |
|
83084
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
1106 -- 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
|
1107 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
|
1108 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
|
1109 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
|
1110 |
|
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
1111 (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
|
1112 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
|
1113 (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
|
1114 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
|
1115 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
|
1116 |
|
83118
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1117 -- 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
|
1118 Think up a compatible solution. |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1119 |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1120 (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
|
1121 |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1122 -- 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
|
1123 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
|
1124 "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
|
1125 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
|
1126 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
|
1127 |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1128 (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
|
1129 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
|
1130 |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1131 -- 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
|
1132 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
|
1133 manual.) |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1134 |
|
7652900ea029
Fixed environment variable handling during terminal initialization.
Karoly Lorentey <lorentey@elte.hu>
parents:
83111
diff
changeset
|
1135 (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
|
1136 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
|
1137 |
|
83132
f982df4459a4
Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83125
diff
changeset
|
1138 -- Emacs assumes that all terminal frames have the same locale |
|
f982df4459a4
Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83125
diff
changeset
|
1139 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
|
1140 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
|
1141 with a different locale.) |
|
f982df4459a4
Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83125
diff
changeset
|
1142 (Update after new bugreport by Friedrich Delgado Friedrichs: |
|
f982df4459a4
Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83125
diff
changeset
|
1143 (at least) the structs terminal_coding and keyboard_coding in |
|
f982df4459a4
Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83125
diff
changeset
|
1144 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
|
1145 [set-]keyboard-coding-system must be adapted for the change.) |
|
f982df4459a4
Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83125
diff
changeset
|
1146 |
|
f982df4459a4
Update README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83125
diff
changeset
|
1147 (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
|
1148 emacsclient process for server tty frames.) |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
1149 (Update: Not really; Vlocale_coding_system is still global.) |
|
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1150 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1151 -- 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
|
1152 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1153 (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
|
1154 => 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
|
1155 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1156 (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
|
1157 => Implemented. |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1158 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1159 (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
|
1160 => 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
|
1161 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1162 (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
|
1163 => Implemented. |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1164 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1165 (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
|
1166 => 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
|
1167 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1168 (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
|
1169 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
|
1170 => 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
|
1171 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1172 (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
|
1173 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
|
1174 ":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
|
1175 => 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
|
1176 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1177 etc. |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1178 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1179 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
|
1180 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1181 (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
|
1182 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
|
1183 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1184 (Done.) |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1185 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1186 -- 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
|
1187 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1188 $ 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
|
1189 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
|
1190 $ 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
|
1191 (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
|
1192 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1193 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
|
1194 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
|
1195 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
|
1196 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
|
1197 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
|
1198 |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1199 (Done.) |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83161
diff
changeset
|
1200 |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
1201 -- 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
|
1202 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
|
1203 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
|
1204 new default? |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
1205 |
|
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
1206 (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
|
1207 |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
1208 -- Clean up the frame-local variable system. I think it's ugly and |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
1209 error-prone. But maybe I just haven't yet fully understood it. |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
1210 |
|
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83282
diff
changeset
|
1211 (Nothing to do. It doesn't seem ugly any more. It's rather clever.) |
|
83230
d8738586aaec
Remove remaining references to updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83220
diff
changeset
|
1212 |
|
83300
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1213 -- Support multiple character locales. A version of |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1214 `set-locale-environment' needs to be written for setting up |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1215 display-local settings on ttys. I think calling |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1216 set-display-table-and-terminal-coding-system and |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1217 set-keyboard-coding-system would be enough. The language |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1218 environment itself should remain a global setting. |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1219 |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1220 (Done, by an ugly hack.) |
|
6deb860255f3
Support for ttys with different character locale settings.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
1221 |
|
83318
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1222 -- The terminal customization files in term/*.el tend to change global |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1223 parameters, which may confuse Emacs with multiple displays. Change |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1224 them to tweak only frame-local settings, if possible. (They tend |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1225 to call define-key to set function key sequences a lot.) |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1226 |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1227 (Done, by making `function-key-map' terminal-local (i.e., part of |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1228 struct kboard). This has probably covered all the remaining problems.) |
|
666b48e39a5a
Work around mysterious breakage of arrow key recognition under screen (see first TODO in README).
Karoly Lorentey <lorentey@elte.hu>
parents:
83300
diff
changeset
|
1229 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1230 -- Make `function-key-map' and `key-translation-map' terminal-local. |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1231 |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1232 (Done.) |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1233 |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1234 -- Implement `terminal-local-value' and `set-terminal-local-value' to |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1235 allow deterministic access to terminal local bindings. The |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1236 encode-kb package can not set up `key-translation-map' without |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1237 these. The terminal-local bindings seem to be independent of what |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1238 frame is selected. |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1239 |
|
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1240 (Done.) |
|
83369
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
1241 |
|
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
1242 -- xt-mouse.el needs to be adapted for multi-tty. It currently |
|
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
1243 signals an error on kill-emacs under X, which prevents the user |
|
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
1244 from exiting Emacs. (Reported by Mnemonikk on freenode.) |
|
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
1245 |
|
d2e0850b17f2
Make xt-mouse.el multi-tty-compatible.
Karoly Lorentey <lorentey@elte.hu>
parents:
83367
diff
changeset
|
1246 (Done, I hope.) |
|
83362
c3dd82172ed1
Enforce the presence of `window-system' and `tty-type' frame parameters in all frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83361
diff
changeset
|
1247 |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1248 |
|
83373
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1249 -- Having {reset,init}_all_sys_modes in set-input-mode breaks arrow |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1250 keys on non-selected terminals under screen, and sometimes on other |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1251 terminal types as well. The other function keys continue to work |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1252 fine. Sometimes faces on these screens become garbled. |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1253 |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1254 This only seems to affect displays that are of the same terminfo |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1255 type as the selected one. Interestingly, in screen Emacs normally |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1256 reports the up arrow key as `M-o A', but after the above SNAFU, it |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1257 complains about `M-[ a'. UNIX ttys are a complete mystery to me, |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1258 but it seems the reset-reinitialize cycle somehow leaves the |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1259 non-selected terminals in a different state than usual. I have no |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1260 idea how this could happen. |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1261 |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1262 Currently set-input-mode resets only the currently selected |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1263 terminal, which seems to somehow work around the problem. |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1264 |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1265 Update: |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1266 |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1267 Dan Nicolaescu <dann@ics.uci.edu> writes: |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1268 > Some terminals have 2 modes for cursor keys: Application Mode where |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1269 > the cursor keys transmit the codes defined in the terminfo entry, and |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1270 > Cursor mode. Applications have to send the smkx and rmkx terminfo |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1271 > strings to switch between the 2 modes. So Emacs (and emacsclient) have |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1272 > to send smkx when initializing and rmkx when quitting (or on |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1273 > suspend). |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1274 |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1275 (I think patch-370 fixed this.) |
|
35ba943c8399
Set Emacs version number to 22.0.51 to allow parallel installations of CVS trunk and the multi-tty branch.
Karoly Lorentey <lorentey@elte.hu>
parents:
83371
diff
changeset
|
1276 |
|
83374
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1277 -- This long-standing bug (first reported by Han Boetes) seems to come |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1278 and go all the time. It is time to track it down and fix it. |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1279 |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1280 emacs |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1281 M-x server-start |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1282 |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1283 # From another xterm: |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1284 emacsclient -e '(y-or-n-p "Do you want me to crash? ")' |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1285 # Notice how the answer ends up in the *scratch* buffer |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1286 M-x garbage-collect |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1287 SIGSEGV |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1288 |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1289 (Fixed in patch-414 after detailed analysis by Kalle Olavi Niemitalo.) |
|
0b75ace4f7ad
Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83373
diff
changeset
|
1290 |
|
83387
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
1291 -- normal-erase-is-backspace-mode in simple.el needs to be updated for |
|
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
1292 multi-tty (rep. by Dan Waber). (The Delete key is broken on X |
|
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
1293 because of this.) |
|
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
1294 |
|
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
1295 (Fixed in patch-427.) |
|
0181341f0aca
Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83378
diff
changeset
|
1296 |
|
83391
e99392472e41
Change `keyboard-translate-table' to be terminal-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83387
diff
changeset
|
1297 -- I think keyboard-translate-table should be made terminal-local. |
|
e99392472e41
Change `keyboard-translate-table' to be terminal-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83387
diff
changeset
|
1298 |
|
e99392472e41
Change `keyboard-translate-table' to be terminal-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83387
diff
changeset
|
1299 (Done in patch-431.) |
|
e99392472e41
Change `keyboard-translate-table' to be terminal-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83387
diff
changeset
|
1300 |
|
83396
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1301 -- The semantics of terminal-local variables are confusing; it is not |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1302 clear what binding is in effect in any given time. See if |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1303 current_kboard (or at least the terminal-local bindings exported to |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1304 Lisp) might be changed to be tied to the selected frame instead. |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1305 Currently, `function-key-map' and `key-translation-map' may be |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1306 accessed reliably only using the hackish |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1307 `(set-)terminal-local-value' functions. |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1308 |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1309 Perhaps there should be a difference between `last-command' &co. |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1310 and these more conventional configuration variables. |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1311 (E.g. `symbol-value' would use current_kboard to access |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1312 `last-command', but SELECTED_FRAME()->display->kboard to get the |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1313 value of `function-key-map'. |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1314 |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1315 (Fixed in patch-434.) |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1316 |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1317 -- If the first key pressed on a new tty terminal is a function key, |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1318 it is not recognized correctly. May be related to the bug below. |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1319 |
|
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1320 (Seems to have been fixed as a side effect of patch-434. "The bug |
|
83409
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
1321 below" was the set-input-mode madness.) |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
1322 |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
1323 (Update: this bug was fixed for good in patch-449. It was tracked |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
1324 down to a bug in `read_key_sequence': it failed to reinitialize its |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
1325 local function-key-map/key-translation-map references when it |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
1326 switched keyboards. I don't understand why did this bug only |
|
be1f74bffc1d
Fix "first non-ASCII character on new tty frames" problem.
Karoly Lorentey <lorentey@elte.hu>
parents:
83396
diff
changeset
|
1327 appear on brand new frames, though!) |
|
83396
201f610eb492
Update frames-on-display-list to accept terminal id numbers.
Karoly Lorentey <lorentey@elte.hu>
parents:
83391
diff
changeset
|
1328 |
|
83410
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
1329 -- Disable connecting to a new X display when we use the GTK toolkit. |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
1330 |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
1331 (Disabled in patch-450.) |
|
fea405284011
Prevent core dumps with GTK by disabling secondary X connections there.
Karoly Lorentey <lorentey@elte.hu>
parents:
83409
diff
changeset
|
1332 |
|
83421
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1333 -- Implement automatic forwarding of client environment variables to |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1334 forked processes, as discussed on the multi-tty list. Terminal |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1335 parameters are now accessible in C code, so the biggest obstacle is |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1336 gone. The `getenv_internal' and `child_setup' functions in |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1337 callproc.c must be changed to support the following variable: |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1338 |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1339 terminal-local-environment-variables is a variable defined in ... |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1340 |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1341 Enable or disable terminal-local environment variables. |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1342 |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1343 If set to t, `getenv', `setenv' and subprocess creation |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1344 functions use the environment variables of the emacsclient |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1345 process that created the selected frame, ignoring |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1346 `process-environment'. |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1347 |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1348 If set to nil, Emacs uses `process-environment' and ignores |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1349 the client environment. |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1350 |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1351 Otherwise, `terminal-local-environment-variables' should be a |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1352 list of variable names (represented by Lisp strings) to look |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1353 up in the client environment. The rest will come from |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1354 `process-environment'. |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1355 |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1356 (Implemented in patch-461; `terminal-getenv', `terminal-setenv' and |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1357 `with-terminal-environment' are now replaced by extensions to |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1358 `getenv' and `setenv', and the new `local-environment-variables' |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1359 facility. Yay!) |
|
bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
Karoly Lorentey <lorentey@elte.hu>
parents:
83420
diff
changeset
|
1360 |
|
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
1361 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d |
|
83325
9e41c80c6389
Work around nondeterministic binding of terminal-local variables. (Fixes national character input on ttys.)
Karoly Lorentey <lorentey@elte.hu>
parents:
83318
diff
changeset
|
1362 |
