(setenv): Do something even if process-environment is nil.
authorRichard M. Stallman <rms@gnu.org>
Wed, 22 Jun 1994 04:07:38 +0000 (04:07 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 22 Jun 1994 04:07:38 +0000 (04:07 +0000)
lisp/env.el

index cc68de9..cbf6dcf 100644 (file)
@@ -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)