Mercurial > emacs
annotate README.multi-tty @ 83101:a2e3f695c833
README updates.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-141
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sat, 17 Apr 2004 18:24:32 +0000 |
parents | 01716205773e |
children | efc0b56b83d9 |
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 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
5 The goal of this branch is to implement support for opening multiple, |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
6 different tty devices and simultaneous X and tty frames from a single |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
7 Emacs session. |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
8 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
9 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
|
10 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
|
11 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
|
12 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
|
13 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
|
14 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
|
15 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
|
16 |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
23 WHO IS DOING IT |
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 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
26 I'm Károly Lőrentey. My address: lorentey@elte.hu. |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
27 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
28 Comments, bug reports, suggestions and patches are welcome! |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
29 |
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
30 Retrieving the latest version of the branch: |
53228
c5b253fd2504
Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
31 |
c5b253fd2504
Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
32 tla register-archive lorentey@elte.hu--2004 http://lorentey.web.elte.hu/arch/2004/ |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
33 tla get lorentey@elte.hu--2004/emacs--multi-tty <directory> |
53228
c5b253fd2504
Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
34 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
35 (I use a recent arch development snapshot, but any of the released |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
36 versions of arch will do fine, I think.) |
53228
c5b253fd2504
Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
37 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
38 If you don't have arch, the branch has a homepage from which you can |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
39 download conventional patches against Emacs CVS HEAD: |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
40 |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
41 http://lorentey.web.elte.hu/project/emacs.html |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
42 |
83020
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
43 If you want to be notified of new revisions, sign up to the |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
44 multi-tty@listbox.elte.hu mailing list by visiting the |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
45 below homepage and following its instructions. |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
46 |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
47 https://listbox.elte.hu/mailman/listinfo/multi-tty |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
48 |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
49 Please note that the multi-tty mailing list is read-only, and is |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
50 reserved for automatic commit messages. Discussion about the branch |
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
51 and bug reports should be sent directly to me (lorentey@elte.hu), or |
83046 | 52 to the emacs-devel@gnu.org mailing list. (I hope to merge my branch |
53 into CVS HEAD reasonably soon, so I don't want to set up an elaborate | |
54 development infrastructure for the multi-tty branch.) | |
83020
d617fe346b2b
Added note about the commit mailing list.
Karoly Lorentey <lorentey@elte.hu>
parents:
83018
diff
changeset
|
55 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
56 STATUS |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
57 ------ |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
58 |
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
|
59 The branch is now very stable and almost full-featured. I hope the |
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
|
60 major problems were fixed. (It still needs testing on other |
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
|
61 architectures, though.) Both multiple tty device support and |
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
|
62 simultaneous X and tty frame support works fine. Emacsclient has been |
83046 | 63 extended to support opening new tty and X frames. It has been changed |
64 open new Emacs frames by default. | |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
65 |
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
66 Please let me know if you find any bugs in this branch. |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
67 |
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
68 HOW TO COMPILE AND TEST |
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
69 ----------------------- |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
70 |
83046 | 71 To try out the multi-tty branch, compile and run the multi-tty branch |
72 with the following commands: | |
53235
1bf332eccca1
Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
53234
diff
changeset
|
73 |
83101 | 74 find -name "*.elc" | xargs rm # Delete leftover stuff |
53235
1bf332eccca1
Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
53234
diff
changeset
|
75 mkdir +build |
1bf332eccca1
Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
53234
diff
changeset
|
76 cd +build |
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
77 ../configure <your favourite options> |
53235
1bf332eccca1
Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
53234
diff
changeset
|
78 make bootstrap |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
79 src/emacs -nw # You can also try without -nw |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
80 M-x server-start |
53235
1bf332eccca1
Added compilation instructions to README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
53234
diff
changeset
|
81 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
82 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
|
83 with |
83046 | 84 lib-src/emacsclient /optional/file/names... |
85 or | |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
86 lib-src/emacsclient -t /optional/file/names... |
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
|
87 |
53340 | 88 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
|
89 separate terminals. The new frame is closed automatically when you |
83101 | 90 finish editing the specified files (C-x #), but delete-frame (C-x 5 0) |
91 also works. Of course, you can create frames on more than two tty | |
92 devices. | |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
93 |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
94 Creating new frames on the same tty with C-x 5 2 works, and they |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
95 behave the same way as in previous Emacs versions. If you exit emacs, |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
96 all terminals should be restored to their previous states. |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
97 |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
98 This is work in progress, and probably full of bugs. You should |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
99 always run emacs from gdb, so that you'll have a live instance to |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
100 debug if something goes wrong. Please send me your bug reports. |
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
101 |
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
|
102 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
|
103 a disconnected GNU screen session, and always use emacsclient for |
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
|
104 normal work. This way not a single keystroke of your work will be |
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
|
105 lost if the display device that you are using crashes, or the network |
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
|
106 connection times out, or whatever. As long as the server that runs |
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
|
107 your Emacs remains up, all your buffers remain exactly as they were |
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
|
108 before the crash, and you can continue working as if nothing had |
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
|
109 happened. (I had an extremely unstable X server for some time while I |
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
|
110 was developing these patches, and running Emacs this way has saved me |
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
|
111 a number of M-x recover-session invocations.) |
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
|
112 |
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
|
113 (I am thinking about introducing a --daemon option to get rid of the |
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
|
114 above screen dependency.) |
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
|
115 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
116 Problems: |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
117 |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
118 * Mac, Windows and DOS support is broken, probably doesn't |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
119 even compile -- this will be solved later. |
53340 | 120 |
83097 | 121 * Only tested on my GNU/Linux box, Solaris 8 and FreeBSD. |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
122 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
123 NEWS |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
124 ---- |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
125 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
126 For the NEWS file: |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
127 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
128 ** 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
|
129 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
130 *** 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
|
131 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
|
132 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
133 *** 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
|
134 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
|
135 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
136 *** Emacsclient has been extended to support opening a new terminal |
83046 | 137 frame. Its behaviour has been changed to open a new Emacs frame by |
138 default. Use the -c option to get the old behavior of opening | |
139 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
|
140 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
141 *** 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
|
142 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
|
143 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
144 *** New functions: frame-tty-name, frame-tty-type for accessing |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
145 terminal parameters, and delete-tty for closing the terminal |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
146 device. |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
147 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
148 *** talk.el has been extended for multiple tty support. |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
149 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
150 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
151 ** 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
|
152 added. |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
153 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
154 *** 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
|
155 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
|
156 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
157 *** 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
|
158 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
159 *** 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
|
160 `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
|
161 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
162 THANKS |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
163 ------ |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
164 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
165 The following is an (incomplete) list of people who have contributed |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
166 to the project by testing, bug reports, and suggestions. Thanks! |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
167 |
83084
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
168 Robert J. Chassell <bob at rattlesnake dot com> |
83036
fc638739c70f
Fixed a typo in README.multi-tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83035
diff
changeset
|
169 Romain Francoise <romain at orebokech dot com> |
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
170 Ami Fischman <ami at fischman dot org> |
83035
fcf6fc349e0d
Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents:
83032
diff
changeset
|
171 Istvan Marko <mi-mtty ar kismala dot com> |
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
172 Dan Nicolaescu <dann at ics dot uci dot edu> |
83076 | 173 Gergely Nagy <algernon at debian dot org> |
83046 | 174 Mark Plaksin <happy at mcplaksin dot org> |
83084
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
175 Francisco Borges <borges at let dot rug dot nl> |
83097 | 176 Frank Ruell <stoerte at dreamwarrior dot net> |
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
177 |
83097 | 178 Richard Stallman was kind enough to review an earlier version of my |
179 patches. | |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
180 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
181 CHANGELOG |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
182 --------- |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
183 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
184 See arch logs. |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
185 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
186 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
|
187 ------------ |
83035
fcf6fc349e0d
Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents:
83032
diff
changeset
|
188 |
83097 | 189 ** Fix set-input-mode for multi-tty. It's a truly horrible interface; |
190 what if we'd blow it up into several separate functions (with a | |
191 compatibility definition)? | |
192 | |
83070 | 193 ** Emacs assumes that all terminal frames have the same locale |
194 settings as Emacs itself. This may lead to bogus results in a | |
195 multi-locale setup. (E.g., while logging in from a remote client | |
196 with a different locale.) | |
197 | |
83076 | 198 ** The single-keyboard mode of MULTI_KBOARD is extremely confusing |
199 sometimes; Emacs does not respond to stimuli from other keyboards. | |
200 At least a beep or a message would be important, if the single-mode | |
201 is still required to prevent interference. (Reported by Dan | |
83084
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
202 Nicolaescu.) (Update: selecting a region with the mouse enables |
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
203 single_kboard under X. This is very confusing.) |
83076 | 204 |
83074
34a7a8f40548
Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83070
diff
changeset
|
205 ** Change Lisp code not to (getenv "TERM"); use the `tty-type' frame |
83097 | 206 parameter or the frame-tty-type function instead. (M-x tags-search |
207 "TERM" helps with this.) Update: Actually, all getenv invocations | |
208 should be checked for multi-tty compatibility, and an interface | |
209 must be implemented to get the remote client's environment. | |
83074
34a7a8f40548
Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83070
diff
changeset
|
210 |
34a7a8f40548
Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83070
diff
changeset
|
211 ** The terminal customization files in term/*.el tend to change global |
34a7a8f40548
Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83070
diff
changeset
|
212 parameters, which may confuse Emacs with multiple displays. Change |
34a7a8f40548
Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83070
diff
changeset
|
213 them to tweak only frame-local settings, if possible. |
34a7a8f40548
Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents:
83070
diff
changeset
|
214 |
83055 | 215 ** Dan Nicolaescu suggests that -nw should be added as an alias for -t |
216 in emacsclient. Good idea. (Alas, implementing this is not | |
217 trivial, getopt_long does not seem to support two-letter ``short'' | |
83097 | 218 options. Patches are welcome.) :-) |
83018
1465425fe2d3
Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83014
diff
changeset
|
219 |
83055 | 220 ** Mark Plaksin suggests that emacsclient should accept the same |
221 X-related command-line arguments as Emacs. Most of the X-related | |
222 argument-handling is done in Lisp, so this should be quite easy to | |
223 implement. | |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
224 |
83076 | 225 ** Gergely Nagy suggests that C-x # should only kill the current |
226 frame, not any other emacsclient frame that may have the same file | |
227 opened for editing. I think I agree with him. | |
228 | |
83097 | 229 ** Miles Bader suggests that C-x C-c on an emacsclient frame should |
230 only close the frame, not exit the entire Emacs session. | |
231 | |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
232 ** Make `struct display' accessible to Lisp programs. Accessor functions: |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
233 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
234 (displayp OBJECT): Returns t if OBJECT is a display. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
235 |
83070 | 236 (display-list): Returns list of currently active displays. |
237 | |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
238 (selected-display): Returns the display object of the selected frame. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
239 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
240 (frame-display FRAME): Returns the display object of FRAME. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
241 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
242 (display-frames DISPLAY): Returns a list of frames on DISPLAY. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
243 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
244 (display-type DISPLAY): Returns the type of DISPLAY, as a |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
245 symbol. (See `framep'.) |
83012
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
246 |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
247 (display-device DISPLAY): Returns the name of the device that |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
248 DISPLAY uses, as a string. (E.g: "/dev/pts/16", or |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
249 ":0.0") |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
250 |
83070 | 251 etc. |
252 | |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
253 See next issue why this is necessary. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
254 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
255 ** The following needs to be supported: |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
256 |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
257 $ emacsclient -t |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
258 C-z |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
259 $ emacsclient -t |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
260 (This fails now.) |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
261 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
262 The cleanest way to solve this is to allow multiple displays on the |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
263 same terminal device; each new emacsclient process should create |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
264 its own display. As displays are currently identified by their |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
265 device names, this is not possible until struct display becomes |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
266 accessible as a Lisp-level object. |
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
|
267 |
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
|
268 ** Add an elaborate mechanism for display-local variables. (There are |
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
|
269 already a few of these; search for `terminal-local' in the Elisp |
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
|
270 manual.) |
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
|
271 |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
272 ** 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
|
273 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
|
274 but it's so quick it isn't noticable. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
275 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
276 ** Clean up the frame-local variable system. I think it's ugly and |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
277 error-prone. But maybe I just haven't yet fully understood it. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
278 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
279 ** 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
|
280 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
281 ** 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
|
282 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
|
283 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
|
284 |
83008
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
285 ** Fix Mac support (I can't do this myself). Note that the current |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
286 state of Mac-specific source files in the multi-tty tree are not |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
287 useful; before starting work on Mac support, revert to pristine, |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
288 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
|
289 |
83008
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
290 ** Fix W32 support (I can't do this myself). Note that the current |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
291 state of W32-specific source files in the multi-tty tree are not |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
292 useful; before starting work on W32 support, revert to pristine, |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
293 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
|
294 |
83008
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
295 ** Fix DOS support (I can't do this myself). Note that the current |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
296 state of DOS-specific source files in the multi-tty tree are not |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
297 useful; before starting work on DOS support, revert to pristine, |
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
298 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
|
299 |
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
300 ** 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
|
301 |
83097 | 302 ** Understand Emacs's low-level input system (it's black magic) :-) |
303 What exactly does interrupt_input do? I tried to disable it for | |
304 raw secondary tty support, but it does not seem to do anything | |
305 useful. (Update: Look again. X unconditionally enables this, maybe | |
306 that's why raw terminal support is broken again. I really do need | |
307 to understand input.) | |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
308 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
309 ** Maybe standard-display-table should be display-local. |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
310 |
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
311 DIARY OF CHANGES |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
312 ---------------- |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
313 |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
314 (ex-TODO items with explanations.) |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
315 |
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
316 -- Introduce a new struct for terminal devices. |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
317 |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
318 (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
|
319 complete.) |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
320 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
321 -- Change the bootstrap procedure to initialize tty_list. |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
322 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
323 (Done, but needs review.) |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
324 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
325 -- Change make-terminal-frame to support specifying another tty. |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
326 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
327 (Done, new frame parameters: `tty' and `tty-type'.) |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
328 |
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
|
329 -- 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
|
330 |
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
|
331 (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
|
332 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
|
333 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
|
334 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
335 (Update: They do, now.) |
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
336 |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
337 (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
|
338 |
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
|
339 -- 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
|
340 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
|
341 |
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
342 (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
|
343 |
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
|
344 -- Support different terminal sizes. |
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
345 |
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
|
346 (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
|
347 |
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
|
348 -- 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
|
349 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
|
350 |
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
351 (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
|
352 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
|
353 |
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
|
354 -- 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
|
355 to Emacs. |
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
356 |
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
|
357 (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
|
358 |
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
359 -- 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
|
360 just the initial terminal. |
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
361 |
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
362 (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
|
363 |
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
364 -- Fix redisplay problems. |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
365 |
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
366 (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
|
367 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
|
368 |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
369 -- 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
|
370 resized. |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
371 |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
372 (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
|
373 |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
374 -- 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
|
375 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
|
376 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
|
377 |
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
378 (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
|
379 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
|
380 |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
381 -- 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
|
382 |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
383 (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
|
384 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
|
385 raw ttys!) |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
386 |
53341 | 387 (Update: This is bullshit. There is a read_input_waiting function, |
388 extend that somehow.) | |
389 | |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
390 (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
|
391 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
|
392 send signals on input.) |
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
393 |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
394 (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
|
395 |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
396 -- 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
|
397 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
|
398 default. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
399 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
400 (Done.) |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
401 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
402 -- 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
|
403 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
|
404 really support multiple terminal types. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
405 |
53234
f3b94bd26d21
Cosmetic changes in README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
406 (Done. It was not fun.) |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
407 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
408 -- Implement sane error handling after initialization. (Currently |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
409 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
|
410 messages must still be provided when Emacs starts. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
411 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
412 (Done.) |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
413 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
414 -- 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
|
415 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
|
416 Emacs. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
417 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
418 (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
|
419 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
|
420 somewhere.) (Update: now it is fully enabled.) |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
421 |
53236
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
422 -- 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
|
423 that terminal is closed. |
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
424 |
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
425 (Done.) |
e77dcb66ec84
Implemented automatic deletion of terminals.
Karoly Lorentey <lorentey@elte.hu>
parents:
53235
diff
changeset
|
426 |
53341 | 427 -- Restore tty screen after closing the terminal. |
428 | |
429 (Done, we do the same as Emacs 21.2 for all terminals.) | |
430 | |
431 -- '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
|
432 |
53341 | 433 (Done.) |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
434 |
53343
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
435 -- 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
|
436 |
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
437 (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
|
438 |
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
439 -- 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
|
440 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
|
441 |
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
442 (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
|
443 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
|
444 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
|
445 |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
446 -- 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
|
447 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
|
448 |
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
449 (Seems to be working OK.) |
56e4b7166995
Make sure secondary frames are deleted when emacsclient quits.
Karoly Lorentey <lorentey@elte.hu>
parents:
53341
diff
changeset
|
450 |
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
451 -- 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
|
452 trigger it, try the following shell command: |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
453 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
454 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
|
455 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
456 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
|
457 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
|
458 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
|
459 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
|
460 support?) |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
461 |
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
462 (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
|
463 with hypothetical external references to Wcm, or any other |
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
464 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
|
465 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
|
466 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
|
467 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
|
468 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
469 -- 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
|
470 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
|
471 multiple ttys and hopefully this will be fixed. |
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
472 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
473 (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
|
474 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
|
475 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
|
476 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
|
477 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
|
478 it.) (Update: After adding X support, it's broken again.) |
83097 | 479 (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
|
480 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
481 -- Find out why does Emacs abort when it wants to close its |
53341 | 482 controlling tty. Hint: chan_process[] array. Hey, maybe |
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
483 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
|
484 for stdin/out. |
53237
4f33c6fc9a1f
README.multi-tty updates.
Karoly Lorentey <lorentey@elte.hu>
parents:
53236
diff
changeset
|
485 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
486 (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
|
487 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
|
488 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
489 -- 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
|
490 fcntl kernel behaviour could be emulated by emacsclient. |
53341 | 491 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
492 (Done. Simply disabled the SIGIO emulation hack in emacsclient.) |
83097 | 493 (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
|
494 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
495 -- 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
|
496 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
|
497 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
|
498 question, and a surprising confirmation prompt appears in another |
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
499 frame. |
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
500 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
501 (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
|
502 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
|
503 |
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
504 -- 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
|
505 doing -t. |
82987
1682917e56b4
Major bugfixes and slight enhancements.
Karoly Lorentey <lorentey@elte.hu>
parents:
82986
diff
changeset
|
506 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
507 (Done.) |
82985
8d7be2534cbc
Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents:
82983
diff
changeset
|
508 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
509 -- 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
|
510 name and the type is sufficient. |
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
511 |
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
512 (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
|
513 |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
514 -- 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
|
515 |
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
516 (Done, see delete-tty.) |
82985
8d7be2534cbc
Delete server frames on server restart.
Karoly Lorentey <lorentey@elte.hu>
parents:
82983
diff
changeset
|
517 |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
518 -- 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
|
519 all members. |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
520 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
521 (Done.) |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
522 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
523 -- 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
|
524 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
|
525 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
526 (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
|
527 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
528 -- Fix X support. |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
529 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
530 (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
|
531 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
532 -- 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
|
533 tricky. Or maybe not.) |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
534 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
535 (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
|
536 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
|
537 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
|
538 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
539 -- Rewrite multi-tty input in terms of MULTI_KBOARD. |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
540 |
82991
2b26656ff804
MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82990
diff
changeset
|
541 (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
|
542 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
|
543 frame's kboard from there.) |
82988
f82e3a6f5ccb
A few more bugfixes and new features.
Karoly Lorentey <lorentey@elte.hu>
parents:
82987
diff
changeset
|
544 |
82992
5de4189e659d
Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents:
82991
diff
changeset
|
545 -- 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
|
546 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
|
547 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
|
548 |
5de4189e659d
Got rid of the rif (window-based redisplay interface) global variable.
Karoly Lorentey <lorentey@elte.hu>
parents:
82991
diff
changeset
|
549 (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
|
550 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
|
551 |
82997
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
552 -- Add multi-tty support to talk.el. |
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
553 |
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
554 (Done.) |
af2d6b850383
Added multi-tty support for talk.el.
Karoly Lorentey <lorentey@elte.hu>
parents:
82995
diff
changeset
|
555 |
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
556 -- 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
|
557 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
558 (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
|
559 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
560 -- 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
|
561 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
|
562 with it. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
563 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
564 (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
|
565 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
|
566 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
567 -- 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
|
568 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
|
569 delete-frame-functions. |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
570 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
571 (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
|
572 use it.) |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
573 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
574 -- 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
|
575 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
|
576 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
577 (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
|
578 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
579 -- 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
|
580 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
581 (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
|
582 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
583 -- 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
|
584 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
|
585 |
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82997
diff
changeset
|
586 (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
|
587 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
|
588 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
|
589 |
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
590 -- If there are no frames on its controlling terminal, Emacs should |
83097 | 591 exit if the user presses C-c there. |
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
592 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
593 (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
|
594 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
|
595 in general.) |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
596 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
597 -- 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
|
598 fails to start without a controlling tty. |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
599 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
600 (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
|
601 bootstrap display during bootstrap. |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
602 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
603 -- Do tty output through struct display, like graphical display |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
604 backends. |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
605 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
606 (Done.) |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
607 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
608 -- 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
|
609 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
|
610 cmd_error_internal) is ugly. |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
611 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
612 (Done, broking interactive temacs.) |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
613 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
614 -- 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
|
615 |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
616 (Fixed.) |
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
617 |
83012
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
618 -- 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
|
619 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
|
620 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
|
621 thing. |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
622 |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
623 (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
|
624 |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
625 -- Fix C-g on raw ttys. |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
626 |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
627 (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
|
628 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
|
629 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
|
630 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
|
631 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
|
632 be a bad idea.) |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
633 |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
634 -- 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
|
635 SIGINT doesn't have a tty parameter. :-( |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
636 |
4aa172a45af1
Fix C-g handling with multiple ttys.
Karoly Lorentey <lorentey@elte.hu>
parents:
83009
diff
changeset
|
637 (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
|
638 |
83013
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
639 -- 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
|
640 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
|
641 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
642 getpid() = 30284 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
643 kill(30284, SIGIO) = 0 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
644 --- SIGIO (I/O possible) @ 0 (0) --- |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
645 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
|
646 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
|
647 ioctl(0, FIONREAD, [0]) = 0 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
648 sigreturn() = ? (mask now []) |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
649 gettimeofday({1072842297, 747760}, NULL) = 0 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
650 gettimeofday({1072842297, 747806}, NULL) = 0 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
651 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
|
652 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
|
653 gettimeofday({1072842297, 748245}, NULL) = 0 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
654 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
655 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
|
656 been able to reproduce it for debugging. |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
657 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
658 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
|
659 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
|
660 read_avail_input. |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
661 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
662 (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
|
663 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
|
664 wait_reading_process_input always returned immediately, indicating |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
665 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
|
666 |
e77d1a63471b
Don't select on stdin unconditionally.
Karoly Lorentey <lorentey@elte.hu>
parents:
83012
diff
changeset
|
667 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
|
668 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
|
669 |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
670 -- 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
|
671 ttys to their default states. |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
672 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
673 (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
|
674 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
675 -- 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
|
676 |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
677 (Done.) |
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
678 |
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
679 -- 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
|
680 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
|
681 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
|
682 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
|
683 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
|
684 (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
|
685 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
|
686 |
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83020
diff
changeset
|
687 (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
|
688 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
|
689 graphical.) |
83014
f5cadabb36dd
Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents:
83013
diff
changeset
|
690 |
83023
6ce586a7243e
Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83021
diff
changeset
|
691 -- 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
|
692 Romain Francoise) |
6ce586a7243e
Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83021
diff
changeset
|
693 |
6ce586a7243e
Set the keyboard of the initial frame correctly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83021
diff
changeset
|
694 (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
|
695 |
83024
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
696 -- Fix interactive use of temacs. There are face-related SEGVs, most |
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
697 likely because of changes in realize_default_face, realize_face. |
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
698 |
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
699 (Fixed.) |
e66f69c4f2c5
Fixed interactive temacs.
Karoly Lorentey <lorentey@elte.hu>
parents:
83023
diff
changeset
|
700 |
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
|
701 -- 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
|
702 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
|
703 |
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
|
704 (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
|
705 |
83032
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
706 -- 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
|
707 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
|
708 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
|
709 |
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
710 (Fixed.) |
b8237c556f0e
Fix the case when emacsclient is run on Emacs's controlling tty.
Karoly Lorentey <lorentey@elte.hu>
parents:
83028
diff
changeset
|
711 |
83035
fcf6fc349e0d
Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents:
83032
diff
changeset
|
712 -- 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
|
713 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
|
714 |
fcf6fc349e0d
Don't hang on the tty if called from a shell script.
Karoly Lorentey <lorentey@elte.hu>
parents:
83032
diff
changeset
|
715 (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
|
716 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
|
717 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
|
718 |
83064
e7e9448cb3a0
Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents:
83063
diff
changeset
|
719 -- 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
|
720 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
|
721 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
|
722 bugs in term.el, not in multi-tty. The lockup is caused by |
83097 | 723 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
|
724 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
|
725 |
e7e9448cb3a0
Make emacsclient refuse to create a frame inside an Emacs term buffer.
Karoly Lorentey <lorentey@elte.hu>
parents:
83063
diff
changeset
|
726 (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
|
727 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
|
728 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
|
729 |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
730 -- 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
|
731 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
|
732 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
|
733 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
|
734 works right now.) |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
735 |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
736 (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
|
737 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
|
738 wrt foreground/background process groups.) |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
739 |
83069 | 740 -- There is a flicker during the startup of `emacs -nw'; it's as if |
741 the terminal is initialized, reset and then initialialized again. | |
742 Debug this. (Hint: narrow_foreground_group is called twice during | |
743 startup.) | |
744 | |
745 (This is gone.) | |
746 | |
83084
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
747 -- 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
|
748 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
|
749 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
|
750 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
|
751 |
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
752 (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
|
753 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
|
754 (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
|
755 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
|
756 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
|
757 |
0d3eea319893
Fix cut'n'paste during a multi-display session (Mark Plaksin, Robert Chassell).
Karoly Lorentey <lorentey@elte.hu>
parents:
83076
diff
changeset
|
758 |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83064
diff
changeset
|
759 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff
changeset
|
760 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d |