diff options
| -rw-r--r-- | README | 2 | ||||
| -rw-r--r-- | doc/cheat.texi | 6 | ||||
| -rw-r--r-- | doc/parens.texi | 4 | ||||
| -rw-r--r-- | elisp/geiser-mode.el | 25 | 
4 files changed, 37 insertions, 0 deletions
| @@ -95,6 +95,8 @@      | C-x C-e     | Eval sexp before point                          |      | C-c C-r     | Eval region                                     |      | C-c M-r     | Eval region and switch to REPL                  | +    | C-c C-b     | Eval buffer                                     | +    | C-c M-b     | Eval buffer and switch to REPL                  |      |-------------+-------------------------------------------------|      | C-c C-m x   | Macro-expand definition around point            |      | C-c C-m e   | Macro-expand sexp before point                  | diff --git a/doc/cheat.texi b/doc/cheat.texi index 76a2330..f027b64 100644 --- a/doc/cheat.texi +++ b/doc/cheat.texi @@ -61,6 +61,12 @@ third key not modified by @key{Control}; e.g.,  @item C-c M-r  @tab @code{geiser-eval-region-and-go}  @tab Eval region and switch to REPL +@item C-c C-b +@tab @code{geiser-eval-buffer} +@tab Eval buffer +@item C-c M-b +@tab @code{geiser-eval-buffer-and-go} +@tab Eval buffer and switch to REPL  @item @tab @tab  @item C-c C-m C-x  @tab @code{geiser-expand-definition} diff --git a/doc/parens.texi b/doc/parens.texi index 3ca9390..869643d 100644 --- a/doc/parens.texi +++ b/doc/parens.texi @@ -451,6 +451,10 @@ way, but it also teleports you to REPL after the evaluation.  region.  Again, there's an @i{and-go} version available,  @code{geiser-eval-region-and-go}, bound to @kbd{C-c M-r}. +@code{geiser-eval-buffer}, bound to @kbd{C-c C-b}, evals the current +buffer.  There is a @i{and-go} version available, +@code{geiser-eval-buffer-and-go}, bound to @kbd{C-c M-b}. +  @cindex evaluating images  @cindex image display  For all the commands above, the result of the evaluation is displayed in diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el index 4d43d1b..b5c10fd 100644 --- a/elisp/geiser-mode.el +++ b/elisp/geiser-mode.el @@ -93,6 +93,29 @@ With prefix, goes to the REPL buffer afterwards (as    (interactive "r")    (geiser-eval-region start end t)) +(defun geiser-eval-buffer (&optional and-go raw nomsg) +  "Eval the current buffer in the Geiser REPL. + +With prefix, goes to the REPL buffer afterwards (as +`geiser-eval-buffer-and-go')" +  (interactive "P") +  (let ((start (point-min)) +        (end (point-max))) +    (save-restriction +      (narrow-to-region start end) +      (check-parens)) +    (geiser-debug--send-region nil +                               start +                               end +                               (and and-go 'geiser--go-to-repl) +                               (not raw) +                               nomsg))) + +(defun geiser-eval-buffer-and-go () +  "Eval the current buffer in the Geiser REPL and visit it afterwads." +  (interactive) +  (geiser-eval-buffer t)) +  (defun geiser-eval-definition (&optional and-go)    "Eval the current definition in the Geiser REPL. @@ -309,6 +332,8 @@ interacting with the Geiser REPL is at your disposal.    ("Eval region" "\C-c\C-r" geiser-eval-region :enable mark-active)    ("Eval region and go" "\C-c\M-r" geiser-eval-region-and-go     geiser-eval-region :enable mark-active) +  ("Eval buffer" "\C-c\C-b" geiser-eval-buffer) +  ("Eval buffer and go" "\C-c\M-b" geiser-eval-buffer-and-go)  ;;  ("Compile definition" "\C-c\M-c" geiser-compile-definition)  ;;  ("Compile definition and go" "\C-c\C-c" geiser-compile-definition-and-go)    (menu "Macroexpand" | 
