Mercurial > emacs
diff lisp/frame.el @ 83444:00c55c52afd8
Make all frames created in an emacsclient session belong to that client.
* lisp/frame.el (make-frame): Also inherit 'client parameter. Don't
override explicitly specified values with inherited ones.
* server.el (server-delete-client): Delete frames after deleting the tty.
Clear 'client parameter before deleting a frame.
* server.el (server-handle-delete-frame): Delete the client if this was
its last frame.
* startup.el (fancy-splash-default-action): Fix typo in comment.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-484
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Mon, 02 Jan 2006 07:50:53 +0000 |
parents | 76396de7f50a |
children | b98066f4aa10 |
line wrap: on
line diff
--- a/lisp/frame.el Mon Jan 02 07:43:46 2006 +0000 +++ b/lisp/frame.el Mon Jan 02 07:50:53 2006 +0000 @@ -681,13 +681,16 @@ (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) - ;; Set up the frame-local environment, if needed. + ;; Inherit the 'environment and 'client parameters, if needed. (when (eq (frame-terminal frame) (frame-terminal oldframe)) - (let ((env (frame-parameter oldframe 'environment))) + (let ((env (frame-parameter oldframe 'environment)) + (client (frame-parameter oldframe 'client))) (if (not (framep env)) (setq env oldframe)) - (if env - (set-frame-parameter frame 'environment env)))) + (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))