aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2007-09-21 07:10:07 +0000
committerStefan Monnier2007-09-21 07:10:07 +0000
commite159b8694348bf7356f1a5d792eb5a9d0f27aebc (patch)
tree2865d84c8fd337b1c67af088ae58aa5a60c38fd7
parenta44d9b8b4c49a82dac6b27b24b0aa52290ba1906 (diff)
downloademacs-e159b8694348bf7356f1a5d792eb5a9d0f27aebc.tar.gz
emacs-e159b8694348bf7356f1a5d792eb5a9d0f27aebc.zip
(server-getenv-from): Remove. Use getenv-internal instead.
(server-create-tty-frame): Don't set unused `tty' property. Set `display' instead of display-environment-variable. (server-create-window-system-frame): No display-environment-variable.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/server.el29
2 files changed, 15 insertions, 25 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2b0e3ad42e3..250cc886d21 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,9 +1,16 @@
12007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * server.el (server-getenv-from): Remove. Use getenv-internal instead.
4 (server-create-tty-frame): Don't set unused `tty' property.
5 Set `display' instead of display-environment-variable.
6 (server-create-window-system-frame): No display-environment-variable.
7
12007-09-21 Michael Albinus <michael.albinus@gmx.de> 82007-09-21 Michael Albinus <michael.albinus@gmx.de>
2 9
3 * rfn-eshadow.el (rfn-eshadow-setup-minibuffer-hook) 10 * rfn-eshadow.el (rfn-eshadow-setup-minibuffer-hook)
4 (rfn-eshadow-update-overlay-hook): New defvars. 11 (rfn-eshadow-update-overlay-hook): New defvars.
5 (rfn-eshadow-setup-minibuffer, rfn-eshadow-update-overlay): Run 12 (rfn-eshadow-setup-minibuffer, rfn-eshadow-update-overlay):
6 the hooks. 13 Run the hooks.
7 14
8 * net/tramp.el (tramp-rfn-eshadow-overlay): New defvar. 15 * net/tramp.el (tramp-rfn-eshadow-overlay): New defvar.
9 (tramp-rfn-eshadow-setup-minibuffer) 16 (tramp-rfn-eshadow-setup-minibuffer)
diff --git a/lisp/server.el b/lisp/server.el
index f22d693ffaa..04da434f737 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -213,22 +213,6 @@ Initialized by `server-start'.")
213New clients have no properties." 213New clients have no properties."
214 (add-to-list 'server-clients proc)) 214 (add-to-list 'server-clients proc))
215 215
216(defun server-getenv-from (env variable)
217 "Get the value of VARIABLE in ENV.
218VARIABLE should be a string. Value is nil if VARIABLE is
219undefined in ENV. Otherwise, value is a string.
220
221ENV should be in the same format as `process-environment'."
222 (let (entry result)
223 (while (and env (null result))
224 (setq entry (car env)
225 env (cdr env))
226 (if (and (> (length entry) (length variable))
227 (eq ?= (aref entry (length variable)))
228 (equal variable (substring entry 0 (length variable))))
229 (setq result (substring entry (+ (length variable) 1)))))
230 result))
231
232(defmacro server-with-environment (env vars &rest body) 216(defmacro server-with-environment (env vars &rest body)
233 "Evaluate BODY with environment variables VARS set to those in ENV. 217 "Evaluate BODY with environment variables VARS set to those in ENV.
234The environment variables are then restored to their previous values. 218The environment variables are then restored to their previous values.
@@ -240,7 +224,7 @@ ENV should be in the same format as `process-environment'."
240 (value (make-symbol "value"))) 224 (value (make-symbol "value")))
241 `(let ((process-environment process-environment)) 225 `(let ((process-environment process-environment))
242 (dolist (,var ,vars) 226 (dolist (,var ,vars)
243 (let ((,value (server-getenv-from ,env ,var))) 227 (let ((,value (getenv-internal ,var ,env)))
244 (push (if (null ,value) 228 (push (if (null ,value)
245 ,var 229 ,var
246 (concat ,var "=" ,value)) 230 (concat ,var "=" ,value))
@@ -585,11 +569,12 @@ Server mode runs a process that accepts commands from the
585 `((client . ,proc) 569 `((client . ,proc)
586 (environment . ,(process-get proc 'env))))))) 570 (environment . ,(process-get proc 'env)))))))
587 571
588 (set-frame-parameter frame 'display-environment-variable 572 ;; ttys don't use the `display' parameter, but callproc.c does to set
589 (server-getenv-from (process-get proc 'env) "DISPLAY")) 573 ;; the DISPLAY environment on subprocesses.
574 (set-frame-parameter frame 'display
575 (getenv-internal "DISPLAY" (process-get proc 'env)))
590 (select-frame frame) 576 (select-frame frame)
591 (process-put proc 'frame frame) 577 (process-put proc 'frame frame)
592 (process-put proc 'tty (terminal-name frame))
593 (process-put proc 'terminal (frame-terminal frame)) 578 (process-put proc 'terminal (frame-terminal frame))
594 579
595 ;; Display *scratch* by default. 580 ;; Display *scratch* by default.
@@ -601,7 +586,7 @@ Server mode runs a process that accepts commands from the
601 frame)) 586 frame))
602 587
603(defun server-create-window-system-frame (display nowait proc) 588(defun server-create-window-system-frame (display nowait proc)
604 (if (not (fboundp 'x-create-frame)) 589 (if (not (fboundp 'make-frame-on-display))
605 (progn 590 (progn
606 ;; This emacs does not support X. 591 ;; This emacs does not support X.
607 (server-log "Window system unsupported" proc) 592 (server-log "Window system unsupported" proc)
@@ -626,8 +611,6 @@ Server mode runs a process that accepts commands from the
626 ;; initialization parameters for X frames at 611 ;; initialization parameters for X frames at
627 ;; the moment. 612 ;; the moment.
628 (modify-frame-parameters frame params) 613 (modify-frame-parameters frame params)
629 (set-frame-parameter frame 'display-environment-variable
630 (server-getenv-from (process-get proc 'env) "DISPLAY"))
631 (select-frame frame) 614 (select-frame frame)
632 (process-put proc 'frame frame) 615 (process-put proc 'frame frame)
633 (process-put proc 'terminal (frame-terminal frame)) 616 (process-put proc 'terminal (frame-terminal frame))