From c437b1eca906f9c06eb5acef49f84bc4a87d2b8b Mon Sep 17 00:00:00 2001 From: jao Date: Sun, 16 Oct 2022 02:59:54 +0100 Subject: fallback autodoc inferred via cheap regexps same code that finds putative definitions, with all its caveats --- elisp/geiser-autodoc.el | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'elisp/geiser-autodoc.el') 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: -- cgit v1.2.3