]> code.delx.au - gnu-emacs/blobdiff - admin/notes/multi-tty
Merge from emacs-24; up to 2014-06-11T19:33:14Z!rgm@gnu.org
[gnu-emacs] / admin / notes / multi-tty
index 85babb903b98f2515418c951b7a1800958dfd1d1..f67911d0ff45081f6ffe9c94d82dc8e699c6f700 100644 (file)
@@ -1,6 +1,6 @@
 -*- coding: utf-8; mode: text; -*-
 
 -*- coding: utf-8; mode: text; -*-
 
-Copyright (C) 2007-201 Free Software Foundation, Inc.
+Copyright (C) 2007-2014 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 From README.multi-tty in the multi-tty branch.
 See the end of the file for license conditions.
 
 From README.multi-tty in the multi-tty branch.
@@ -101,16 +101,6 @@ Known problems:
          I plan to implement better user notification and support for
          breaking out of single-kboard mode from locked displays.
 
          I plan to implement better user notification and support for
          breaking out of single-kboard mode from locked displays.
 
-       * Mac and DOS support is broken, doesn't even
-         compile.  Multiple display support will probably not provide
-         new Emacs features on these systems, but the multi-tty
-         branch changed a few low-level interfaces, and the
-         system-dependent source files need to be adapted
-         accordingly.  The changes are mostly trivial, so almost
-         anyone can help, if only by compiling the branch and
-         reporting the compiler errors.
-
-
 TESTING
 -------
 
 TESTING
 -------
 
@@ -160,7 +150,7 @@ I use the following two bash scripts to handle my Emacs sessions:
 
 name="$1"
 shift
 
 name="$1"
 shift
-    
+
 if [ -z "$name" ]; then
     echo "Usage: connect_emacs <name> <args>..." >&2
     exit 1
 if [ -z "$name" ]; then
     echo "Usage: connect_emacs <name> <args>..." >&2
     exit 1
@@ -184,7 +174,7 @@ screendir="/var/run/screen/S-$USER"
 serverdir="/tmp/emacs$UID"
 emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs
 
 serverdir="/tmp/emacs$UID"
 emacs=/usr/bin/emacs-multi-tty # Or wherever you installed your multi-tty Emacs
 
-if [ -z "$name" ]; then 
+if [ -z "$name" ]; then
     echo "Usage: preload_emacs <name> [<waitp>]" >&2
     exit 1
 fi
     echo "Usage: preload_emacs <name> [<waitp>]" >&2
     exit 1
 fi
