summaryrefslogtreecommitdiff
path: root/elisp/geiser-chicken.el
diff options
context:
space:
mode:
authordleslie <dleslie@marvin-linux>2016-09-17 15:00:04 -0700
committerdleslie <dleslie@marvin-linux>2016-09-17 15:04:15 -0700
commit557c72ac19c42147771791c60bc45834943e6d24 (patch)
tree65b12439a2ab9386a4c2922f65925bc86f9238ba /elisp/geiser-chicken.el
parent219abf6230d1379eb302725f28461fda8405b5e3 (diff)
downloadgeiser-guile-557c72ac19c42147771791c60bc45834943e6d24.tar.gz
geiser-guile-557c72ac19c42147771791c60bc45834943e6d24.tar.bz2
Allows Chicken to limit the number of symbols provided to Geiser
- Also cleaned up the namespace a little.
Diffstat (limited to 'elisp/geiser-chicken.el')
-rw-r--r--elisp/geiser-chicken.el19
1 files changed, 13 insertions, 6 deletions
diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index 12ca006..8c10908 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -104,6 +104,11 @@ this variable to t."
:type 'boolean
:group 'geiser-chicken)
+(geiser-custom--defcustom geiser-chicken-match-limit 20
+ "The limit on the number of matching symbols that Chicken will provide to Geiser."
+ :type 'integer
+ :group 'geiser-chicken)
+
(defvar geiser-chicken--required-modules
(list "chicken-doc" "apropos" "data-structures" "extras" "ports" "posix" "srfi-1" "srfi-13" "srfi-14" "srfi-18" "srfi-69" "tcp" "utils"))
@@ -277,17 +282,19 @@ This function uses `geiser-chicken-init-file' if it exists."
(suppression-prefix
"(define geiser-stdout (current-output-port))(current-output-port (make-output-port (lambda a #f) (lambda a #f)))")
(suppression-postfix
- "(current-output-port geiser-stdout)"))
+ "(current-output-port geiser-stdout)")
+ (match-limit-set
+ (format "(geiser-chicken-symbol-match-limit %s)" geiser-chicken-match-limit)))
(let ((load-sequence
(cond
(force-load
- (format "(load \"%s\")\n(import geiser)\n" source))
+ (format "(load \"%s\")\n(import geiser)%s\n" source match-limit-set))
((file-exists-p target)
- (format "%s(load \"%s\")(import geiser)%s\n"
- suppression-prefix target suppression-postfix))
+ (format "%s(load \"%s\")(import geiser)%s%s\n"
+ suppression-prefix target match-limit-set suppression-postfix))
(t
- (format "%s(use utils)(compile-file \"%s\" options: '(\"-O3\" \"-s\") output-file: \"%s\" load: #t)(import geiser)%s\n"
- suppression-prefix source target suppression-postfix)))))
+ (format "%s(use utils)(compile-file \"%s\" options: '(\"-O3\" \"-s\") output-file: \"%s\" load: #t)(import geiser)%s%s\n"
+ suppression-prefix source target match-limit-set suppression-postfix)))))
(geiser-eval--send/wait load-sequence))))
(defun geiser-chicken--startup (remote)