-*- coding: utf-8; mode: text; -*-
-Copyright (C) 2007-2011 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.
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
-------
name="$1"
shift
-
+
if [ -z "$name" ]; then
echo "Usage: connect_emacs <name> <args>..." >&2
exit 1
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
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
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.
(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,
- 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.)
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.
-- 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.
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
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.
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.)
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.)
(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
(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.)
-
+
-- Having {reset,init}_all_sys_modes in set-input-mode breaks arrow
keys on non-selected terminals under screen, and sometimes on other
> 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.)
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
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
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-