;; Copyright (C) 1986, 1987, 1989, 1990 Free Software Foundation, Inc.
+;; Maintainer: FSF
+;; Keywords: languages, lisp
+
;; 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 1, or (at your option)
+;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;;; Requires C-Scheme release 5 or later
-;;; Changes to Control-G handler require runtime version 13.85 or later
+;;; Commentary:
+
+;; A major mode for editing Scheme and interacting with MIT's C-Scheme.
+;;
+;; Requires C-Scheme release 5 or later
+;; Changes to Control-G handler require runtime version 13.85 or later
-;;; $Header: xscheme.el,v 1.26 90/09/11 01:51:20 GMT cph Exp $
+;;; Code:
(require 'scheme)
\f
(xscheme-evaluation-commands scheme-mode-map)
(xscheme-interrupt-commands scheme-mode-map)
\f
-;;;###autoload
(defun run-scheme (command-line)
- "Run an inferior Scheme process.
+ "Run MIT Scheme in an inferior process.
Output goes to the buffer `*scheme*'.
With argument, asks for a command line."
(interactive
(read-string "Run Scheme: " default)
default))))
(setq xscheme-process-command-line command-line)
- (switch-to-buffer (xscheme-start-process command-line)))
+ (pop-to-buffer (xscheme-start-process command-line)))
(defun reset-scheme ()
"Reset the Scheme process."
(defun xscheme-set-runlight (runlight)
(setq xscheme-runlight-string runlight)
- (xscheme-modeline-redisplay))
-
-(defun xscheme-modeline-redisplay ()
- (save-excursion (set-buffer (other-buffer)))
- (set-buffer-modified-p (buffer-modified-p))
- (sit-for 0))
+ (force-mode-line-update t))
\f
;;;; Process Filter Operations
(setq xscheme-prompt string)
(xscheme-guarantee-newlines 2)
(setq xscheme-mode-string (xscheme-coerce-prompt string))
- (xscheme-modeline-redisplay))
+ (force-mode-line-update t))
(defun xscheme-output-goto ()
(xscheme-goto-output-point)
(if (nth 2 state) 'many 'one)))))
(set-syntax-table old-syntax-table)))))
+(provide 'xscheme)
+
;;; xscheme.el ends here