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)