;;; -*-Scheme-*-
;;;
-;;; $Id: process.scm,v 1.25 1992/09/23 23:03:55 jinx Exp $
+;;; $Id: process.scm,v 1.26 1992/11/24 21:14:45 cph Exp $
;;;
;;; Copyright (c) 1991-1992 Massachusetts Institute of Technology
;;;
(define (initialize-processes!)
(set! edwin-processes '())
- (let ((path (get-environment-variable "PATH")))
- (if (not path)
- (error "Can't find PATH environment variable."))
- (set-variable! exec-path (parse-path-string path))))
+ (set-variable-default-value!
+ (ref-variable-object exec-path)
+ (parse-path-string
+ (let ((path (get-environment-variable "PATH")))
+ (if (not path)
+ (error "Can't find PATH environment variable."))
+ path)))
+ (set-variable-default-value!
+ (ref-variable-object shell-file-name)
+ (or (get-environment-variable "SHELL") "/bin/sh")))
(define edwin-processes)
False means don't delete them until \\[list-processes] is run."
true
boolean?)
+
+(define-variable shell-file-name
+ "File name to load inferior shells from.
+Initialized from the SHELL environment variable."
+ ""
+ string?)
\f
(define-structure (process
(constructor %make-process (subprocess name %buffer)))
(define (shell-command input-region output-mark directory pty? command)
(run-synchronous-process input-region output-mark directory pty?
- "/bin/sh" "-c" command))
+ (ref-variable shell-file-name) "-c" command))
\f
;;; These procedures are not specific to the process abstraction.