Mercurial > emacs
changeset 489:3d2d0362a496
Initial revision
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Tue, 14 Jan 1992 04:41:51 +0000 |
parents | 4fddd0f0fc33 |
children | a54a07015253 |
files | lisp/env.el |
diffstat | 1 files changed, 37 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/env.el Tue Jan 14 04:41:51 1992 +0000 @@ -0,0 +1,37 @@ +;;; -*-Emacs-Lisp-*- Functions to manipulate environment variables. +;;; Copyright Free Software Foundation 1991 + +;;; This file is part of GNU Emacs. + +;;; GNU Emacs is free software; you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 1, or (at your option) +;;; any later version. + +;;; GNU Emacs is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. + +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Emacs; see the file COPYING. If not, write to +;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +(provide 'setenv) + +(defun setenv (variable value) + "Set the value of the environment variable named VARIABLE to VALUE. +VARIABLE and VALUE should both be strings. +This function works by modifying process-environment." + (if (string-match "=" variable) + (error "name of environment variable contains an '=' character") + (let ((pattern (concat "^" (regexp-quote (concat variable "=")))) + (scan process-environment)) + (while scan + (cond + ((string-match pattern (car scan)) + (setcar scan (concat variable "=" value)) + (setq scan nil)) + ((null (setq scan (cdr scan))) + (setq process-environment + (cons (concat variable "=" value) process-environment))))))))