]> git.eshelyaron.com Git - emacs.git/commitdiff
(setenv): Interactively, if VARIABLE has a current value,
authorGerd Moellmann <gerd@gnu.org>
Tue, 4 Sep 2001 15:49:51 +0000 (15:49 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 4 Sep 2001 15:49:51 +0000 (15:49 +0000)
add that to the front of the history, as the doc string says.

lisp/ChangeLog
lisp/env.el

index 07e1404eff40347be42c187e0e8d57060a3cf0b2..e063015ef826f718be7973a77f610eb606657c5e 100644 (file)
@@ -1,5 +1,8 @@
 2001-09-04  Gerd Moellmann  <gerd@gnu.org>
 
+       * env.el (setenv): Interactively, if VARIABLE has a current value,
+       add that to the front of the history, as the doc string says.
+
        * comint.el (comint-send-input): Change help-echo.
        From "Dr Francis J. Wright" <F.J.Wright@qmw.ac.uk>.
        
index 1824bd378ce0f03945cb053bb9e9516a458fdab0..58e830beaa113713c6b9e65928dda97b6742d142 100644 (file)
@@ -1,6 +1,6 @@
 ;;; env.el --- functions to manipulate environment variables
 
-;; Copyright (C) 1991, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1994, 2000, 2001 Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: processes, unix
@@ -62,11 +62,14 @@ This function works by modifying `process-environment'."
   (interactive
    (if current-prefix-arg
        (list (read-envvar-name "Clear environment variable: " 'exact) nil t)
-     (let ((var (read-envvar-name "Set environment variable: " nil)))
+     (let* ((var (read-envvar-name "Set environment variable: " nil))
+           (value (getenv var)))
+       (when value
+        (push value setenv-history))
        ;; Here finally we specify the args to give call setenv with.
        (list var (read-from-minibuffer (format "Set %s to value: " var)
                                       nil nil nil 'setenv-history
-                                      (getenv var))))))
+                                      value)))))
   (if unset (setq value nil))
   (if (string-match "=" variable)
       (error "Environment variable name `%s' contains `='" variable)