summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2009-02-01 22:32:43 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2009-02-01 22:32:43 +0000
commit8f4cafbce212e50c78c75092eec0f2f3c801594e (patch)
tree2f789bd0b5101e83d07814184b380be87109b9f6
parentae24ab328b0d9c691b7ec2604b7013411d7fe2b6 (diff)
downloademacs-8f4cafbce212e50c78c75092eec0f2f3c801594e.tar.gz
(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.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/cmuscheme.el63
2 files changed, 31 insertions, 38 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 40d280d9bca..ce6ee7b83fc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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.
diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el
index fdc76eaf4fa..e3ac459512e 100644
--- a/lisp/cmuscheme.el
+++ b/lisp/cmuscheme.el
@@ -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)))