summaryrefslogtreecommitdiff
path: root/elisp/geiser-chez.el
diff options
context:
space:
mode:
authorLuis Osa <luis.osa.gdc@gmail.com>2019-02-07 22:47:44 +0100
committerLuis Osa <luis.osa.gdc@gmail.com>2019-02-07 22:47:44 +0100
commita70a0c121b8f154c8d9421789bbbe12a4f5ea738 (patch)
treeaf3b078c8694e1c459854df91dd831d77a5b848e /elisp/geiser-chez.el
parent4050ee010f1117051936f274d6dff6ca0a4dc5db (diff)
downloadgeiser-guile-a70a0c121b8f154c8d9421789bbbe12a4f5ea738.tar.gz
geiser-guile-a70a0c121b8f154c8d9421789bbbe12a4f5ea738.tar.bz2
Add geiser-chez-init-file
Add a new customization variable for an init file to be read on startup of a Chez REPL, where user code can be defined. The usage is copied from the equivalent Racket init file, to avoid an error if the file has not been created.
Diffstat (limited to 'elisp/geiser-chez.el')
-rw-r--r--elisp/geiser-chez.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/elisp/geiser-chez.el b/elisp/geiser-chez.el
index ff75e5a..c6f7130 100644
--- a/elisp/geiser-chez.el
+++ b/elisp/geiser-chez.el
@@ -32,6 +32,11 @@
:type '(choice string (repeat string))
:group 'geiser-chez)
+(geiser-custom--defcustom geiser-chez-init-file "~/.chez-geiser"
+ "Initialization file with user code for the Chez REPL."
+ :type 'string
+ :group 'geiser-chez)
+
;;; REPL support:
@@ -43,7 +48,10 @@
(defun geiser-chez--parameters ()
"Return a list with all parameters needed to start Chez Scheme.
This function uses `geiser-chez-init-file' if it exists."
- `(,(expand-file-name "chez/geiser/geiser.ss" geiser-scheme-dir))
+ (let ((init-file) (and (stringp geiser-chez-init-file)
+ (expand-file-name geiser-chez-init-file)))
+ `(,@(and init-file (file-readable-p init-file) (list init-file))
+ ,(expand-file-name "chez/geiser/geiser.ss" geiser-scheme-dir)))
)
(defconst geiser-chez--prompt-regexp "> ")