diff options
author | Dan Leslie <dan@ironoxide.ca> | 2015-05-17 17:14:53 -0700 |
---|---|---|
committer | Dan Leslie <dan@ironoxide.ca> | 2015-05-17 17:14:53 -0700 |
commit | 7b049cf784bfc06bd90c3ad8b15e2a0304fb55db (patch) | |
tree | 7c44be4ed9a9764cc26d97afbeabb1fff782e14a /elisp | |
parent | 62ba8d319880e824dd17bfccb480483aa577109c (diff) | |
download | geiser-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')
-rw-r--r-- | elisp/geiser-chicken.el | 15 |
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: |