changeset 21201:425bf2edf1d4

(setenv): Simplify reading of args by passing old value as the default.
author Richard M. Stallman <rms@gnu.org>
date Tue, 17 Mar 1998 08:14:28 +0000
parents ea520c42a342
children ef954087e7b9
files lisp/env.el
diffstat 1 files changed, 4 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/env.el	Tue Mar 17 07:25:54 1998 +0000
+++ b/lisp/env.el	Tue Mar 17 08:14:28 1998 +0000
@@ -63,29 +63,11 @@
   (interactive
    (if current-prefix-arg
        (list (read-envvar-name "Clear environment variable: " 'exact) nil t)
-     (let* ((var (read-envvar-name "Set environment variable: " nil))
-	    (oldval (getenv var))
-	    newval
-	    oldhist)
-       ;; Don't put the current value on the history
-       ;; if it is already there.
-       (if (equal oldval (car setenv-history))
-	   (setq oldval nil))
-       ;; Now if OLDVAL is non-nil, we should add it to the history.
-       (if oldval
-	   (setq setenv-history (cons oldval setenv-history)))
-       (setq oldhist setenv-history)
-       (setq newval (read-from-minibuffer (format "Set %s to value: " var)
-					  nil nil nil 'setenv-history))
-       ;; If we added the current value to the history, remove it.
-       ;; Note that read-from-minibuffer may have added the new value.
-       ;; Don't remove that!
-       (if oldval
-	   (if (eq oldhist setenv-history)
-	       (setq setenv-history (cdr setenv-history))
-	     (setcdr setenv-history (cdr (cdr setenv-history)))))
+     (let ((var (read-envvar-name "Set environment variable: " nil)))
        ;; Here finally we specify the args to give call setenv with.
-       (list var newval))))
+       (list var (read-from-minibuffer (format "Set %s to value: " var)
+				       nil nil nil 'setenv-history
+				       (getenv var))))))
   (if unset (setq value nil))
   (if (string-match "=" variable)
       (error "Environment variable name `%s' contains `='" variable)