summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-03-08 02:14:35 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-03-08 02:14:35 +0100
commit32e7fbd6626e7a6be1e325277684b251febbe431 (patch)
treee049f405b0fdec5e5287054012bd6675c99f4981
parente8d1ca57ee4fca4cca1bc534d970a4f23e1b2cab (diff)
downloadgeiser-guile-32e7fbd6626e7a6be1e325277684b251febbe431.tar.gz
geiser-guile-32e7fbd6626e7a6be1e325277684b251febbe431.tar.bz2
Guile: 'bt' when entering the debugger.
-rw-r--r--elisp/geiser-guile.el25
1 files changed, 14 insertions, 11 deletions
diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index b4a27bf..b359dcc 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -107,7 +107,8 @@ This function uses `geiser-guile-init-file' if it exists."
(if (file-name-absolute-p file) file
(or (gethash file geiser-guile--file-cache)
(puthash file
- (geiser-eval--send/result `(:eval ((:ge find-file) ,file)))
+ (geiser-eval--send/result
+ `(:eval ((:ge find-file) ,file)))
geiser-guile--file-cache)))))
(defconst geiser-guile--file-rx
@@ -126,16 +127,18 @@ This function uses `geiser-guile-init-file' if it exists."
(geiser-edit--make-link beg end file line 0))))))))
(defun geiser-guile--display-error (module key msg)
- (when key
- (insert "Error: ")
- (geiser--insert-with-face (format "%s" key) 'bold)
- (newline 2))
- (when msg
- (let ((p (point)))
- (insert msg)
- (goto-char p)
- (geiser-guile--find-files)))
- t)
+ (if (eq key 'geiser-debugger)
+ (comint-send-string nil "bt\n")
+ (when key
+ (insert "Error: ")
+ (geiser--insert-with-face (format "%s" key) 'bold)
+ (newline 2))
+ (when msg
+ (let ((p (point)))
+ (insert msg)
+ (goto-char p)
+ (geiser-guile--find-files)))
+ t))
;;; Trying to ascertain whether a buffer is Guile Scheme: