diff options
| author | Karoly Lorentey | 2003-12-27 12:55:32 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2003-12-27 12:55:32 +0000 |
| commit | 52c2ee2a9524d60ed2a6eea53c21a427257807d4 (patch) | |
| tree | 46af0cdda7eaee9d6ac711bcdbcc25b2a432e5f4 | |
| parent | fca177d467f0264cab4256a67175fc52fba42f2e (diff) | |
| download | emacs-52c2ee2a9524d60ed2a6eea53c21a427257807d4.tar.gz emacs-52c2ee2a9524d60ed2a6eea53c21a427257807d4.zip | |
Cosmetic changes in README.multi-tty
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-10
| -rw-r--r-- | README.multi-tty | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/README.multi-tty b/README.multi-tty index 5d3e5f4f014..6a020873667 100644 --- a/README.multi-tty +++ b/README.multi-tty | |||
| @@ -24,22 +24,24 @@ Retrieving the latest version of the branch: | |||
| 24 | STATUS | 24 | STATUS |
| 25 | ------ | 25 | ------ |
| 26 | 26 | ||
| 27 | Basic support is there; there are some rough edges, but it already | 27 | Basic multi-tty support is there; there are some rough edges, but it |
| 28 | seems to be usable. Input is read from all terminals (NOT via | 28 | already seems to be usable. Emacsclient has been extended to support |
| 29 | MULTIKBOARD!). At the moment, the type of the new terminals must be | 29 | opening a new terminal frame. |
| 30 | the same as the initial terminal. Emacsclient has been extended to | ||
| 31 | support opening a new terminal frame. | ||
| 32 | 30 | ||
| 33 | To try it out, start up the emacs server (M-x server-start), and then | 31 | To try it out, start up the emacs server (M-x server-start), and then |
| 34 | (from a shell prompt on another terminal) start emacsclient with | 32 | (from a shell prompt on another terminal) start emacsclient with |
| 35 | 33 | ||
| 36 | emacsclient -h | 34 | emacsclient -h |
| 37 | 35 | ||
| 38 | You'll have two fully working frames on separate terminals. If you | 36 | You'll hopefully have two fully working frames on separate terminals. |
| 39 | exit emacs, both terminals should be restored to their previous | 37 | If you exit emacs, both terminals should be restored to their previous |
| 40 | states. | 38 | states. |
| 41 | 39 | ||
| 42 | X, Mac, Windows and DOS support is broken at the moment. | 40 | At the moment you can not close terminals without exiting Emacs -- |
| 41 | this will soon be implemented. | ||
| 42 | |||
| 43 | X, Mac, Windows and DOS support is broken, probably doesn't even | ||
| 44 | compile -- this will be solved later. | ||
| 43 | 45 | ||
| 44 | Tested under GNU/Linux only. | 46 | Tested under GNU/Linux only. |
| 45 | 47 | ||
| @@ -51,8 +53,8 @@ For the NEWS file: | |||
| 51 | ** Support for multiple terminal devices has been added. You can | 53 | ** Support for multiple terminal devices has been added. You can |
| 52 | specify a terminal device (`tty' parameter) and a terminal type | 54 | specify a terminal device (`tty' parameter) and a terminal type |
| 53 | (`tty-type' parameter) to `make-terminal-frame'. `tty' must be a | 55 | (`tty-type' parameter) to `make-terminal-frame'. `tty' must be a |
| 54 | terminal device created by the new emacsclient, or there will be | 56 | terminal device created by the updated emacsclient, or there will |
| 55 | problems with terminal input and window resizes. (The kernel | 57 | be problems with terminal input and window resizes. (The kernel |
| 56 | notifies processes about pending input or terminal resizes only on | 58 | notifies processes about pending input or terminal resizes only on |
| 57 | the controlling terminal, so we need emacsclient to sit on the real | 59 | the controlling terminal, so we need emacsclient to sit on the real |
| 58 | terminal device, create SIGIO signals upon terminal input, and | 60 | terminal device, create SIGIO signals upon terminal input, and |
| @@ -83,17 +85,14 @@ DIARY OF CHANGES | |||
| 83 | (Done, see struct tty_output. The abstraction is not yet | 85 | (Done, see struct tty_output. The abstraction is not yet |
| 84 | complete.) | 86 | complete.) |
| 85 | 87 | ||
| 86 | |||
| 87 | -- Change the bootstrap procedure to initialize tty_list. | 88 | -- Change the bootstrap procedure to initialize tty_list. |
| 88 | 89 | ||
| 89 | (Done, but needs review.) | 90 | (Done, but needs review.) |
| 90 | 91 | ||
| 91 | |||
| 92 | -- Change make-terminal-frame to support specifying another tty. | 92 | -- Change make-terminal-frame to support specifying another tty. |
| 93 | 93 | ||
| 94 | (Done, new frame parameters: `tty' and `tty-type'.) | 94 | (Done, new frame parameters: `tty' and `tty-type'.) |
| 95 | 95 | ||
| 96 | |||
| 97 | -- Implement support for reading from multiple terminals. | 96 | -- Implement support for reading from multiple terminals. |
| 98 | 97 | ||
| 99 | (Done, read_avail_input tries to read from each terminal, until one | 98 | (Done, read_avail_input tries to read from each terminal, until one |
| @@ -120,15 +119,15 @@ DIARY OF CHANGES | |||
| 120 | 119 | ||
| 121 | (Done. It's an ugly hack, needs more work.) | 120 | (Done. It's an ugly hack, needs more work.) |
| 122 | 121 | ||
| 123 | -- Redisplay must refresh the topmost frame on all terminals, not just | 122 | -- Redisplay must refresh the topmost frame on *all* terminals, not |
| 124 | the initial terminal. | 123 | just the initial terminal. |
| 125 | 124 | ||
| 126 | (Done, but introduced ugly redisplay problems. Ugh.) | 125 | (Done, but introduced an ugly redisplay problems. Ugh.) |
| 127 | 126 | ||
| 128 | -- Fix redisplay problems. | 127 | -- Fix redisplay problems. |
| 129 | 128 | ||
| 130 | (Done, it turned out that the entire Wcm structure must be moved | 129 | (Done; it turned out that the entire Wcm structure must be moved |
| 131 | inside tty_output. Why was it so hard for me to find this out?) | 130 | inside tty_output. Why didn't I catch this earlier?) |
| 132 | 131 | ||
| 133 | -- Provide a way for emacsclient to tell Emacs that the tty has been | 132 | -- Provide a way for emacsclient to tell Emacs that the tty has been |
| 134 | resized. | 133 | resized. |
| @@ -138,15 +137,15 @@ DIARY OF CHANGES | |||
| 138 | -- Each keypress should automatically select the frame corresponding | 137 | -- Each keypress should automatically select the frame corresponding |
| 139 | to the terminal that it was coming from. This means that Emacs | 138 | to the terminal that it was coming from. This means that Emacs |
| 140 | must know from which terminal the last keyboard event came from. | 139 | must know from which terminal the last keyboard event came from. |
| 141 | (Multikeyboard support may help with this.) | ||
| 142 | 140 | ||
| 143 | (Done, it was quite simple.) | 141 | (Done, it was quite simple, the input event system already |
| 142 | supported multiple frames.) | ||
| 144 | 143 | ||
| 145 | -- Fix SIGIO issue with secondary terminals. | 144 | -- Fix SIGIO issue with secondary terminals. |
| 146 | 145 | ||
| 147 | (Done, emacsclient signals Emacs after writing to the proxy pseudo | 146 | (Done, emacsclient signals Emacs after writing to the proxy pseudo |
| 148 | terminal. This means that multi-tty does not work with raw ttys!) | 147 | terminal. Note that this means that multi-tty does not work with |
| 149 | 148 | raw ttys!) | |
| 150 | 149 | ||
| 151 | -- Make make-terminal-frame look up the `tty' and `tty-type' frame | 150 | -- Make make-terminal-frame look up the `tty' and `tty-type' frame |
| 152 | parameters from the currently selected terminal before the global | 151 | parameters from the currently selected terminal before the global |
| @@ -158,7 +157,7 @@ DIARY OF CHANGES | |||
| 158 | Currently, they are still stored in global variables, so we don't | 157 | Currently, they are still stored in global variables, so we don't |
| 159 | really support multiple terminal types. | 158 | really support multiple terminal types. |
| 160 | 159 | ||
| 161 | (Done.) | 160 | (Done. It was not fun.) |
| 162 | 161 | ||
| 163 | -- Implement sane error handling after initialization. (Currently | 162 | -- Implement sane error handling after initialization. (Currently |
| 164 | emacs exits if you specify a bad terminal type.) The helpful error | 163 | emacs exits if you specify a bad terminal type.) The helpful error |
| @@ -185,41 +184,43 @@ THINGS TO DO | |||
| 185 | 184 | ||
| 186 | Emacs usually dumps core after a few dozen iterations. (The bug | 185 | Emacs usually dumps core after a few dozen iterations. (The bug |
| 187 | seems to be related to the xfree()ing or bzero()ing of | 186 | seems to be related to the xfree()ing or bzero()ing of |
| 188 | tty_output.Wcm. Maybe there are outside references to struct Wcm? | 187 | tty_output.Wcm or some other tty_output part. Maybe there are |
| 189 | Sounds logical, otherwise these vars would not have been collected | 188 | outside references to struct Wcm? Why were these vars collected |
| 190 | into a struct. But where?) | 189 | into a struct before multi-tty support?) |
| 191 | 190 | ||
| 192 | This does not seem to happen if the error occurs before terminal | 191 | The bug does not seem to happen if the error occurs before terminal |
| 193 | initialization or if I comment out all xfree()s in delete_frame. | 192 | initialization or if I comment out all xfree()s in delete_frame. |
| 194 | Update: yes it does, although it is much rarer. | 193 | Update: yes it does, although it is much rarer. Or maybe it's |
| 194 | another bug. | ||
| 195 | 195 | ||
| 196 | ** C-g should work on secondary terminals. | 196 | ** C-g should work on secondary terminals. |
| 197 | 197 | ||
| 198 | ** Move optimalization parameters (costs) from union output_data to | ||
| 199 | a backend-neutral per-device structure. | ||
| 200 | |||
| 201 | ** Implement automatic deletion of terminals when the last frame on | 198 | ** Implement automatic deletion of terminals when the last frame on |
| 202 | that terminal is closed. | 199 | that terminal is closed. |
| 203 | 200 | ||
| 204 | ** Make parts of struct tty_output accessible from Lisp. The device | 201 | ** Make parts of struct tty_output accessible from Lisp. The device |
| 205 | name and the type is sufficient. | 202 | name and the type is sufficient. |
| 206 | 203 | ||
| 207 | ** Export delete_tty to the Lisp environment. | 204 | ** Export delete_tty to the Lisp environment, for emacsclient. |
| 208 | 205 | ||
| 209 | ** Implement support for starting an interactive Emacs session without | 206 | ** Implement support for starting an interactive Emacs session without |
| 210 | an initial frame. (The user would connect to it and open frames | 207 | an initial frame. (The user would connect to it and open frames |
| 211 | later, with emacsclient.) Not necessarily a good idea. | 208 | later, with emacsclient.) Not necessarily a good idea. |
| 212 | 209 | ||
| 213 | ** Support raw secondary terminals. (This one is tricky, SIGIO works | 210 | ** Support raw secondary terminals. (This one is tricky, SIGIO works |
| 214 | only on the controlling terminal.) | 211 | only on the controlling terminal. The emacsclient solution works |
| 212 | nicely, so this is not that important anyway.) | ||
| 215 | 213 | ||
| 216 | ** What does interrupt_input do? I tried to disable it for raw | 214 | ** What does interrupt_input do? I tried to disable it for raw |
| 217 | secondary tty support, but it seems not to do anything useful. | 215 | secondary tty support, but it does not seem to do anything useful. |
| 218 | 216 | ||
| 219 | ** Fix X support. | 217 | ** Move optimalization parameters (costs) from union output_data to |
| 218 | a backend-neutral per-device structure. | ||
| 220 | 219 | ||
| 221 | ** Do tty output through term_hooks, too. | 220 | ** Do tty output through term_hooks, too. |
| 222 | 221 | ||
| 222 | ** Fix X support. | ||
| 223 | |||
| 223 | ** Allow simultaneous X and tty frames. | 224 | ** Allow simultaneous X and tty frames. |
| 224 | 225 | ||
| 225 | ** Fix Mac support (I can't do this myself). | 226 | ** Fix Mac support (I can't do this myself). |