From 7b049cf784bfc06bd90c3ad8b15e2a0304fb55db Mon Sep 17 00:00:00 2001 From: Dan Leslie Date: Sun, 17 May 2015 17:14:53 -0700 Subject: 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 # results and return something - Fixed a typo in a comment - Fixed a typo in calling string-length --- elisp/geiser-chicken.el | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'elisp') 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: -- cgit v1.2.3