[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-chicken bfccf97 038/102: Fixes for Literals, Errors
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-chicken bfccf97 038/102: Fixes for Literals, Errors and Modules |
Date: |
Sun, 1 Aug 2021 18:26:51 -0400 (EDT) |
branch: elpa/geiser-chicken
commit bfccf97f9477fc47dd89e0ea7f0cb9fb3b5136a8
Author: Dan Leslie <dan@ironoxide.ca>
Commit: Dan Leslie <dan@ironoxide.ca>
Fixes for Literals, Errors and Modules
If literals were present chicken wouldn't provide any autodocumentation
due to an error. Module evaluation was failing due to poor
input. Chicken's Error output was failing to parse
- Filter out all non-symbols from the autodoc set
- Properly escape module names
- Add "Error" to the set of accepted error prefixes
---
geiser/emacs.scm | 37 +++++++++++++++++++++----------------
1 file changed, 21 insertions(+), 16 deletions(-)
diff --git a/geiser/emacs.scm b/geiser/emacs.scm
index 401eb90..f31bba9 100644
--- a/geiser/emacs.scm
+++ b/geiser/emacs.scm
@@ -432,21 +432,20 @@
;; Builds a signature list from an identifier
(define (find-signatures sym)
- (let ((str (->string sym)))
+ (map
+ (cut fmt sym <>)
+ (filter
+ (lambda (v)
+ (eq? (car v) sym))
(map
- (cut fmt sym <>)
- (filter
- (lambda (v)
- (eq? (car v) sym))
- (map
- (lambda (s)
- ;; Remove egg name and add module
- (let-values
- (((name module) (remove-internal-name-mangling (car s))))
- (cons (string->symbol name)
- (cons (if (string? module) (string->symbol module) module)
- (cdr s)))))
- (apropos-information-list sym #:macros? #t))))))
+ (lambda (s)
+ ;; Remove egg name and add module
+ (let-values
+ (((name module) (remove-internal-name-mangling (car s))))
+ (cons (string->symbol name)
+ (cons (if (string? module) (string->symbol module) module)
+ (cdr s)))))
+ (apropos-information-list sym #:macros? #t)))))
;; Builds the documentation from Chicken Doc for a specific symbol
(define (make-doc symbol #!optional (filter-for-type #f))
@@ -482,14 +481,18 @@
geiser-module-exports geiser-module-path geiser-module-location
geiser-module-completions geiser-use-debug-log)))
- (when (and module
- (not (symbol? module)))
+ (define (form-has-any-geiser? form)
+ (string-has-prefix? (->string (car form)) "geiser-"))
+
+ (when (and module (not (symbol? module)))
(error "Module should be a symbol"))
;; All calls start at toplevel
(let* ((is-module? (form-has-module? form))
+ (is-geiser? (form-has-any-geiser? form))
(is-safe-geiser? (form-has-safe-geiser? form))
(host-module (and (not is-module?)
+ (not is-geiser?)
(any (cut equal? module <>) (list-modules))
module))
(thunk (lambda () (eval form))))
@@ -567,6 +570,8 @@
((null? ids) '())
((not (list? ids))
(geiser-autodoc (list ids)))
+ ((not (symbol? (car ids)))
+ (geiser-autodoc (cdr ids)))
(else
(let ((details (find-signatures (car ids))))
(if (null? details)
- [nongnu] elpa/geiser-chicken 0016d96 096/102: Whitespace, (continued)
- [nongnu] elpa/geiser-chicken 0016d96 096/102: Whitespace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 555b25b 100/102: autoloads, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1655717 080/102: Begin the summary lines of all elisp libraries with three semicolons, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 6370805 088/102: add geiser# prefix to geiser calls, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 2127c37 097/102: Fix error when compiling define-library form in Chicken, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken b9b12e0 099/102: version update, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d7d4445 029/102: Refactored to reduce the reliance on regex., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0efe613 026/102: Limits search to the line beginning, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 6743d36 036/102: Stopped over-aggressive memoization, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken e9bebe2 032/102: Adds memoization, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken bfccf97 038/102: Fixes for Literals, Errors and Modules,
Philip Kaludercic <=
- [nongnu] elpa/geiser-chicken 2481dfc 041/102: Right-most character of arguments was being cut, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken c3731bf 047/102: Oops: shell-quote-binary -> shell-quote-argument, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken bc3f877 049/102: Fuzzy matching for Chicken AutoDoc and Completions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d3743db 051/102: Fixes a potential endless loop., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1d3e6de 023/102: Add general font-lock keywords for all implementations, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken c1f5959 053/102: Remove compilation of chicken module, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 975fca9 001/102: Initial Chicken support, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0e84bba 013/102: The issue arose with numerics, as well., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 6adf5fd 018/102: Adds recognition of the 'crunch' R5RS subset, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 67a7bd5 015/102: Merge remote-tracking branch 'dleslie/proper-windows-loading', Philip Kaludercic, 2021/08/01