diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-06-22 04:07:38 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-06-22 04:07:38 +0000 |
commit | e587250c971f471264cd563c659972b1ab6c46c3 (patch) | |
tree | d1416a5f415e7fa7099fe0b99ff724f19c73218a /lisp/env.el | |
parent | 00b8940274350e41217c187d00c546c17b1fbeba (diff) | |
download | emacs-e587250c971f471264cd563c659972b1ab6c46c3.tar.gz |
(setenv): Do something even if process-environment is nil.
Diffstat (limited to 'lisp/env.el')
-rw-r--r-- | lisp/env.el | 23 |
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) |