diff options
| -rw-r--r-- | elisp/geiser-autodoc.el | 21 | ||||
| -rw-r--r-- | elisp/geiser-edit.el | 4 | ||||
| -rw-r--r-- | elisp/geiser-reload.el | 2 | 
3 files changed, 14 insertions, 13 deletions
diff --git a/elisp/geiser-autodoc.el b/elisp/geiser-autodoc.el index f9db008..51bad79 100644 --- a/elisp/geiser-autodoc.el +++ b/elisp/geiser-autodoc.el @@ -12,6 +12,7 @@  ;;; Code: +(require 'geiser-edit)  (require 'geiser-eval)  (require 'geiser-syntax)  (require 'geiser-custom) @@ -178,16 +179,16 @@ you can set this variable to nil to avoid them."  (defun geiser-autodoc--autodoc (path callback &optional signs)    (let ((signs (or signs -                   (geiser-autodoc--get-signatures (mapcar 'car path) callback))) -        (p (car path)) -        (s)) -    (if callback -        t -      (while (and p (not s)) -        (unless (setq s (cdr (assoc (car p) signs))) -          (setq p (car path)) -          (setq path (cdr path)))) -      (when s (geiser-autodoc--str p s))))) +                   (geiser-autodoc--get-signatures (mapcar 'car path) callback)))) +    (or (and callback t) +        (let ((p (car path)) +              (s)) +          (while (and p (not s)) +            (setq s (or (cdr (assoc (car p) signs)) +                        (cdr (geiser-edit--find-def (car p))))) +            (setq p (car path) path (cdr path))) +          (cond ((stringp s) s) +                (s (geiser-autodoc--str p s)))))))  ;;; Autodoc functions: diff --git a/elisp/geiser-edit.el b/elisp/geiser-edit.el index 165e0fc..ee85bdf 100644 --- a/elisp/geiser-edit.el +++ b/elisp/geiser-edit.el @@ -88,7 +88,7 @@ or following links in error buffers.")    (regexp-opt '("define-syntaxes" "define-values")))  (defsubst geiser-edit--def-re (thing) -  (format "(%s +(?%s\\_>" +  (format "(%s *[( ]\\(%s\\_>[^)]*\\)[ )\n]"            geiser-edit--def-re            (regexp-quote (format "%s" thing)))) @@ -102,7 +102,7 @@ or following links in error buffers.")      (goto-char (point-min))      (when (or (re-search-forward (geiser-edit--def-re symbol) nil t)                (re-search-forward (geiser-edit--def-re* symbol) nil t)) -      (cons (match-beginning 0) (match-string-no-properties 0))))) +      (cons (match-beginning 0) (match-string 1)))))  (defsubst geiser-edit--symbol-re (thing)    (format "\\_<%s\\_>" (regexp-quote (format "%s" thing)))) diff --git a/elisp/geiser-reload.el b/elisp/geiser-reload.el index bd4d1a3..1e58e94 100644 --- a/elisp/geiser-reload.el +++ b/elisp/geiser-reload.el @@ -30,9 +30,9 @@             geiser-xref             geiser-compile             geiser-debug -           geiser-edit             geiser-completion             geiser-autodoc +           geiser-edit             geiser-eval             geiser-connection             geiser-syntax  | 
