Mercurial > emacs
comparison lisp/term/xterm.el @ 83421:bb2edc915032
Implement automatic terminal-local environment variables via `local-environment-variables'.
* lisp/env.el (setenv, getenv): Add optional terminal parameter. Update docs.
(setenv): Handle `local-environment-variables'.
(read-envvar-name): Also allow (and complete) local
environment variables on the current terminal.
* src/callproc.c: Include frame.h and termhooks.h, for terminal parameters.
(Qenvironment): New constant.
(Vlocal_environment_variables): New variable.
(syms_of_callproc): Register and initialize them.
(child_setup): Handle Vlocal_environment_variables.
(getenv_internal): Add terminal parameter. Handle
Vlocal_environment_variables.
(Fgetenv_internal): Add terminal parameter.
* src/termhooks.h (get_terminal_param): Declare.
* src/Makefile.in (callproc.o): Update dependencies.
* mac/makefile.MPW (callproc.c.x): Update dependencies.
* lisp/termdev.el (terminal-id): Make parameter optional.
(terminal-getenv, terminal-setenv, with-terminal-environment):
Disable functions.
* lisp/mule-cmds.el (set-locale-environment): Convert `terminal-getenv' calls
to `getenv'.
* lisp/rxvt.el (rxvt-set-background-mode): Ditto.
* lisp/x-win.el (x-initialize-window-system): Ditto.
* lisp/xterm.el (terminal-init-xterm): Ditto.
* lisp/server.el (server-process-filter): Fix reference to the 'display frame
parameter.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-461
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Mon, 26 Dec 2005 02:14:10 +0000 |
parents | 51eb0aa362f3 |
children | b98066f4aa10 |
comparison
equal
deleted
inserted
replaced
83420:521d3f18b3d1 | 83421:bb2edc915032 |
---|---|
190 (defun terminal-init-xterm () | 190 (defun terminal-init-xterm () |
191 "Terminal initialization function for xterm." | 191 "Terminal initialization function for xterm." |
192 ;; rxvt terminals sometimes set the TERM variable to "xterm", but | 192 ;; rxvt terminals sometimes set the TERM variable to "xterm", but |
193 ;; rxvt's keybindings that are incompatible with xterm's. It is | 193 ;; rxvt's keybindings that are incompatible with xterm's. It is |
194 ;; better in that case to use rxvt's initializion function. | 194 ;; better in that case to use rxvt's initializion function. |
195 (if (and (terminal-getenv "COLORTERM") | 195 (if (and (getenv "COLORTERM" (terminal-id)) |
196 (string-match "\\`rxvt" (terminal-getenv "COLORTERM"))) | 196 (string-match "\\`rxvt" (getenv "COLORTERM" (terminal-id)))) |
197 (progn | 197 (progn |
198 (eval-and-compile (load "term/rxvt")) | 198 (eval-and-compile (load "term/rxvt")) |
199 (terminal-init-rxvt)) | 199 (terminal-init-rxvt)) |
200 | 200 |
201 ;; The terminal-local stuff only need to be set up on the first | 201 ;; The terminal-local stuff only need to be set up on the first |