diff options
author | jao <jao@gnu.org> | 2021-12-29 16:16:21 +0000 |
---|---|---|
committer | jao <jao@gnu.org> | 2021-12-29 16:17:20 +0000 |
commit | e4175e7b2c012fbefdabad1ee4e96ff8cc25df4e (patch) | |
tree | eecf0b0940b1546d7decb81ff3044aa495431f22 /elisp/geiser-mode.el | |
parent | a910c7f80418fd12058dce3d6c348a752fada032 (diff) | |
download | geiser-e4175e7b2c012fbefdabad1ee4e96ff8cc25df4e.tar.gz geiser-e4175e7b2c012fbefdabad1ee4e96ff8cc25df4e.tar.bz2 |
New function geiser-eval-region/wait
Diffstat (limited to 'elisp/geiser-mode.el')
-rw-r--r-- | elisp/geiser-mode.el | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el index b1df1b6..9ea4d60 100644 --- a/elisp/geiser-mode.el +++ b/elisp/geiser-mode.el @@ -110,7 +110,9 @@ individual sexps." With prefix, goes to the REPL buffer afterwards (as `geiser-eval-region-and-go'). The evaluation is performed asynchronously: this function's return value can be used to wait -for its completion using `geiser-eval-wait'." +for its completion using `geiser-eval-wait'. See also +`geiser-eval-region/wait' if you just need to eval a region +programmatically in a synchronous way." (interactive "rP") (save-restriction (narrow-to-region start end) @@ -122,6 +124,12 @@ for its completion using `geiser-eval-wait'." (not raw) nomsg)) +(defun geiser-eval-region/wait (start end &optional timeout) + "Like `geiser-eval-region', but waiting for the evaluation to finish. +Returns its raw result, rather than displaying it. TIMEOUT is the +number of seconds to wait for the evaluation to finish." + (geiser-debug--send-region/wait nil start end (* 1000 (or timeout 10)))) + (defun geiser-eval-region-and-go (start end) "Eval the current region in the Geiser REPL and visit it afterwads." (interactive "r") |