diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-12-11 02:47:56 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-12-11 02:47:56 +0100 |
commit | 08e2e3fbda3092dea615d024e408d400ae8b2493 (patch) | |
tree | 9ee970740a84a64cabdb24d8e30b1e9b10ce4d8b | |
parent | fb6708e749fc42724ec821d9e12c7e7154be4372 (diff) | |
download | geiser-08e2e3fbda3092dea615d024e408d400ae8b2493.tar.gz geiser-08e2e3fbda3092dea615d024e408d400ae8b2493.tar.bz2 |
Print long expressions after errors in debug buffer.
You won't believe it, but people write procedures spanning several
pages, even in Scheme. Where's the art and the poetry of programming?
-rw-r--r-- | elisp/geiser-debug.el | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/elisp/geiser-debug.el b/elisp/geiser-debug.el index 9266eb3..25391db 100644 --- a/elisp/geiser-debug.el +++ b/elisp/geiser-debug.el @@ -81,19 +81,25 @@ buffer.") (jump nil) (dir default-directory) (buffer (current-buffer)) - (debug (eq key 'geiser-debugger))) + (debug (eq key 'geiser-debugger)) + (lines (with-temp-buffer + (insert what) + (count-lines (point-min) (point-max)))) + (after (> lines 5))) (when debug (switch-to-geiser nil nil buffer) (geiser-debug--enter-debugger impl)) (geiser-debug--with-buffer (erase-buffer) (when dir (setq default-directory dir)) - (insert what) - (newline 2) + (unless after + (insert what) + (newline 2)) (when (and res (not err)) (insert res) (newline 2)) (setq jump (geiser-debug--display-error impl module key output)) + (when after (insert "\nExpression evaluated was:\n\n" what)) (goto-char (point-min))) (when jump (geiser-debug--pop-to-buffer)))) |