[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-chicken 1c969ee 058/102: Allows Chicken to limit th
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-chicken 1c969ee 058/102: Allows Chicken to limit the number of symbols provided to Geiser |
Date: |
Sun, 1 Aug 2021 18:26:55 -0400 (EDT) |
branch: elpa/geiser-chicken
commit 1c969ee2b04d0ab8b1c0cd73d3091aefd7b08df1
Author: dleslie <dleslie@marvin-linux>
Commit: dleslie <dleslie@marvin-linux>
Allows Chicken to limit the number of symbols provided to Geiser
- Also cleaned up the namespace a little.
---
geiser/emacs.scm | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/geiser/emacs.scm b/geiser/emacs.scm
index 6b7124f..d31d801 100644
--- a/geiser/emacs.scm
+++ b/geiser/emacs.scm
@@ -27,8 +27,9 @@
geiser-module-location
geiser-module-completions
geiser-macroexpand
- geiser-use-debug-log
- geiser-load-paths)
+ geiser-chicken-use-debug-log
+ geiser-chicken-load-paths
+ geiser-chicken-symbol-match-limit)
(import chicken scheme)
(use
@@ -51,6 +52,9 @@
;; Symbol lists
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ (define geiser-chicken-symbol-match-limit
+ (make-parameter 20))
+
(define geiser-r4rs-symbols
(make-parameter
'(not boolean? eq? eqv? equal? pair? cons car cdr caar cadr cdar cddr
@@ -213,7 +217,7 @@
;; Utilities
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (define geiser-use-debug-log (make-parameter #f))
+ (define geiser-chicken-use-debug-log (make-parameter #f))
(define find-module ##sys#find-module)
(define current-module ##sys#current-module)
@@ -245,13 +249,18 @@
(apropos-information-list "" #:macros? #t)))))
(define (find-symbol-information prefix)
+ (define (filter/limit pred? limit lst)
+ (cond
+ ((<= limit 0) '())
+ ((or (null? lst) (not (list? lst))) '())
+ ((pred? (car lst)) (cons (car lst) (filter/limit pred? (- limit 1) (cdr
lst))))
+ (else (filter/limit pred? limit (cdr lst)))))
(define (find-symbol-information* prefix skipped)
- (let ((found (filter
+ (let ((found (filter/limit
(lambda (info)
(string-has-prefix? (car info) prefix))
- (symbol-information-list))))
- ;; (if (and (null? found) (< 1 (string-length prefix)))
- ;; (find-symbol-information* (substring/shared prefix 1)
(string-append skipped (substring prefix 0 1))))
+ (geiser-chicken-symbol-match-limit)
+ (symbol-information-list))))
(cons found skipped)))
(memoize
`(find-symbol-information ,prefix)
@@ -260,7 +269,7 @@
(define debug-log (make-parameter #f))
(define (write-to-log form)
- (when (geiser-use-debug-log)
+ (when (geiser-chicken-use-debug-log)
(when (not (debug-log))
(debug-log (file-open "geiser.log" (+ open/wronly open/append open/text
open/creat)))
(set-file-position! (debug-log) 0 seek/end))
@@ -508,7 +517,7 @@
geiser-autodoc geiser-object-signature geiser-symbol-location
geiser-symbol-documentation geiser-module-exports
geiser-module-path geiser-module-location
- geiser-module-completions geiser-use-debug-log)))
+ geiser-module-completions geiser-chicken-use-debug-log)))
(define (form-has-any-geiser? form)
(string-has-prefix? (->string (car form)) "geiser-"))
@@ -637,11 +646,11 @@
;; File and Buffer Operations
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (define geiser-load-paths (make-parameter '("" ".")))
+ (define geiser-chicken-load-paths (make-parameter '("" ".")))
(define (geiser-find-file file . rest)
(when file
- (let ((paths (geiser-load-paths)))
+ (let ((paths (geiser-chicken-load-paths)))
(define (try-find file paths)
(cond
((null? paths) #f)
@@ -660,7 +669,7 @@
(call-with-result #f
(lambda ()
(when (directory-exists? directory)
- (geiser-load-paths (cons directory (geiser-load-paths))))))))
+ (geiser-chicken-load-paths (cons directory
(geiser-chicken-load-paths))))))))
(define (geiser-compile-file file . rest)
(let* ((file (if (symbol? file) (symbol->string file) file))
- [nongnu] elpa/geiser-chicken 9b9b180 039/102: Fixes for Literals, Errors and Modules, (continued)
- [nongnu] elpa/geiser-chicken 9b9b180 039/102: Fixes for Literals, Errors and Modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 935a114 040/102: Allows redefinition of modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 95d19aa 044/102: Minor changes to help with debugging completions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 2098767 046/102: Quoting binary on version checks (issue #117), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 42b18d5 045/102: Minor cleanup, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1ff0274 048/102: Performance Improvements, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0bcd595 050/102: Fuzzy matching for Chicken AutoDoc and Completions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 5cc0dd2 052/102: Fix for #127, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 402e1bc 054/102: Minor typo, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken fc0c8e6 056/102: Disable aggressive prefix assumption, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1c969ee 058/102: Allows Chicken to limit the number of symbols provided to Geiser,
Philip Kaludercic <=
- [nongnu] elpa/geiser-chicken 26b1f56 059/102: Use (car (process-lines ...)) instead of (shell-command ...), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 17a3799 062/102: Removed rate limit setting., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken a35ce4e 065/102: Chicken 5 works with Geiser, many features removed, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d69c1ea 069/102: Removed more unused code, speeding things up., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken c85d953 071/102: Only check for specific chicken words, not all their keywords., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 3486915 075/102: geiser-chicken.el: Use a more stable API to get CHICKEN's version, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0740b46 076/102: Checking Chicken's version with the proper invocation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 2caa284 072/102: Fixes autodoc in Chicken, #258, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d1abcb1 074/102: geiser-chicken.el: Fix jao's name, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken a6f88ca 081/102: Mark the beginning of code part of elisp libraries with Code: heading, Philip Kaludercic, 2021/08/01