diff options
| author | Karoly Lorentey | 2006-07-29 10:51:50 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-07-29 10:51:50 +0000 |
| commit | d7a0175d426200fb931fa5e5ded5b890726ecd23 (patch) | |
| tree | 920af91e374d8ad09a2a0469741a00004b0eb96a | |
| parent | 6f5d9ee789f8e2b239f8d521a29f8a15d2c59659 (diff) | |
| download | emacs-d7a0175d426200fb931fa5e5ded5b890726ecd23.tar.gz emacs-d7a0175d426200fb931fa5e5ded5b890726ecd23.zip | |
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
| -rw-r--r-- | README.multi-tty | 2 | ||||
| -rw-r--r-- | lisp/frame.el | 19 |
2 files changed, 11 insertions, 10 deletions
diff --git a/README.multi-tty b/README.multi-tty index 12bc2c2558c..96589099e20 100644 --- a/README.multi-tty +++ b/README.multi-tty | |||
| @@ -42,6 +42,7 @@ Romain Francoise <romain@orebokech.com> | |||
| 42 | Ami Fischman <ami@fischman.org> | 42 | Ami Fischman <ami@fischman.org> |
| 43 | Noah Friedman <friedman@splode.com> | 43 | Noah Friedman <friedman@splode.com> |
| 44 | Friedrich Delgado Friedrichs <friedel@nomaden.org> | 44 | Friedrich Delgado Friedrichs <friedel@nomaden.org> |
| 45 | Eric Hanchrow <offby1@blarg.net> | ||
| 45 | IRIE Tetsuya <irie@t.email.ne.jp> | 46 | IRIE Tetsuya <irie@t.email.ne.jp> |
| 46 | Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> | 47 | Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> |
| 47 | Bas Kok <nekkobassu@yahoo.com> | 48 | Bas Kok <nekkobassu@yahoo.com> |
| @@ -406,6 +407,7 @@ THINGS TO DO | |||
| 406 | ------------ | 407 | ------------ |
| 407 | 408 | ||
| 408 | ** See if `tty-defined-color-alist' needs to be terminal-local. | 409 | ** See if `tty-defined-color-alist' needs to be terminal-local. |
| 410 | Dan says it should be, so convert it. | ||
| 409 | 411 | ||
| 410 | ** emacsclient -t on the console does not work after su. You have to | 412 | ** emacsclient -t on the console does not work after su. You have to |
| 411 | use non-root accounts or start as root to see this. | 413 | use non-root accounts or start as root to see this. |
diff --git a/lisp/frame.el b/lisp/frame.el index ff07999f804..e965007c8b0 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -698,16 +698,15 @@ setup is for focus to follow the pointer." | |||
| 698 | (run-hooks 'before-make-frame-hook) | 698 | (run-hooks 'before-make-frame-hook) |
| 699 | (setq frame (funcall frame-creation-function (append parameters (cdr (assq w window-system-default-frame-alist))))) | 699 | (setq frame (funcall frame-creation-function (append parameters (cdr (assq w window-system-default-frame-alist))))) |
| 700 | (normal-erase-is-backspace-setup-frame frame) | 700 | (normal-erase-is-backspace-setup-frame frame) |
| 701 | ;; Inherit the 'environment and 'client parameters, if needed. | 701 | ;; Inherit the 'environment and 'client parameters. |
| 702 | (when (eq (frame-terminal frame) (frame-terminal oldframe)) | 702 | (let ((env (frame-parameter oldframe 'environment)) |
| 703 | (let ((env (frame-parameter oldframe 'environment)) | 703 | (client (frame-parameter oldframe 'client))) |
| 704 | (client (frame-parameter oldframe 'client))) | 704 | (if (not (framep env)) |
| 705 | (if (not (framep env)) | 705 | (setq env oldframe)) |
| 706 | (setq env oldframe)) | 706 | (if (and env (not (assq 'environment parameters))) |
| 707 | (if (and env (not (assq 'environment parameters))) | 707 | (set-frame-parameter frame 'environment env)) |
| 708 | (set-frame-parameter frame 'environment env)) | 708 | (if (and client (not (assq 'client parameters))) |
| 709 | (if (and client (not (assq 'client parameters))) | 709 | (set-frame-parameter frame 'client client))) |
| 710 | (set-frame-parameter frame 'client client)))) | ||
| 711 | (run-hook-with-args 'after-make-frame-functions frame) | 710 | (run-hook-with-args 'after-make-frame-functions frame) |
| 712 | frame)) | 711 | frame)) |
| 713 | 712 | ||