diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-01-28 14:53:33 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-01-28 14:53:33 +0100 |
commit | bdda30e6f263f7142f2f33a8be2545d3061fb598 (patch) | |
tree | 7373d0e4bc2cb2fffd35296cecfa07b74c59e59b /elisp/geiser-repl.el | |
parent | dd0ef53303074c1217363d363c1cccc6fcad6dc7 (diff) | |
download | geiser-chez-bdda30e6f263f7142f2f33a8be2545d3061fb598.tar.gz geiser-chez-bdda30e6f263f7142f2f33a8be2545d3061fb598.tar.bz2 |
Generic support for debugging prompts in the REPL
Diffstat (limited to 'elisp/geiser-repl.el')
-rw-r--r-- | elisp/geiser-repl.el | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index da6eca1..9bff115 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -1,6 +1,6 @@ ;;; geiser-repl.el --- Geiser's REPL -;; Copyright (C) 2009 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010 Jose Antonio Ortega Ruiz ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the Modified BSD License. You should @@ -132,6 +132,11 @@ arguments to be used when invoking the scheme binary.") "A variable (or thunk returning a value) giving the regular expression for this implementation's scheme prompt.") +(geiser-impl--define-caller + geiser-repl--debugger-prompt-regexp debugger-prompt-regexp () + "A variable (or thunk returning a value) giving the regular +expression for this implementation's debugging prompt.") + (geiser-impl--define-caller geiser-repl--startup startup () "Function taking no parameters that is called after the REPL has been initialised. All Geiser functionality is available to @@ -143,14 +148,16 @@ you at that point.") (let ((binary (geiser-repl--binary impl)) (args (geiser-repl--arglist impl)) (prompt-rx (geiser-repl--prompt-regexp impl)) + (deb-prompt-rx (geiser-repl--debugger-prompt-regexp impl)) (cname (geiser-repl--repl-name impl))) (unless (and binary prompt-rx) (error "Sorry, I don't know how to start a REPL for %s" impl)) (set (make-local-variable 'comint-prompt-regexp) prompt-rx) - (apply 'make-comint-in-buffer `(,cname ,(current-buffer) ,binary nil ,@args)) + (apply 'make-comint-in-buffer + `(,cname ,(current-buffer) ,binary nil ,@args)) (geiser-repl--wait-for-prompt 10000) (geiser-repl--history-setup) - (geiser-con--setup-connection (current-buffer) prompt-rx) + (geiser-con--setup-connection (current-buffer) prompt-rx deb-prompt-rx) (add-to-list 'geiser-repl--repls (current-buffer)) (geiser-repl--set-this-buffer-repl (current-buffer)) (geiser-repl--startup impl))) @@ -305,6 +312,7 @@ If no REPL is running, execute `run-geiser' to start a fresh one." (set-syntax-table scheme-mode-syntax-table) (setq geiser-eval--get-module-function 'geiser-repl--module-function) (when geiser-repl-autodoc-p (geiser-autodoc-mode 1)) + (setq geiser-autodoc--inhibit-function 'geiser-con--is-debugging) (geiser-company--setup geiser-repl-company-p) ;; enabling compilation-shell-minor-mode without the annoying highlighter (compilation-setup t)) |