changeset 83535:6c8cebe86511

Let frames on new terminals inherit 'environment and 'client. * lisp/frame.el (make-frame): Always inherit 'environment and 'client parameters. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-575
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 29 Jul 2006 10:51:50 +0000
parents 1be0f422f5e8
children 0014f454c421
files README.multi-tty lisp/frame.el
diffstat 2 files changed, 11 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/README.multi-tty	Sat Jul 29 10:31:20 2006 +0000
+++ b/README.multi-tty	Sat Jul 29 10:51:50 2006 +0000
@@ -42,6 +42,7 @@
 Ami Fischman <ami@fischman.org>
 Noah Friedman <friedman@splode.com>
 Friedrich Delgado Friedrichs <friedel@nomaden.org>
+Eric Hanchrow <offby1@blarg.net>
 IRIE Tetsuya <irie@t.email.ne.jp>
 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
 Bas Kok <nekkobassu@yahoo.com>
@@ -406,6 +407,7 @@
 ------------
 
 ** See if `tty-defined-color-alist' needs to be terminal-local.
+   Dan says it should be, so convert it.
 
 ** emacsclient -t on the console does not work after su.  You have to
    use non-root accounts or start as root to see this.
--- a/lisp/frame.el	Sat Jul 29 10:31:20 2006 +0000
+++ b/lisp/frame.el	Sat Jul 29 10:51:50 2006 +0000
@@ -698,16 +698,15 @@
     (run-hooks 'before-make-frame-hook)
     (setq frame (funcall frame-creation-function (append parameters (cdr (assq w window-system-default-frame-alist)))))
     (normal-erase-is-backspace-setup-frame frame)
-    ;; Inherit the 'environment and 'client parameters, if needed.
-    (when (eq (frame-terminal frame) (frame-terminal oldframe))
-      (let ((env (frame-parameter oldframe 'environment))
-	    (client (frame-parameter oldframe 'client)))
-	(if (not (framep env))
-	    (setq env oldframe))
-	(if (and env (not (assq 'environment parameters)))
-	    (set-frame-parameter frame 'environment env))
-	(if (and client (not (assq 'client parameters)))
-	    (set-frame-parameter frame 'client client))))
+    ;; Inherit the 'environment and 'client parameters.
+    (let ((env (frame-parameter oldframe 'environment))
+	  (client (frame-parameter oldframe 'client)))
+      (if (not (framep env))
+	  (setq env oldframe))
+      (if (and env (not (assq 'environment parameters)))
+	  (set-frame-parameter frame 'environment env))
+      (if (and client (not (assq 'client parameters)))
+	  (set-frame-parameter frame 'client client)))
     (run-hook-with-args 'after-make-frame-functions frame)
     frame))