(scheme-args-to-list): Remove.

(run-scheme): Use split-string-and-unquote instead, so as to allow
spaces in the command name and/or the arguments.
This commit is contained in:
Stefan Monnier 2009-02-01 22:32:43 +00:00
parent ae24ab328b
commit 8f4cafbce2
2 changed files with 31 additions and 38 deletions

View file

@ -1,3 +1,9 @@
2009-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
* cmuscheme.el (scheme-args-to-list): Remove.
(run-scheme): Use split-string-and-unquote instead, so as to allow
spaces in the command name and/or the arguments.
2009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
* term/ns-win.el (ns-save-preferences): Save ns-confirm-quit option.

View file

@ -65,30 +65,30 @@
;; invited to port xscheme functionality on top of comint mode...
;;; CHANGE LOG
;;; ===========================================================================
;;; 8/88 Olin
;;; Created.
;;;
;;; 2/15/89 Olin
;;; Removed -emacs flag from process invocation. It's only useful for
;;; cscheme, and makes cscheme assume it's running under xscheme.el,
;;; which messes things up royally. A bug.
;;;
;;; 5/22/90 Olin
;;; - Upgraded to use comint-send-string and comint-send-region.
;;; - run-scheme now offers to let you edit the command line if
;;; you invoke it with a prefix-arg. M-x scheme is redundant, and
;;; has been removed.
;;; - Explicit references to process "scheme" have been replaced with
;;; (scheme-proc). This allows better handling of multiple process bufs.
;;; - Added scheme-send-last-sexp, bound to C-x C-e. A gnu convention.
;;; - Have not added process query facility a la cmulisp.el's lisp-show-arglist
;;; and friends, but interested hackers might find a useful application
;;; of this facility.
;;;
;;; 3/12/90 Olin
;;; - scheme-load-file and scheme-compile-file no longer switch-to-scheme.
;;; Tale suggested this.
;; ===========================================================================
;; 8/88 Olin
;; Created.
;;
;; 2/15/89 Olin
;; Removed -emacs flag from process invocation. It's only useful for
;; cscheme, and makes cscheme assume it's running under xscheme.el,
;; which messes things up royally. A bug.
;;
;; 5/22/90 Olin
;; - Upgraded to use comint-send-string and comint-send-region.
;; - run-scheme now offers to let you edit the command line if
;; you invoke it with a prefix-arg. M-x scheme is redundant, and
;; has been removed.
;; - Explicit references to process "scheme" have been replaced with
;; (scheme-proc). This allows better handling of multiple process bufs.
;; - Added scheme-send-last-sexp, bound to C-x C-e. A gnu convention.
;; - Have not added process query facility a la cmulisp.el's lisp-show-arglist
;; and friends, but interested hackers might find a useful application
;; of this facility.
;;
;; 3/12/90 Olin
;; - scheme-load-file and scheme-compile-file no longer switch-to-scheme.
;; Tale suggested this.
;;; Code:
@ -223,19 +223,6 @@ Defaults to a regexp ignoring all inputs of 0, 1, or 2 letters."
(backward-sexp)
(buffer-substring (point) end))))
(defun scheme-args-to-list (string)
(let ((where (string-match "[ \t]" string)))
(cond ((null where) (list string))
((not (= where 0))
(cons (substring string 0 where)
(scheme-args-to-list (substring string (+ 1 where)
(length string)))))
(t (let ((pos (string-match "[^ \t]" string)))
(if (null pos)
nil
(scheme-args-to-list (substring string pos
(length string)))))))))
;;;###autoload
(defun run-scheme (cmd)
"Run an inferior Scheme process, input and output via buffer `*scheme*'.
@ -254,7 +241,7 @@ is run).
(read-string "Run Scheme: " scheme-program-name)
scheme-program-name)))
(if (not (comint-check-proc "*scheme*"))
(let ((cmdlist (scheme-args-to-list cmd)))
(let ((cmdlist (split-string-and-unquote cmd)))
(set-buffer (apply 'make-comint "scheme" (car cmdlist)
(scheme-start-file (car cmdlist)) (cdr cmdlist)))
(inferior-scheme-mode)))