# HG changeset patch # User Jim Blandy # Date 695364111 0 # Node ID 3d2d0362a4967084fd74f7085142805a7e842305 # Parent 4fddd0f0fc33a22200e1d8b257f81f53ca28fc31 Initial revision diff -r 4fddd0f0fc33 -r 3d2d0362a496 lisp/env.el --- /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))))))))