mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
(setenv): Get rid of arg UNSET. Interactive unsetting
now works by passing nil as arg.
This commit is contained in:
parent
75669e0223
commit
27bdc650c3
1 changed files with 13 additions and 13 deletions
26
lisp/env.el
26
lisp/env.el
|
|
@ -90,28 +90,30 @@ Use `$$' to insert a single dollar sign."
|
|||
|
||||
;; Fixme: Should `process-environment' be recoded if LC_CTYPE &c is set?
|
||||
|
||||
(defun setenv (variable &optional value unset substitute-env-vars)
|
||||
(defun setenv (variable &optional value substitute-env-vars)
|
||||
"Set the value of the environment variable named VARIABLE to VALUE.
|
||||
VARIABLE should be a string. VALUE is optional; if not provided or
|
||||
nil, the environment variable VARIABLE will be removed. UNSET
|
||||
if non-nil means to remove VARIABLE from the environment.
|
||||
SUBSTITUTE-ENV-VARS, if non-nil, means to substitute environment
|
||||
variables in VALUE with `substitute-env-vars', where see.
|
||||
Value is the new value if VARIABLE, or nil if removed from the
|
||||
environment.
|
||||
nil, the environment variable VARIABLE will be removed.
|
||||
|
||||
Interactively, a prefix argument means to unset the variable.
|
||||
Interactively, the current value (if any) of the variable
|
||||
appears at the front of the history list when you type in the new value.
|
||||
Interactively, always replace environment variables in the new value.
|
||||
|
||||
SUBSTITUTE-ENV-VARS, if non-nil, means to substitute environment
|
||||
variables in VALUE with `substitute-env-vars', which see.
|
||||
This is normally used only for interactive calls.
|
||||
|
||||
The return value is the new value of VARIABLE, or nil if
|
||||
it was removed from the environment.
|
||||
|
||||
This function works by modifying `process-environment'.
|
||||
|
||||
As a special case, setting variable `TZ' calls `set-time-zone-rule' as
|
||||
a side-effect."
|
||||
(interactive
|
||||
(if current-prefix-arg
|
||||
(list (read-envvar-name "Clear environment variable: " 'exact) nil t)
|
||||
(list (read-envvar-name "Clear environment variable: " 'exact) nil)
|
||||
(let* ((var (read-envvar-name "Set environment variable: " nil))
|
||||
(value (getenv var)))
|
||||
(when value
|
||||
|
|
@ -121,7 +123,6 @@ a side-effect."
|
|||
(read-from-minibuffer (format "Set %s to value: " var)
|
||||
nil nil nil 'setenv-history
|
||||
value)
|
||||
nil
|
||||
t))))
|
||||
(if (and (multibyte-string-p variable) locale-coding-system)
|
||||
(let ((codings (find-coding-systems-string (concat variable value))))
|
||||
|
|
@ -129,10 +130,9 @@ a side-effect."
|
|||
(memq (coding-system-base locale-coding-system) codings))
|
||||
(error "Can't encode `%s=%s' with `locale-coding-system'"
|
||||
variable (or value "")))))
|
||||
(if unset
|
||||
(setq value nil)
|
||||
(if substitute-env-vars
|
||||
(setq value (substitute-env-vars value))))
|
||||
(and value
|
||||
substitute-env-vars
|
||||
(setq value (substitute-env-vars value)))
|
||||
(if (multibyte-string-p variable)
|
||||
(setq variable (encode-coding-string variable locale-coding-system)))
|
||||
(if (and value (multibyte-string-p value))
|
||||
|
|
|
|||
Loading…
Reference in a new issue