summaryrefslogtreecommitdiff
path: root/lisp/cmuscheme.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/cmuscheme.el')
-rw-r--r--lisp/cmuscheme.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el
index ae4354fbbcf..22a465f5b61 100644
--- a/lisp/cmuscheme.el
+++ b/lisp/cmuscheme.el
@@ -195,6 +195,7 @@ to continue it."
(scheme-mode-variables)
(setq mode-line-process '(":%s"))
(setq comint-input-filter (function scheme-input-filter))
+ (setq-local comint-prompt-read-only t)
(setq comint-get-old-input (function scheme-get-old-input)))
(defcustom inferior-scheme-filter-regexp "\\`\\s *\\S ?\\S ?\\s *\\'"
@@ -237,7 +238,7 @@ is run).
(inferior-scheme-mode)))
(setq scheme-program-name cmd)
(setq scheme-buffer "*scheme*")
- (pop-to-buffer-same-window "*scheme*"))
+ (pop-to-buffer "*scheme*" display-comint-buffer-action))
(defun scheme-start-file (prog)
"Return the name of the start file corresponding to PROG.
@@ -245,7 +246,8 @@ Search in the directories \"~\" and `user-emacs-directory',
in this order. Return nil if no start file found."
(let* ((progname (file-name-nondirectory prog))
(start-file (concat "~/.emacs_" progname))
- (alt-start-file (concat user-emacs-directory "init_" progname ".scm")))
+ (alt-start-file (locate-user-emacs-file
+ (concat "init_" progname ".scm"))))
(if (file-exists-p start-file)
start-file
(and (file-exists-p alt-start-file) alt-start-file))))
@@ -356,7 +358,7 @@ With argument, position cursor at end of buffer."
(interactive "P")
(if (or (and scheme-buffer (get-buffer scheme-buffer))
(scheme-interactively-start-process))
- (pop-to-buffer-same-window scheme-buffer)
+ (pop-to-buffer scheme-buffer display-comint-buffer-action)
(error "No current process buffer. See variable `scheme-buffer'"))
(when eob-p
(push-mark)