From e1d71dba94593708c85971db56dd842473ca31a7 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Mon, 30 Aug 2010 01:14:32 +0200 Subject: More docs and a function renamed. --- doc/fun.texi | 20 ++++++++++++++------ doc/img/eval-error.png | Bin 0 -> 23930 bytes doc/img/geiser-mode.png | Bin 38574 -> 62445 bytes elisp/geiser-edit.el | 2 +- elisp/geiser-mode.el | 2 +- 5 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 doc/img/eval-error.png diff --git a/doc/fun.texi b/doc/fun.texi index e56af68..b2a0e5f 100644 --- a/doc/fun.texi +++ b/doc/fun.texi @@ -340,7 +340,10 @@ region. Again, there's an @i{and go} version available, For all the commands above, the result of the evaluation is displayed in the minibuffer, unless it causes a (scheme-side) error, in which case Geiser will report the problem by opening a debug buffer with -information on what went wrong. +information on what went wrong (Racket) or jump into the debugger when +the REPL provides such a beast (Guile). + +@image{img/eval-error} At the risk of repeating myself, i'll remember you that all these evaluations will take place in the namespace of the module corresponding @@ -357,18 +360,23 @@ buffer. When an error occurs during evaluation, you'll be presented with a backtrace, in a new buffer where file paths locating the origin of the -error are clickable (you can navigate them using the @key{TAB} key). +error are clickable (you can navigate them using the @key{TAB} key, and +use @key{RET} or the mouse to jump to the offending spot). @node Jumping around, Geiser writes for you, Evaluating Scheme code, Fun between the parens @section Jumping around -This one feature is as sweet as easy to explain: @kbd{M-.} will open the -file where the identifier around point is defined and land your point on -its definition. To return to where you were, press @kbd{M-,}. +This one feature is as sweet as easy to explain: @kbd{M-.} +(@code{geiser-edit-symbol-at-point}) will open the file where the +identifier around point is defined and land your point on its +definition. To return to where you were, press @kbd{M-,} +(@code{geiser-pop-symbol-stack}).. Sometimes, the underlying Scheme will tell Geiser only the file where the symbol is defined, but Geiser will use some heuristics (read, -regular expressions) to locate the exact line and bring you there. +regular expressions) to locate the exact line and bring you there. Thus, +if you find Geiser systematically missing your definitions, send a +message to the mailing list and we'll try to make the algorithm smarter. You can control how the destination buffer pops up by setting @code{geiser-edit-symbol-method} to either @code{nil} (to open the file diff --git a/doc/img/eval-error.png b/doc/img/eval-error.png new file mode 100644 index 0000000..fb57912 Binary files /dev/null and b/doc/img/eval-error.png differ diff --git a/doc/img/geiser-mode.png b/doc/img/geiser-mode.png index 1322a6d..6e6e564 100644 Binary files a/doc/img/geiser-mode.png and b/doc/img/geiser-mode.png differ diff --git a/elisp/geiser-edit.el b/elisp/geiser-edit.el index 563d8c6..e63a91b 100644 --- a/elisp/geiser-edit.el +++ b/elisp/geiser-edit.el @@ -168,7 +168,7 @@ With prefix, asks for the symbol to edit." (geiser-edit--try-edit symbol (geiser-eval--send/wait cmd)) (when marker (ring-insert find-tag-marker-ring marker)))) -(defun geiser-edit-pop-edit-symbol-stack () +(defun geiser-pop-symbol-stack () "Pop back to where \\[geiser-edit-symbol-at-point] was last invoked." (interactive) (condition-case nil diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el index 32bc4a9..7a47c46 100644 --- a/elisp/geiser-mode.el +++ b/elisp/geiser-mode.el @@ -250,7 +250,7 @@ interacting with the Geiser REPL is at your disposal. -- ("Edit symbol at point" "\M-." geiser-edit-symbol-at-point :enable (symbol-at-point)) - ("Go to previous definition" "\M-," geiser-edit-pop-edit-symbol-stack) + ("Go to previous definition" "\M-," geiser-pop-symbol-stack) ("Complete symbol" ((kbd "M-TAB")) geiser-completion--complete-symbol :enable (symbol-at-point)) ("Complete module name" ((kbd "M-`") (kbd "C-.")) -- cgit v1.2.3