@@ -314,7 +304,7 @@ THINGS TO DO
    Emacs with GTK support.  If you want to play around with GTK
    multidisplay (and don't mind core dumps), you can edit src/config.h
    and define HAVE_GTK_MULTIDISPLAY there by hand.
    Emacs with GTK support.  If you want to play around with GTK
    multidisplay (and don't mind core dumps), you can edit src/config.h
    and define HAVE_GTK_MULTIDISPLAY there by hand.
-   
+
        http://bugzilla.gnome.org/show_bug.cgi?id=85715
 
    Update: Han reports that GTK+ version 2.8.9 almost gets display
        http://bugzilla.gnome.org/show_bug.cgi?id=85715
 
    Update: Han reports that GTK+ version 2.8.9 almost gets display
@@ -414,7 +404,7 @@ THINGS TO DO
    sometimes; Emacs does not respond to stimuli from other keyboards.
    At least a beep or a message would be important, if the single-mode
    is still required to prevent interference.  (Reported by Dan
    sometimes; Emacs does not respond to stimuli from other keyboards.
    At least a beep or a message would be important, if the single-mode
    is still required to prevent interference.  (Reported by Dan
-   Nicolaescu.)  
+   Nicolaescu.)
 
    Update: selecting a region with the mouse enables single_kboard
    under X.  This is very confusing.
 
    Update: selecting a region with the mouse enables single_kboard
    under X.  This is very confusing.
@@ -504,24 +494,13 @@ THINGS TO DO
 
    (This is likely an error in the CVS trunk.)
 
 
    (This is likely an error in the CVS trunk.)
 
-** Dan Nicolaescu suggests that -nw should be added as an alias for -t
-   in emacsclient.  Good idea.  (Alas, implementing this is not
-   trivial, getopt_long does not seem to support two-letter ``short''
-   options.  Patches are welcome.)
-
-** Mark Plaksin suggests that emacsclient should accept the same
-   X-related command-line arguments as Emacs.  Most of the X-related
-   argument-handling is done in Lisp, so this should be quite easy to
-   implement.  (For example, Samium Gromoff wants emacsclient to
-   support --geometry; implementing this would add that support.)
-
 ** Gergely Nagy suggests that C-x # should only kill the current
    frame, not any other emacsclient frame that may have the same file
    opened for editing.  I think I agree with him.
 
 ** Very strange bug: visible-bell does not work on secondary
    terminals in xterm and konsole.  The screen does flicker a bit,
 ** Gergely Nagy suggests that C-x # should only kill the current
    frame, not any other emacsclient frame that may have the same file
    opened for editing.  I think I agree with him.
 
 ** Very strange bug: visible-bell does not work on secondary
    terminals in xterm and konsole.  The screen does flicker a bit,
-   but it's so quick it isn't noticable.
+   but it's so quick it isn't noticeable.
 
    (Update: This is probably some problem with padding or whatnot on
    the secondary terminals.)
 
    (Update: This is probably some problem with padding or whatnot on
    the secondary terminals.)
@@ -532,21 +511,9 @@ THINGS TO DO
    an initial frame.  (The user would connect to it and open frames
    later, with emacsclient.)
 
    an initial frame.  (The user would connect to it and open frames
    later, with emacsclient.)
 
-** Fix Mac support (I can't do this entirely myself).  Note that the
-   current state of Mac-specific source files in the multi-tty tree
-   are not useful; before starting work on Mac support, revert to
-   pristine, pre-multi-tty versions.
-
-** Fix DOS support (I can't do this entirely myself).  Note that the
-   current state of DOS-specific source files in the multi-tty tree
-   are not useful; before starting work on DOS support, revert to
-   pristine, pre-multi-tty versions.
-
-** Fix Windows support. Currently bootstraping works on w32, but Emacs
-   crashes on startup and none of the multi-tty features are
-   implemented. Many XXX comments mark things that probably need
-   updating, ChangeLogs will help in spotting changes to X specific
-   files that may need porting.
+** Implement Mac/Windows/DOS support.  Many XXX comments mark things
+   that probably need updating, ChangeLogs will help in spotting
+   changes to X specific files that may need porting.
 
 ** Do a grep on XXX and ?? for more issues.
 
 
 ** Do a grep on XXX and ?? for more issues.
 
@@ -585,7 +552,7 @@ DIARY OF CHANGES
 -- other-frame should cycle through the frames on the `current'
    terminal only.
 
 -- other-frame should cycle through the frames on the `current'
    terminal only.
 
-   (Done, by trivially modifiying next_frame and prev_frame.)
+   (Done, by trivially modifying next_frame and prev_frame.)
 
 -- Support different terminal sizes.
 
 
 -- Support different terminal sizes.
 
@@ -789,7 +756,7 @@ DIARY OF CHANGES
    frame's kboard from there.)
 
 -- Fix rif issue with X-tty combo sessions.  IMHO the best thing to do
    frame's kboard from there.)
 
 -- Fix rif issue with X-tty combo sessions.  IMHO the best thing to do
-   is to get rid of that global variable (and use the value value in
+   is to get rid of that global variable (and use the value in
    display_method, which is guaranteed to be correct).
 
    (Done, did exactly that.  Core dumps during combo sessions became
    display_method, which is guaranteed to be correct).
 
    (Done, did exactly that.  Core dumps during combo sessions became
@@ -906,7 +873,7 @@ DIARY OF CHANGES
    read_avail_input.
 
    (Fixed.  This was caused by unconditionally including stdin in
    read_avail_input.
 
    (Fixed.  This was caused by unconditionally including stdin in
-   input_wait_mask in init_process.  The select call in
+   input_wait_mask in init_process_emacs.  The select call in
    wait_reading_process_input always returned immediately, indicating
    that there is pending input from stdin, which nobody read.
 
    wait_reading_process_input always returned immediately, indicating
    that there is pending input from stdin, which nobody read.
 
@@ -984,7 +951,7 @@ DIARY OF CHANGES
    wrt foreground/background process groups.)
 
 -- There is a flicker during the startup of `emacs -nw'; it's as if
    wrt foreground/background process groups.)
 
 -- There is a flicker during the startup of `emacs -nw'; it's as if
-   the terminal is initialized, reset and then initialialized again.
+   the terminal is initialized, reset and then initialized again.
    Debug this.  (Hint: narrow_foreground_group is called twice during
    startup.)
 
    Debug this.  (Hint: narrow_foreground_group is called twice during
    startup.)
 
@@ -1026,7 +993,7 @@ DIARY OF CHANGES
    settings as Emacs itself.  This may lead to bogus results in a
    multi-locale setup. (E.g., while logging in from a remote client
    with a different locale.)
    settings as Emacs itself.  This may lead to bogus results in a
    multi-locale setup. (E.g., while logging in from a remote client
    with a different locale.)
-   (Update after new bugreport by Friedrich Delgado Friedrichs: 
+   (Update after new bugreport by Friedrich Delgado Friedrichs:
    (at least) the structs terminal_coding and keyboard_coding in
    coding.c must be moved to struct display, and the Lisp interface
    [set-]keyboard-coding-system must be adapted for the change.)
    (at least) the structs terminal_coding and keyboard_coding in
    coding.c must be moved to struct display, and the Lisp interface
    [set-]keyboard-coding-system must be adapted for the change.)
@@ -1085,18 +1052,6 @@ DIARY OF CHANGES
 
    (Done.)
 
 
    (Done.)
 
--- Miles Bader suggests that C-x C-c on an emacsclient frame should
-   only close the frame, not exit the entire Emacs session.  Update:
-   see above for a function that does this.  Maybe this should be the
-   new default?  
-
-   (Done.  This is the new default.  No complaints so far.)
-
--- Clean up the frame-local variable system.  I think it's ugly and
-   error-prone.  But maybe I just haven't yet fully understood it.
-
-   (Nothing to do.  It doesn't seem ugly any more.  It's rather clever.)
-
 -- Support multiple character locales.  A version of
    `set-locale-environment' needs to be written for setting up
    display-local settings on ttys.  I think calling
 -- Support multiple character locales.  A version of
    `set-locale-environment' needs to be written for setting up
    display-local settings on ttys.  I think calling
@@ -1114,24 +1069,12 @@ DIARY OF CHANGES
    (Done, by making `function-key-map' terminal-local (i.e., part of
    struct kboard).  This has probably covered all the remaining problems.)
 
    (Done, by making `function-key-map' terminal-local (i.e., part of
    struct kboard).  This has probably covered all the remaining problems.)
 
--- Make `function-key-map' and `key-translation-map' terminal-local.
-
-   (Done.)
-
--- Implement `terminal-local-value' and `set-terminal-local-value' to
-   allow deterministic access to terminal local bindings.  The
-   encode-kb package can not set up `key-translation-map' without
-   these.  The terminal-local bindings seem to be independent of what
-   frame is selected.
-
-   (Done.)
-
 -- xt-mouse.el needs to be adapted for multi-tty.  It currently
    signals an error on kill-emacs under X, which prevents the user
    from exiting Emacs. (Reported by Mnemonikk on freenode.)
 
    (Done, I hope.)
 -- xt-mouse.el needs to be adapted for multi-tty.  It currently
    signals an error on kill-emacs under X, which prevents the user
    from exiting Emacs. (Reported by Mnemonikk on freenode.)
 
    (Done, I hope.)
-   
+
 
 -- Having {reset,init}_all_sys_modes in set-input-mode breaks arrow
    keys on non-selected terminals under screen, and sometimes on other
 
 -- Having {reset,init}_all_sys_modes in set-input-mode breaks arrow
    keys on non-selected terminals under screen, and sometimes on other
@@ -1157,7 +1100,7 @@ DIARY OF CHANGES
        > Cursor mode. Applications have to send the smkx and rmkx terminfo
        > strings to switch between the 2 modes. So Emacs (and emacsclient) have
        > to send smkx when initializing and rmkx when quitting (or on
        > Cursor mode. Applications have to send the smkx and rmkx terminfo
        > strings to switch between the 2 modes. So Emacs (and emacsclient) have
        > to send smkx when initializing and rmkx when quitting (or on
-       > suspend). 
+       > suspend).
 
    (I think patch-370 fixed this.)
 
 
    (I think patch-370 fixed this.)
 
@@ -1166,7 +1109,7 @@ DIARY OF CHANGES
 
        emacs
                M-x server-start
 
        emacs
                M-x server-start
-       
+
        # From another xterm:
        emacsclient -e '(y-or-n-p "Do you want me to crash? ")'
                # Notice how the answer ends up in the *scratch* buffer
        # From another xterm:
        emacsclient -e '(y-or-n-p "Do you want me to crash? ")'
                # Notice how the answer ends up in the *scratch* buffer
@@ -1205,7 +1148,7 @@ DIARY OF CHANGES
    it is not recognized correctly.  May be related to the bug below.
 
    (Seems to have been fixed as a side effect of patch-434.  "The bug
    it is not recognized correctly.  May be related to the bug below.
 
    (Seems to have been fixed as a side effect of patch-434.  "The bug
-   below" was the set-input-mode madness.)  
+   below" was the set-input-mode madness.)
 
    (Update: this bug was fixed for good in patch-449.  It was tracked
    down to a bug in `read_key_sequence': it failed to reinitialize its
 
    (Update: this bug was fixed for good in patch-449.  It was tracked
    down to a bug in `read_key_sequence': it failed to reinitialize its
@@ -1359,4 +1302,3 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-