1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 15:00:45 -08:00
emacs/lisp/ChangeLog.multi-tty
2007-08-27 08:16:42 +00:00

369 lines
15 KiB
Text

0000-00-00 Juri Linkov <juri@jurta.org>
* loadup.el: Add "button" loading after "faces" and move "startup"
to load after "button".
0000-00-00 Dan Nicolaescu <dann@ics.uci.edu>
* loadup.el: Load term/mac-win on a Mac using Carbon.
* term/mac-win.el: Provide mac-win.
(mac-initialized): New variable.
(mac-initialize-window-system): New function. Move global setup
here.
(handle-args-function-alist, frame-creation-function-alist):
(window-system-initialization-alist): Add mac entries.
(x-setup-function-keys): New function containing all the
top level function key definitions.
* term/x-win.el (x-menu-bar-open): Use accelerate-menu.
0000-00-00 Jason Rumney <jasonr@gnu.org>
* loadup.el: Only load term/x-win when X is compiled in.
Load term/w32-win and dependencies on windows-nt.
* term/w32-win.el: Reorder to match x-win.el more closely.
Provide w32-win. Don't throw error when global window-system not
w32.
(internal-face-interactive): Remove obsolete function.
(x-setup-function-keys): Use local-function-key-map.
(w32-initialized): New variable.
(w32-initialize-window-system): Set it.
Move more global setup here.
(x-setup-function-keys): New function.
(w32-initialize-window-system): Move non function key global setup
here.
(x-cut-buffer-max): Remove.
(w32-initialize-window-system): New function.
(handle-args-function-alist, frame-creation-function-alist):
(window-system-initialization-alist): Add w32 entries.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* loadup.el: Delay loading env; mule-conf gets confused by cl
during bootstrap. Also load termdev and term/x-win.
* talk.el (talk): New function.
(talk-handle-delete-frame): New function.
(talk-add-display): Open a new frame only if FRAME was not a
frame.
* ediff-wind.el (ediff-setup-windows-automatic): New function.
(ediff-window-setup-function): Use it as default.
* help-fns.el (describe-variable): Describe frame-local variables
correctly.
* menu-bar.el (menu-bar-open): New function.
Bind it to f10.
* term/x-win.el: Don't bind f10.
* tmm.el: Remove autoload binding for f10.
* termdev.el: New file.
* Makefile.in (lisp, shortlisp): Add termdev.elc.
* makefile.MPW (shortlisp): Ditto.
* international/mule-cmds.el (set-locale-environment): Fix getenv
call. Use save-buffers-kill-terminal. Ignore window-system; always
set the keyboard coding system.
(set-display-table-and-terminal-coding-system): Add DISPLAY
parameter. Pass it to set-terminal-coding-system.
(set-locale-environment): Add DISPLAY parameter.
* international/encoded-kb.el (encoded-kbd-setup-display): Use
`set-input-meta-mode'. Fix broken condition before set-input-mode.
(saved-key-translation-map): Remove.
(encoded-kbd-mode): Remove.
(encoded-kbd-setup-display): New function.
* international/encoded-kb.el (saved-input-mode): Delete variable.
(encoded-kbd-setup-display): Store the saved input method as a terminal
parameter. Add keymap parameter. Use it instead of changing
key-translation-map directly.
* international/mule.el (keyboard-coding-system): Test for
encoded-kbd-setup-display, not encoded-kbd-mode.
(set-terminal-coding-system, set-keyboard-coding-system): Add
DISPLAY parameter.
* international/mule.el (set-keyboard-coding-system): Use
encoded-kbd-setup-display.
* double.el (double-setup): Add note.
* term/README: Update.
* term/x-win.el (x-setup-function-keys): New function. Move
function-key-map tweaks here. Protect against multiple calls on
the same terminal. Use terminal-local binding of
local-function-key-map instead of function-key-map.
(x-initialize-window-system): Make a copy of pure list. Pass a
frame getenv.
* term/vt200.el, term/vt201.el, term/vt220.el, term/vt240.el:
* term/vt300.el, term/vt320.el, term/vt400.el, term/vt420.el:
* term/AT386.el, term/internal.el, term/iris-ansi.el, term/lk201.el:
* term/mac-win.el, term/news.el, term/rxvt.el, term/sun.el:
* term/tvi970.el, term/wyse50.el: Use terminal-local binding of
local-function-key-map instead of function-key-map.
* term/rxvt.el, term/xterm.el: Speed up load time by protecting
`substitute-key-definition' and `define-key' calls against
multiple execution. Use terminal-local binding of
local-function-key-map instead of function-key-map. Pass a frame
to getenv.
* subr.el (with-selected-frame): New function.
(read-quoted-char): Use terminal-local binding of
local-function-key-map instead of function-key-map.
* edmacro.el (edmacro-format-keys): Use terminal-local binding of
local-function-key-map instead of function-key-map.
* emulation/cua-base.el (cua--pre-command-handler): Ditto.
* isearch.el (isearch-other-meta-char): Ditto.
* xt-mouse.el: Ditto.
* simple.el (normal-erase-is-backspace-mode): Rewrite for multiple
display support.
(normal-erase-is-backspace-setup-frame): New function.
0000-00-00 Dan Nicolaescu <dann@ics.uci.edu>
* env.el (read-envvar-name): Don't consider the environment frame
param.
(setenv): Set display-environment-variable and
term-environment-variable.
* frame.el (frame-initialize, make-frame): Likewise.
* faces.el (tty-set-up-initial-frame-faces): Likewise.
* server.el (server-process-filter): Likewise.
(server-process-filter): Likewise. Also set COLORFGBG and
COLORTERM.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* term/linux.el (terminal-init-linux): Use `set-input-meta-mode'.
0000-00-00 David Kastrup <dak@gnu.org>
* env.el (getenv): Pass frame to getenv-internal.
0000-00-00 Karoly Lorentey <lorentey@elte.hu>
* cus-start.el: Remove bogus window-system reference from GTK test.
* files.el (save-buffers-kill-terminal): New function.
(ctl-x-map): Change binding of C-x C-c to
save-buffers-kill-terminal.
* fringe.el (set-fringe-mode): Simplify and fix using
`modify-all-frames-parameters'.
* scroll-bar.el (set-scroll-bar-mode): Ditto.
* tool-bar.el (tool-bar-mode): Ditto. Remove 'tool-bar-map length
check before calling `tool-bar-setup'.
(tool-bar-setup): New variable.
(tool-bar-setup): Use it to guard against multiple calls. Add
optional frame parameter, and select that frame before adding
items.
(toggle-tool-bar-mode-from-frame): New function.
* menu-bar.el (toggle-menu-bar-mode-from-frame): New function.
(menu-bar-showhide-menu): Use toggle-menu-bar-mode-from-frame and
toggle-tool-bar-mode-from-frame to change "Menu-bar" and
"Tool-bar" toggles to reflect the state of the current frame.
(menu-bar-mode): Simplify and fix using
`modify-all-frames-parameters'.
* faces.el (tty-run-terminal-initialization): New function.
(tty-create-frame-with-faces): Use it. Set up faces and
background mode only after the terminal has been initialized.
Call terminal-init-*. Don't load the initialization file more
than once. Call set-locale-environment.
(frame-set-background-mode): Handle the 'background-mode terminal
parameter.
(tty-find-type): New function.
(x-create-frame-with-faces): Remove bogus check for
first frame. Call `tool-bar-setup'. Don't make frame visible
until we are done setting up all its parameters. Call
x-setup-function-keys.
* bindings.el (mode-line-client): New variable.
(help-echo): Add it to the default mode-line format.
* env.el Require cl for byte compilation (for `block' and
`return').
(environment): New function.
(let-environment): New macro.
(setenv, getenv): Add optional terminal parameter. Update docs.
(setenv-internal): New function.
(setenv): Use it. Always set process-environment. Update docs.
(getenv): Update docs.
(read-envvar-name, setenv, getenv): Use frame parameters
to store the local environment, not terminal parameters. Include
`process-environment' as well.
(setenv): Handle `local-environment-variables'.
* frame.el (make-frame): Always inherit 'environment and 'client
parameters. Set up the 'environment frame parameter, when needed.
Also inherit 'client parameter. Don't override explicitly
specified values with inherited ones. Add 'terminal frame
parameter. Append window-system-default-frame-alist to parameters
before calling frame-creation-function.
(frame-initialize): Copy the environment from the initial frame.
(window-system-default-frame-alist): Enhance doc string.
(frame-notice-user-settings): Don't put 'tool-bar-lines in
`default-frame-alist' when initial frame is on a tty.
(modify-all-frames-parameters): Simplify using `assq-delete-all'.
Remove specified parameters from
`window-system-default-frame-alist'.
(make-frame-on-tty, framep-on-display, suspend-frame):
Extend doc string, update parameter names.
(frames-on-display-list): Use terminal-id to get the
display id.
(frame-notice-user-settings): Extend to apply
settings in `window-system-default-frame-alist' as well.
(terminal-id, terminal-parameters, terminal-parameter)
(set-terminal-parameter, terminal-handle-delete-frame): New functions.
(delete-frame-functions): Add to `delete-frame-functions' hook.
(blink-cursor-mode): Adapt blink-cursor-mode default
value from startup.el.
(make-frame-on-display): Protect condition on x-initialized when
x-win.el is not loaded. Update doc.
(suspend-frame): Use display-controlling-tty-p to decide between
suspend-emacs and suspend-tty.
(frames-on-display-list): Update for display ids.
(framep-on-display): Ditto.
(suspend-frame): Use display-name, not frame-tty-name.
(selected-terminal): New function.
* startup.el (display-startup-echo-area-message): Handle
`inhibit-startup-echo-area-message' here.
(command-line-1): Moved from here.
(fancy-splash-screens): Use `overriding-local-map' instead of
`overriding-terminal-local-map' for now; the latter doesn't work
right, it looses keypresses to another terminal. Use
`overriding-terminal-local-map' to set up keymap. Install a
`delete-frame-functions' hook to catch `delete-frame' events.
Ignore `select-window' events to cope better with
`focus-follows-mouse'. Don't switch back to the original buffer
if the splash frame has been killed. Restore previous buffer, even
if it's *scratch*.
(normal-splash-screen): Don't let-bind `mode-line-format'; it
changes the global binding---setq it instead. Use
`save-buffers-kill-terminal'.
(display-splash-screen): Don't do anything if the splash screen is
already displayed elsewhere.
(fancy-splash-exit, fancy-splash-delete-frame): New functions.
(command-line): Replace duplicated code with a call to
tty-run-terminal-initialization. Don't load the terminal
initialization file more than once. Remove call to nonexistent
function `set-locale-translation-file-name'.
* xt-mouse.el (xterm-mouse-x, xterm-mouse-y): Convert to terminal
parameters.
(xterm-mouse-position-function, xterm-mouse-event): Update.
(xterm-mouse-mode): Don't depend on current value of
window-system.
(turn-on-xterm-mouse-tracking, turn-off-xterm-mouse-tracking):
Update for multi-tty.
(turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal)
(xterm-mouse-handle-delete-frame): New functions.
(delete-frame-functions, after-make-frame-functions)
(suspend-tty-functions, resume-tty-functions): Install extra hooks
for multi-tty.
* server.el: Use `device' instead of `display' or `display-id' in
variable and client parameter names.
(server-select-display): Remove (unused).
(server-tty-live-p, server-handle-delete-tty): Remove.
(server-unquote-arg, server-quote-arg,server-buffer-clients):
Update docs.
(server-getenv-from, server-with-environment,server-send-string)
(server-save-buffers-kill-terminal): New functions.
(server-delete-client): Handle quits in kill-buffer. Don't kill
modified buffers. Add extra logging.
(server-visit-files): Don't set `server-existing-buffer' if the
buffer already has other clients. Return list of buffers
created. Update doc. Don't set client-record when nowait.
(server-delete-client): Delete frames after deleting the tty.
Clear 'client parameter before deleting a frame. Use
delete-display, not delete-tty.
(server-handle-delete-frame): Delete the client if this was its
last frame. Check that the frame is alive. Remove bogus comment.
Add note on possible race condition. Delete tty clients, if
needed.
(server-handle-suspend-tty): Use server-send-string.
(server-unload-hook): Remove obsolete delete-tty
hook.
(server-start): Ask before restarting if the old server still has
clients. Add feedback messages. Remove obsolete delete-tty
hook.
(server-handle-suspend-tty): Kill the client in case of errors
from process-send-string. Use the display parameter.
(server-process-filter): Use server-send-string. Accept `-dir'
command. Switch to *scratch* immediately after creating the frame,
before evaluating any -evals. Protect `display-splash-screen'
call in a condition-case. Explain why. Call
`display-startup-echo-area-message' before
`display-splash-screen'. Don't display the splash screen when no
frame was created. Show the Emacs splash screen and startup echo
area message. Display the *scratch* buffer by default. Store the
local environment in a frame (not terminal) parameter. Do not try
to decode environment strings. Fix reference to the 'display
frame parameter. Change syntax of environment variables. Put
environment into terminal parameters, not client parameters. Use
a dummy client with --no-wait's X frames. In `-position LINE'
handler, don't ruin the request string until the line number is
extracted. Log opened files. Handle -current-frame command.
Don't create frames when it is given. Don't bind X frames to the
client when we are in -no-wait mode. Set locale environment
variables from client while creating tty frames. Disable call to
configure-display-for-locale. When processing -position command,
don't change the request string until the parameters are
extracted. Don't try to create an X frame when Emacs does not
support it. Improve logging. Temporarily set ncurses-related
environment variables to those of the client while creating a new
tty frame. Select buffers opened by nowait clients, don't leave
them buried under others. Set the display parameter, and use it
when appropriate.
* ebrowse.el (ebrowse-electric-list-mode-map)
(ebrowse-electric-position-mode-map):
* ebuff-menu.el (electric-buffer-menu-mode-map):
* echistory.el (electric-history-map): Bind C-z to
`suspend-frame', not `suspend-emacs'.
* font-lock.el (lisp-font-lock-keywords-2): Add `let-environment'
and `with-selected-frame'.
;; Local Variables:
;; coding: iso-2022-7bit
;; add-log-time-zone-rule: t
;; End:
Copyright (C) 2007 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
;;; arch-tag: 58312fd6-033a-11dc-a0fb-00114368b55b