summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-06-22 04:07:38 +0000
committerRichard M. Stallman <rms@gnu.org>1994-06-22 04:07:38 +0000
commite587250c971f471264cd563c659972b1ab6c46c3 (patch)
treed1416a5f415e7fa7099fe0b99ff724f19c73218a
parent00b8940274350e41217c187d00c546c17b1fbeba (diff)
downloademacs-e587250c971f471264cd563c659972b1ab6c46c3.tar.gz
(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'."
(let ((pattern (concat "\\`" (regexp-quote (concat variable "="))))
(case-fold-search nil)
(scan process-environment))
- (while scan
- (cond
- ((string-match pattern (car scan))
- (if (eq nil value)
- (setq process-environment (delq (car scan) process-environment))
- (setcar scan (concat variable "=" value)))
- (setq scan nil))
- ((null (setq scan (cdr scan)))
- (setq process-environment
- (cons (concat variable "=" value) process-environment))))))))
+ (if scan
+ (while scan
+ (cond
+ ((string-match pattern (car scan))
+ (if (eq nil value)
+ (setq process-environment (delq (car scan) process-environment))
+ (setcar scan (concat variable "=" value)))
+ (setq scan nil))
+ ((null (setq scan (cdr scan)))
+ (setq process-environment
+ (cons (concat variable "=" value) process-environment)))))
+ (setq process-environment
+ (cons (concat variable "=" value) process-environment))))))
(provide 'env)