summaryrefslogtreecommitdiff
path: root/elisp/geiser-chicken.el
diff options
context:
space:
mode:
authorDan Leslie <dan@ironoxide.ca>2015-05-17 17:14:53 -0700
committerDan Leslie <dan@ironoxide.ca>2015-05-17 17:14:53 -0700
commit7b049cf784bfc06bd90c3ad8b15e2a0304fb55db (patch)
tree7c44be4ed9a9764cc26d97afbeabb1fff782e14a /elisp/geiser-chicken.el
parent62ba8d319880e824dd17bfccb480483aa577109c (diff)
downloadgeiser-chez-7b049cf784bfc06bd90c3ad8b15e2a0304fb55db.tar.gz
geiser-chez-7b049cf784bfc06bd90c3ad8b15e2a0304fb55db.tar.bz2
Various improvements
- Can now optionally compile Geiser components for enormous speed improvements; enabled by default - Apropos was returning many duplicates, which was causing slowdowns; duplicates are now filtered - Now check for #<unspecified> results and return something - Fixed a typo in a comment - Fixed a typo in calling string-length
Diffstat (limited to 'elisp/geiser-chicken.el')
-rw-r--r--elisp/geiser-chicken.el15
1 files changed, 12 insertions, 3 deletions
diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index 90f97fe..cb5dbf8 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -60,6 +60,11 @@ started."
:type '(repeat file)
:group 'geiser-chicken)
+(geiser-custom--defcustom geiser-chicken-compile-geiser-p t
+ "Non-nil means that the Geiser runtime will be compiled on load."
+ :type 'boolean
+ :group 'geiser-chicken)
+
(geiser-custom--defcustom geiser-chicken-init-file "~/.chicken-geiser"
"Initialization file with user code for the Chicken REPL.
If all you want is to load ~/.csirc, set
@@ -259,9 +264,13 @@ This function uses `geiser-chicken-init-file' if it exists."
(defun geiser-chicken--startup (remote)
(compilation-setup t)
- (let ((geiser-log-verbose-p t))
- (geiser-eval--send/wait (format "(use utils)(compile-file \"%s\")\n"
- (expand-file-name "chicken/geiser/emacs.scm" geiser-scheme-dir)))))
+ (let ((geiser-log-verbose-p t)
+ (geiser-chicken-load-file (expand-file-name "chicken/geiser/emacs.scm" geiser-scheme-dir)))
+ (if geiser-chicken-compile-geiser-p
+ (geiser-eval--send/wait (format "(use utils)(compile-file \"%s\")(import geiser)"
+ geiser-chicken-load-file))
+ (geiser-eval--send/wait (format "(load \"%s\")"
+ geiser-chicken-load-file)))))
;;; Implementation definition: