diff options
author | jao <jao@gnu.org> | 2021-12-20 20:43:49 +0000 |
---|---|---|
committer | jao <jao@gnu.org> | 2021-12-20 20:43:49 +0000 |
commit | 0a7d55f34f09776a16d3e81521ee8cd081f3b717 (patch) | |
tree | 773d69ea0b3efa23699857243d2872b2052fc8dc /elisp | |
parent | c5f6a8ac9ebdce93d4b551342accd2c85c4f7030 (diff) | |
download | geiser-0a7d55f34f09776a16d3e81521ee8cd081f3b717.tar.gz geiser-0a7d55f34f09776a16d3e81521ee8cd081f3b717.tar.bz2 |
Tweaks for boundary conditions
Like quitting a REPL right after opening it, or calling evaluation
functions in the wrong, non-scheme buffer.
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/geiser-eval.el | 8 | ||||
-rw-r--r-- | elisp/geiser-repl.el | 8 |
2 files changed, 6 insertions, 10 deletions
diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el index f5cbccd..2ee451c 100644 --- a/elisp/geiser-eval.el +++ b/elisp/geiser-eval.el @@ -25,7 +25,6 @@ ;;; Plug-able functions: (defvar-local geiser-eval--get-module-function nil) -(set-default 'geiser-eval--get-module-function nil) (defvar geiser-eval--get-impl-module nil) (geiser-impl--register-local-method @@ -41,7 +40,7 @@ value.") (funcall geiser-eval--get-impl-module module)) (t module))) -(defvar geiser-eval--geiser-procedure-function) +(defvar geiser-eval--geiser-procedure-function nil) (geiser-impl--register-local-method 'geiser-eval--geiser-procedure-function 'marshall-procedure 'identity "Function to translate a bare procedure symbol to one executable @@ -66,14 +65,11 @@ module-exports, autodoc, callers, callees and generic-methods.") (when (not (geiser-eval--supported-p (car args))) (error "Sorry, the %s scheme implementation does not support Geiser's %s" geiser-impl--implementation (car args))) - (apply geiser-eval--geiser-procedure-function args)) + (apply (or geiser-eval--geiser-procedure-function 'ignore) args)) ;;; Code formatting: -(defsubst geiser-eval--debug (cmd) - (geiser-eval--form 'debug (geiser-eval--scheme-str cmd))) - (defsubst geiser-eval--load-file (file) (geiser-eval--form 'load-file (geiser-eval--scheme-str file))) diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 3fd9f92..a6c2e92 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -86,8 +86,8 @@ implementation name gets appended to it." "Whether to skip duplicates when recording history." :type 'boolean) -(geiser-custom--defcustom geiser-repl-save-debugging-history-p nil - "Whether to skip debugging input in REPL history. +(geiser-custom--defcustom geiser-repl-save-debugging-history-p t + "Whether to save debugging input in REPL history. By default, REPL interactions while scheme is in the debugger are not added to the REPL command history. Set this variable to t to @@ -483,8 +483,8 @@ will be set up using `geiser-connect-local' when a REPL is started.") (defun geiser-repl--treat-output-region () (with-silent-modifications - (add-text-properties (1- geiser-repl--last-output-start) - geiser-repl--last-output-end + (add-text-properties (max (point-min) (1- geiser-repl--last-output-start)) + (min geiser-repl--last-output-end (point-max)) `(read-only ,geiser-repl-read-only-output-p)) (geiser-repl--fontify-output-region geiser-repl--last-output-start geiser-repl--last-output-end) |