Mercurial > emacs
comparison README.multi-tty @ 83427:2afc49c9f0c0
Store local environment in frame (not terminal) parameters.
* src/callproc.c (child_setup, getenv_internal, Fgetenv_internal):
Store the local environment in a frame (not terminal) parameter.
Update doc strings.
(syms_of_callproc): Update doc strings.
(Qenvironment): Moved to frame.c.
* lisp/env.el (read-envvar-name, setenv, getenv, environment): Use frame
parameters to store the local environment, not terminal parameters.
* server.el (server-process-filter): Store the local environment in a
frame (not terminal) parameter. Do not try to decode environment
strings.
* lisp/frame.el (make-frame): Set up the 'environment frame parameter,
when needed.
* src/frame.c (Qenvironment): Move here from callproc.c.
(Fdelete_frame): Don't allow other frames to refer to a deleted frame
in their 'environment parameter.
(Fframe_with_environment): New function.
(syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
* frame.h (Qenvironment): Declare.
* lisp.h (Fframe_with_environment): EXFUN it.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-467
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Thu, 29 Dec 2005 04:31:04 +0000 |
parents | 1f5d64c4df6f |
children | 76396de7f50a |
comparison
equal
deleted
inserted
replaced
83426:7c7d1f1cb2e7 | 83427:2afc49c9f0c0 |
---|---|
410 specific terminal, and eliminate the hackish terminal-related frame | 410 specific terminal, and eliminate the hackish terminal-related frame |
411 parameters (display, tty, tty-type). | 411 parameters (display, tty, tty-type). |
412 | 412 |
413 make_terminal_frame | 413 make_terminal_frame |
414 create_tty_output | 414 create_tty_output |
415 | 415 |
416 ** Decide whether to keep the C implementation of terminal parameters, | |
417 or revert to the previous, purely Lisp code. It turned out that | |
418 local environments do not need terminal parameters after all. | |
416 | 419 |
417 ** Move Fsend_string_to_terminal to term.c, and declare get_named_tty | 420 ** Move Fsend_string_to_terminal to term.c, and declare get_named_tty |
418 as static, removing it from dispextern.h. | 421 as static, removing it from dispextern.h. |
419 Move fatal to emacs.c and declare it somewhere. | 422 Move fatal to emacs.c and declare it somewhere. |
420 | 423 |
1360 (Implemented in patch-461; `terminal-getenv', `terminal-setenv' and | 1363 (Implemented in patch-461; `terminal-getenv', `terminal-setenv' and |
1361 `with-terminal-environment' are now replaced by extensions to | 1364 `with-terminal-environment' are now replaced by extensions to |
1362 `getenv' and `setenv', and the new `local-environment-variables' | 1365 `getenv' and `setenv', and the new `local-environment-variables' |
1363 facility. Yay!) | 1366 facility. Yay!) |
1364 | 1367 |
1368 (Updated in patch-465 to fix the semantics of let-binding | |
1369 `process-environment'. `process-environment' was changed to | |
1370 override all local/global environment variables, and a new variable | |
1371 `global-environment' was introduced to have `process-environment's | |
1372 old meaning.) | |
1373 | |
1374 (Updated in patch-466 to fix the case when two emacsclient sessions | |
1375 share the same terminal, but have different environment. The local | |
1376 environment lists are now stored as frame parameters, so the | |
1377 C-level terminal parameters are not strictly necessary any more.) | |
1378 | |
1365 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d | 1379 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d |
1366 | 1380 |