aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1994-06-22 04:07:38 +0000
committerRichard M. Stallman1994-06-22 04:07:38 +0000
commita3cda2735d45fb14dc296cc035ee531a1838b754 (patch)
treec84deb587ac1cf5fb0037e349c4e045f0ba00501
parent0a1dd1c57ac09175dff0b38f15faef6540d6f83f (diff)
downloademacs-a3cda2735d45fb14dc296cc035ee531a1838b754.tar.gz
emacs-a3cda2735d45fb14dc296cc035ee531a1838b754.zip
(setenv): Do something even if process-environment is nil.
-rw-r--r--lisp/env.el23
1 files changed, 13 insertions, 10 deletions
diff --git a/lisp/env.el b/lisp/env.el
index cc68de9cf00..cbf6dcf2156 100644
--- a/lisp/env.el
+++ b/lisp/env.el
@@ -42,16 +42,19 @@ This function works by modifying `process-environment'."
42 (let ((pattern (concat "\\`" (regexp-quote (concat variable "=")))) 42 (let ((pattern (concat "\\`" (regexp-quote (concat variable "="))))
43 (case-fold-search nil) 43 (case-fold-search nil)
44 (scan process-environment)) 44 (scan process-environment))
45 (while scan 45 (if scan
46 (cond 46 (while scan
47 ((string-match pattern (car scan)) 47 (cond
48 (if (eq nil value) 48 ((string-match pattern (car scan))
49 (setq process-environment (delq (car scan) process-environment)) 49 (if (eq nil value)
50 (setcar scan (concat variable "=" value))) 50 (setq process-environment (delq (car scan) process-environment))
51 (setq scan nil)) 51 (setcar scan (concat variable "=" value)))
52 ((null (setq scan (cdr scan))) 52 (setq scan nil))
53 (setq process-environment 53 ((null (setq scan (cdr scan)))
54 (cons (concat variable "=" value) process-environment)))))))) 54 (setq process-environment
55 (cons (concat variable "=" value) process-environment)))))
56 (setq process-environment
57 (cons (concat variable "=" value) process-environment))))))
55 58
56(provide 'env) 59(provide 'env)
57 60