summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2021-12-20 20:43:49 +0000
committerjao <jao@gnu.org>2021-12-20 20:43:49 +0000
commit0a7d55f34f09776a16d3e81521ee8cd081f3b717 (patch)
tree773d69ea0b3efa23699857243d2872b2052fc8dc
parentc5f6a8ac9ebdce93d4b551342accd2c85c4f7030 (diff)
downloadgeiser-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.
-rw-r--r--elisp/geiser-eval.el8
-rw-r--r--elisp/geiser-repl.el8
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)