(defun scheme2c-abort () (interactive) (comint-send-string (scheme-proc) ":a\n")) (defun scheme2c-back-trace () (interactive) (comint-send-string (scheme-proc) ":b\n")) (defun scheme2c-continue () (interactive) (comint-send-string (scheme-proc) ":c\n")) (defun scheme2c-to-caller () (interactive) (comint-send-string (scheme-proc) ":n\n")) (defun scheme2c-from-caller () (interactive) (comint-send-string (scheme-proc) ":p\n")) (defun scheme2c-up () (interactive) (comint-send-string (scheme-proc) ":<\n")) (defun scheme2c-down () (interactive) (comint-send-string (scheme-proc) ":>\n")) (define-key inferior-scheme-mode-map "\M-a" 'scheme2c-abort) (define-key inferior-scheme-mode-map "\M-b" 'scheme2c-back-trace) (define-key inferior-scheme-mode-map "\M-c" 'scheme2c-continue) ;; M-c is not a prefix in emacs23, so these keybindings are slightly different (define-key inferior-scheme-mode-map "\C-cn" 'scheme2c-to-caller) ; "M-c-n" (define-key inferior-scheme-mode-map "\C-cp" 'scheme2c-from-caller) ; "M-c-p" (define-key inferior-scheme-mode-map "\C-c<" 'scheme2c-up) (define-key inferior-scheme-mode-map "\C-c>" 'scheme2c-down) (define-key inferior-scheme-mode-map "\C-z)" 'check-parens)