diff options
| author | Karoly Lorentey | 2005-12-29 04:31:04 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-12-29 04:31:04 +0000 |
| commit | da8e8fc14f3166ec596e34f43fbfea866d1176df (patch) | |
| tree | 9c31affcb4b837cac4793f10acbafc562bfd08e4 /README.multi-tty | |
| parent | 86f5ca04d94ad551d3aa726e15281e75ef0189ed (diff) | |
| download | emacs-da8e8fc14f3166ec596e34f43fbfea866d1176df.tar.gz emacs-da8e8fc14f3166ec596e34f43fbfea866d1176df.zip | |
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
Diffstat (limited to 'README.multi-tty')
| -rw-r--r-- | README.multi-tty | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/README.multi-tty b/README.multi-tty index 9f3e048e2e2..346d27102bf 100644 --- a/README.multi-tty +++ b/README.multi-tty | |||
| @@ -412,7 +412,10 @@ THINGS TO DO | |||
| 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. |
| @@ -1362,5 +1365,16 @@ DIARY OF CHANGES | |||
| 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 | ||