Mercurial > emacs
changeset 96793:843ceb9d6204
File removed.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Fri, 18 Jul 2008 17:09:36 +0000 |
parents | 50bfb208e018 |
children | bd6f86307d62 |
files | lisp/ns-grabenv.el |
diffstat | 1 files changed, 0 insertions(+), 60 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ns-grabenv.el Fri Jul 18 17:09:23 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -;;; ns-grabenv.el --- functions to set environment variables by running a subshell - -;; Copyright (C) 1993, 1994, 2005, 2006, 2008 Free Software Foundation, Inc. - -;; Author: Carl Edman, Christian Limpach, Scott Bender, Christophe de Dinechin, Adrian Robert -;; Keywords: terminals - -;; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>. - - -;;; Idea based on NS 4.2 distribution, this version of code based on -;;; mac-read-environment-vars-from-shell () by David Reitter in Aquamacs dist.. - - -;; utility function -(defun ns-make-command-string (cmdlist) - (let ((str "") - (cmds cmdlist)) - (while cmds - (if (not (eq str "")) (setq str (format "%s ; " str))) - (setq str (format "%s%s" str (car cmds))) - (setq cmds (cdr cmds))) - str)) - - -;;;###autoload -(defun ns-grabenv (&optional shell-path &optional startup) - "Run a shell subprocess, and interpret its output as a series of environment\n\ -variables to insert into the emacs environment. The first optional argument\n\ -gives the path to the shell (defaults to the current setting of\n\ -shell-file-name). The remaining arguments are interpreted as a list of\n\ -commands for it to execute (defaults to \"printenv\")." - (interactive) - (with-temp-buffer - (let ((shell-file-name (if shell-path shell-path shell-file-name)) - (cmd (ns-make-command-string (if startup startup '("printenv"))))) - (shell-command cmd t) - (while (search-forward-regexp "^\\([A-Za-z_0-9]+\\)=\\(.*\\)$" nil t) - (setenv (match-string 1) - (if (equal (match-string 1) "PATH") - (concat (getenv "PATH") ":" (match-string 2)) - (match-string 2))))))) - -(provide 'ns-grabenv) - -;; arch-tag: e65e1dd8-1566-460c-ad66-07948588be56 -;;; ns-grabenv.el ends here