Mercurial > emacs
changeset 85147:c164c81cba59
(server-create-tty-frame, server-create-window-system-frame):
Set frame-inherited-parameters.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 10 Oct 2007 20:43:22 +0000 |
parents | c37307b0bf01 |
children | f1dea8c68d8d |
files | lisp/ChangeLog lisp/server.el |
diffstat | 2 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Oct 10 20:24:19 2007 +0000 +++ b/lisp/ChangeLog Wed Oct 10 20:43:22 2007 +0000 @@ -1,5 +1,8 @@ 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca> + * server.el (server-create-tty-frame) + (server-create-window-system-frame): Set frame-inherited-parameters. + * frame.el (frame-inherited-parameters): New var. (make-frame): Use it.
--- a/lisp/server.el Wed Oct 10 20:24:19 2007 +0000 +++ b/lisp/server.el Wed Oct 10 20:43:22 2007 +0000 @@ -561,6 +561,7 @@ (server-quote-arg text))))))))) (defun server-create-tty-frame (tty type proc) + (add-to-list 'frame-inherited-parameters 'client) (let ((frame (server-with-environment (process-get proc 'env) '("LANG" "LC_CTYPE" "LC_ALL" @@ -575,6 +576,16 @@ ;; Ignore nowait here; we always need to ;; clean up opened ttys when the client dies. `((client . ,proc) + ;; This is a leftover from an earlier + ;; attempt at making it possible for process + ;; run in the server process to use the + ;; environment of the client process. + ;; It has no effect now and to make it work + ;; we'd need to decide how to make + ;; process-environment interact with client + ;; envvars, and then to change the + ;; C functions `child_setup' and + ;; `getenv_internal' accordingly. (environment . ,(process-get proc 'env))))))) ;; ttys don't use the `display' parameter, but callproc.c does to set @@ -594,6 +605,7 @@ frame)) (defun server-create-window-system-frame (display nowait proc) + (add-to-list 'frame-inherited-parameters 'client) (if (not (fboundp 'make-frame-on-display)) (progn ;; This emacs does not support X. @@ -606,6 +618,7 @@ ;; `server-save-buffers-kill-terminal' from unexpectedly ;; killing emacs on that frame. (let* ((params `((client . ,(if nowait 'nowait proc)) + ;; This is a leftover, see above. (environment . ,(process-get proc 'env)))) (frame (make-frame-on-display (or display @@ -614,9 +627,8 @@ (error "Please specify display")) params))) (server-log (format "%s created" frame) proc) - ;; XXX We need to ensure the parameters are - ;; really set because Emacs forgets unhandled - ;; initialization parameters for X frames at + ;; XXX We need to ensure the parameters are really set because Emacs + ;; forgets unhandled initialization parameters for X frames at ;; the moment. (modify-frame-parameters frame params) (select-frame frame)