comparison README.multi-tty @ 83416:4513d8dcdfd5

Reimplement and extend support for terminal-local environment variables. * lisp/termdev.el: New file. Move terminal parameter-related functions here from frame.el. (terminal-getenv, with-terminal-environment): Reimplement and extend. (terminal-setenv, terminal-setenv-internal): New functions. * lisp/frame.el (make-frame-on-tty, framep-on-display, suspend-frame): Extend doc string, update parameter names. (terminal-id, terminal-parameter-alist, terminal-parameters) (terminal-parameter-p, terminal-parameter, set-terminal-parameter) (terminal-handle-delete-frame, terminal-getenv, terminal-getenv) (with-terminal-environment): Move to termdev.el. * lisp/loadup.el: Load termdev as well. * lisp/Makefile.in (lisp, shortlisp): Add termdev.elc. * lisp/makefile.MPW (shortlisp): Ditto. * lisp/ebuff-menu.el (electric-buffer-menu-mode-map): Bind C-z to `suspend-frame', not `suspend-emacs'. * lisp/echistory.el (electric-history-map): Ditto. * lisp/ebrowse.el (ebrowse-electric-list-mode-map): Ditto. * lisp/ebrowse.el (ebrowse-electric-position-mode-map): Ditto. * lisp/startup.el (normal-splash-screen): Use `save-buffers-kill-display' instead of `save-buffers-kill-emacs'. * lisp/x-win.el (x-initialize-window-system): Add 'global-ok option to `terminal-getenv'. * src/term.c (suspend-tty): Update doc string. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-456
author Karoly Lorentey <lorentey@elte.hu>
date Thu, 22 Dec 2005 21:02:45 +0000
parents 573105015a96
children fe870a866ce7
comparison
equal deleted inserted replaced
83415:d2c799f58129 83416:4513d8dcdfd5
87 fine. Emacsclient has been extended to support opening new tty and X 87 fine. Emacsclient has been extended to support opening new tty and X
88 frames. It has been changed open new Emacs frames by default. 88 frames. It has been changed open new Emacs frames by default.
89 89
90 The multi-tty branch has been scheduled for inclusion in the next 90 The multi-tty branch has been scheduled for inclusion in the next
91 major release of Emacs (version 23). I expect the merge into the 91 major release of Emacs (version 23). I expect the merge into the
92 development trunk to occur sometime during next year (2005), after the 92 development trunk to occur sometime during next year (2006), after the
93 merge of the Unicode branch. 93 merge of the Unicode branch.
94 94
95 Tested on GNU/Linux, Solaris 8, FreeBSD and OpenBSD. Please let me 95 Tested on GNU/Linux, Solaris 8, FreeBSD and OpenBSD. Please let me
96 know if you succeed or fail to use it on other platforms---I'll have a 96 know if you succeed or fail to use it on other platforms---I'll have a
97 few tricky test cases for you. 97 few tricky test cases for you.
138 new Emacs features on these systems, but the multi-tty 138 new Emacs features on these systems, but the multi-tty
139 branch changed a few low-level interfaces, and the 139 branch changed a few low-level interfaces, and the
140 system-dependent source files need to be adapted 140 system-dependent source files need to be adapted
141 accordingly. The changes are mostly trivial, so almost 141 accordingly. The changes are mostly trivial, so almost
142 anyone can help, if only by compiling the branch and 142 anyone can help, if only by compiling the branch and
143 reporting the compiler errors. (It is not worth to do this 143 reporting the compiler errors.
144 yet, though.)
145 144
146 145
147 HOW TO GET THE BRANCH 146 HOW TO GET THE BRANCH
148 --------------------- 147 ---------------------
149 148
150 The branch uses GNU Arch (http://www.gnuarch.org) for version control. 149 The branch uses Bazaar 1 (http://bazaar.canonical.com) for version control.
151 150
152 Retrieving the latest version of the branch: 151 Retrieving the latest version of the branch:
153 152
154 tla register-archive -f http://lorentey.hu/arch/2004/ 153 baz register-archive -f http://aszt.inf.elte.hu/~lorentey/mirror/arch/2004
155 tla get lorentey@elte.hu--2004/emacs--multi-tty <directory> 154 baz get lorentey@elte.hu--2004/emacs--multi-tty <directory>
156 155
157 This incantation uses my private archive mirror that is hosted on a 156 This incantation uses an archive mirror that is hosted on a
158 relatively low-bandwidth site; if you are outside Hungary, you will 157 high-bandwidth site. Please note that on average there is a two-hour
159 probably want to you use my secondary mirror: (Note that the -f option 158 delay for commits to arrive on this mirror. My primary mirror is on the
160 will overwrite the archive location if you have previously registered 159 low-bandwidth http://lorentey.hu/ site:
161 the Hungarian one.) 160
162 161 baz register-archive -f http://lorentey.hu/arch/2004/
163 tla register-archive -f http://aszt.inf.elte.hu/~lorentey/mirror/arch/2004 162 baz get lorentey@elte.hu--2004/emacs--multi-tty <directory>
164 tla get lorentey@elte.hu--2004/emacs--multi-tty <directory> 163
165 164 This is "instantly" updated, but very slow from outside Hungary.
166 http://aszt.inf.elte.hu/~lorentey/mirror/arch/2004 165 (By "instantly" I mean as soon as I connect the notebook I work on to
166 a network. It could take days.)
167 167
168 The Arch supermirror provides mirroring services for all public Arch 168 The Arch supermirror provides mirroring services for all public Arch
169 repositories. We have a mirror there, too, if you prefer. 169 repositories. We have a mirror there, too, if you prefer.
170 170
171 tla register-archive -f http://mirrors.sourcecontrol.net/lorentey%40elte.hu--2004 171 baz register-archive -f http://mirrors.sourcecontrol.net/lorentey%40elte.hu--2004
172 tla get lorentey@elte.hu--2004/emacs--multi-tty <directory> 172 baz get lorentey@elte.hu--2004/emacs--multi-tty <directory>
173 173
174 My GPG key id is 0FB27A3F; it is available from 174 My GPG key id is 0FB27A3F; it is available from
175 hkp://wwwkeys.eu.pgp.net/, or from my homepage at 175 hkp://wwwkeys.eu.pgp.net/, or from my homepage at
176 http://lorentey.hu/rolam/gpg.html) 176 http://lorentey.hu/rolam/gpg.html)
177 177
178 Don't worry if the above checkout takes a few minutes to complete; 178 Don't worry if the above checkout takes a few minutes to complete;
179 once you have a source tree, updating it to the latest revision will 179 once you have a source tree, updating it to the latest revision will
180 be _much_ faster. Use the following command for the update: 180 be _much_ faster. Use the following command for the update:
181 181
182 tla replay 182 baz replay
183 183
184 You can find more information about Arch on http://wiki.gnuarch.org/. 184 You can find more information about Bazaar on
185 It's a wonderful source control system, I highly recommend it. 185 http://bazaar.canonical.com/. It's a distributed source control
186 186 system that is somewhat less broken than competing projects.
187 If you don't have tla, the branch has a homepage from which you can 187
188 If you don't have Bazaar, the branch has a homepage from which you can
188 download conventional patches against Emacs CVS HEAD: 189 download conventional patches against Emacs CVS HEAD:
189 190
190 http://lorentey.hu/project/emacs.html 191 http://lorentey.hu/project/emacs.html
192
193 I suggest you use Bazaar whenever feasible.
194
191 195
192 DEBIAN PACKAGES 196 DEBIAN PACKAGES
193 --------------- 197 ---------------
194 198
195 If you run Debian, or a distribution based on Debian, you are welcome 199 If you run Debian, or a distribution based on Debian, you are welcome
242 separate terminals. The new frame is closed automatically when you 246 separate terminals. The new frame is closed automatically when you
243 finish editing the specified files (C-x #), but delete-frame (C-x 5 0) 247 finish editing the specified files (C-x #), but delete-frame (C-x 5 0)
244 also works. Of course, you can create frames on more than two tty 248 also works. Of course, you can create frames on more than two tty
245 devices. 249 devices.
246 250
247 Creating new frames on the same tty with C-x 5 2 works, and they 251 Creating new frames on the same tty with C-x 5 2 (make-frame-command)
248 behave the same way as in previous Emacs versions. If you exit emacs, 252 works, and they behave the same way as in previous Emacs versions. If
249 all terminals should be restored to their previous states. 253 you exit emacs, all terminals should be restored to their previous
254 states.
250 255
251 This is work in progress, and probably full of bugs. It is a good 256 This is work in progress, and probably full of bugs. It is a good
252 idea to run emacs from gdb, so that you'll have a live instance to 257 idea to run emacs from gdb, so that you'll have a live instance to
253 debug if something goes wrong. Please send me your bug reports on our 258 debug if something goes wrong. Please send me your bug reports on our
254 mailing list: multi-tty@lists.fnord.hu 259 mailing list: multi-tty@lists.fnord.hu
382 *** The new `initial-window-system' variable contains the 387 *** The new `initial-window-system' variable contains the
383 `window-system' value for the first frame. 388 `window-system' value for the first frame.
384 389
385 *** talk.el has been extended for multiple tty support. 390 *** talk.el has been extended for multiple tty support.
386 391
392 *** C-z now invokes `suspend-frame', C-x C-c now invokes
393 `save-buffers-kill-frame'.
387 394
388 * * * 395 * * *
389 396
390 (The rest of this file consists of my development notes and as such it 397 (The rest of this file consists of my development notes and as such it
391 is probably not very interesting for anyone else.) 398 is probably not very interesting for anyone else.)
392 399
393 THINGS TO DO 400 THINGS TO DO
394 ------------ 401 ------------
402
403 ** Search for `suspend-emacs' references and replace them with
404 `suspend-frame', if necessary. Ditto for `save-buffers-kill-emacs'
405 vs. `save-buffers-kill-display'.
395 406
396 ** Emacs crashes when a tty frame is resized so that there is no space 407 ** Emacs crashes when a tty frame is resized so that there is no space
397 for all its windows. (Tom Schutzer-Weissmann) 408 for all its windows. (Tom Schutzer-Weissmann)
398 409
399 ** Report GTK multi-display problems to GTK maintainers. For extra 410 ** Report GTK multi-display problems to GTK maintainers. For extra