Mercurial > emacs
changeset 2403:05d8916e4cde
renamed to env.el; changed setenv to putenv.
author | Noah Friedman <friedman@splode.com> |
---|---|
date | Sun, 28 Mar 1993 07:13:09 +0000 |
parents | 61e1f8813d03 |
children | 845db675b3e9 |
files | lisp/env.el |
diffstat | 1 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/env.el Sun Mar 28 06:40:46 1993 +0000 +++ b/lisp/env.el Sun Mar 28 07:13:09 1993 +0000 @@ -1,4 +1,4 @@ -;;; setenv.el --- functions to manipulate environment variables. +;;; env.el --- functions to manipulate environment variables. ;;; Copyright Free Software Foundation 1991 @@ -31,24 +31,30 @@ ;;; Code: ;;;###autoload -(defun setenv (variable value) +(defun putenv (variable &optional value) "Set the value of the environment variable named VARIABLE to VALUE. -VARIABLE and VALUE should both be strings. +VARIABLE should be a string. VALUE is optional; if not provided or is +`nil', the environment variable VARIABLE will be removed. This function works by modifying `process-environment'." (interactive "sSet environment variable: \nsSet %s to value: ") (if (string-match "=" variable) - (error "Environment variable name contains `='") + (error "Environment variable name `%s' contains `='" variable) (let ((pattern (concat "\\`" (regexp-quote (concat variable "=")))) (scan process-environment)) (while scan (cond ((string-match pattern (car scan)) - (setcar scan (concat variable "=" value)) + (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)))))))) -(provide 'setenv) +;; Provide backward-contemptibility. +(fset 'setenv 'putenv) -;;; setenv.el ends here +(provide 'env) + +;;; env.el ends here