diff options
author | John Whitbeck <john@whitbeck.net> | 2017-11-03 02:08:21 +0100 |
---|---|---|
committer | John Whitbeck <john@whitbeck.net> | 2017-11-03 02:25:38 +0100 |
commit | da22a526c1f683a90bb60840d05a6bb5f3a74ffe (patch) | |
tree | 0dea5b394d980ee648b8d7679d3623ad6e2448f3 /scheme | |
parent | c266950549a7a0841bf21e092fba632a1e061187 (diff) | |
download | geiser-guile-da22a526c1f683a90bb60840d05a6bb5f3a74ffe.tar.gz geiser-guile-da22a526c1f683a90bb60840d05a6bb5f3a74ffe.tar.bz2 |
Support Chicken Scheme apropos =>2.3.0
Chicken Scheme's apropos egg changed the identifiers in the return value
of the `apropos-information-list` from `module#name` to `(module
. name)`. This commit adds support for the new identifiers.
Diffstat (limited to 'scheme')
-rw-r--r-- | scheme/chicken/geiser/emacs.scm | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/scheme/chicken/geiser/emacs.scm b/scheme/chicken/geiser/emacs.scm index d31d801..d60cbb9 100644 --- a/scheme/chicken/geiser/emacs.scm +++ b/scheme/chicken/geiser/emacs.scm @@ -244,8 +244,9 @@ '(symbol-information-list) (lambda () (map (lambda (lst) - (let-values (((name module) (remove-internal-name-mangling (car lst)))) - (append (list name module) (cdr lst)))) + (let* ((module (if (eq? (string->symbol "") (caar lst)) #f (symbol->string (caar lst)))) + (name (symbol->string (cdar lst)))) + (append (list name module) (cdr lst)))) (apropos-information-list "" #:macros? #t))))) (define (find-symbol-information prefix) @@ -276,14 +277,6 @@ (file-write (debug-log) (with-all-output-to-string (lambda () (write form) (newline)))) (file-write (debug-log) "\n"))) - (define (remove-internal-name-mangling sym) - (let* ((sym (symbol->string sym)) - (octothorpe-index (string-index-right sym #\#))) - (if octothorpe-index - (values (substring/shared sym (add1 octothorpe-index)) - (substring/shared sym 0 octothorpe-index)) - (values sym #f)))) - (define (string-has-prefix? s prefix) (cond ((= 0 (string-length prefix)) #t) |