Function: xscheme-start-process

xscheme-start-process is a byte-compiled function defined in xscheme.el.gz.

Signature

(xscheme-start-process COMMAND-LINE THE-PROCESS THE-BUFFER)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/xscheme.el.gz
;;;; Basic Process Control

(defun xscheme-start-process (command-line the-process the-buffer)
  (let ((buffer (get-buffer-create the-buffer)))
    (let ((process (get-buffer-process buffer)))
      (with-current-buffer buffer
	(if (and process (memq (process-status process) '(run stop)))
	    (set-marker (process-mark process) (point-max))
	    (progn (if process (delete-process process))
		   (goto-char (point-max))
		   (scheme-interaction-mode nil)
		   (setq xscheme-process-name the-process)
		   (if (bobp)
		       (insert-before-markers
			(substitute-command-keys xscheme-startup-message)))
		   (setq process
			 (let ((process-connection-type nil))
			   (apply 'start-process
				  (cons the-process
					(cons buffer
					      (xscheme-parse-command-line
					       command-line))))))
		   (if (not (equal (process-name process) the-process))
		       (setq xscheme-process-name (process-name process)))
		   (if (not (equal (buffer-name buffer) the-buffer))
		       (setq xscheme-buffer-name (buffer-name buffer)))
		   (message "Starting process %s in buffer %s"
			    xscheme-process-name
			    xscheme-buffer-name)
		   (set-marker (process-mark process) (point-max))
		   (xscheme-process-filter-initialize t)
		   (xscheme-mode-line-initialize xscheme-buffer-name)
		   (set-process-sentinel process 'xscheme-process-sentinel)
		   (set-process-filter process 'xscheme-process-filter)
		   (run-hooks 'xscheme-start-hook)))))
    buffer))