summaryrefslogtreecommitdiff
path: root/lisp/frame.el
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2006-05-26 17:37:25 +0000
committerKaroly Lorentey <lorentey@elte.hu>2006-05-26 17:37:25 +0000
commita13f8f50d4cc544d3bbfa78568e82ce09e68bded (patch)
tree9b8e8ddb508e47766875a99c7f1a97655fa11f22 /lisp/frame.el
parent16b555334ab54bd28c46edfed569e203632db228 (diff)
downloademacs-a13f8f50d4cc544d3bbfa78568e82ce09e68bded.tar.gz
emacs-a13f8f50d4cc544d3bbfa78568e82ce09e68bded.tar.bz2
emacs-a13f8f50d4cc544d3bbfa78568e82ce09e68bded.zip
Rework environment variable support. (Reported by Kalle Olavi Niemitalo and Noah Friedman.)
* src/callproc.c (Vglobal_environment, Vlocal_environment_variables): Remove. (getenv_internal, child_setup): Don't look at global-environment or local-environment-variables. (Fgetenv_internal): Update docs. (set_initial_environment): Rename from set_global_environment. Store Emacs environment in initial frame parameter. (syms_of_callproc): Remove obsolete defvars. Update docs. * lisp/env.el (read-envvar-name): Remove reference to global-environment. (setenv-internal): New function. (setenv): Use it. Always set process-environment. Update docs. (getenv): Update docs. (environment): Rewrite for the new environment design. Update docs. * lisp/frame.el (frame-initialize): Copy the environment from the initial frame. * src/emacs.c (main): Call set_initial_environment, not set_global_environment. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-569
Diffstat (limited to 'lisp/frame.el')
-rw-r--r--lisp/frame.el3
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index 0f255ac77a1..f5d3f4b0c37 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -238,6 +238,9 @@ Pass it BUFFER as first arg, and (cdr ARGS) gives the rest of the args."
;; because that would override explicit user resizing.
(setq initial-frame-alist
(frame-remove-geometry-params initial-frame-alist))))
+ ;; Copy the environment of the Emacs process into the new frame.
+ (set-frame-parameter frame-initial-frame 'environment
+ (frame-parameter terminal-frame 'environment))
;; At this point, we know that we have a frame open, so we
;; can delete the terminal frame.
(delete-frame terminal-frame)