helpful

a fork of Wilfred's helpful
git clone https://git.trogloxene.org/helpful.git
Log | Files | Refs | README

commit 4ba24cac9fb14d5fdc32582cd947572040e82b2c
parent a835b7ec59004a13f4a09ff127a785a92b957e8f
Author: StrawberryTea <look@strawberrytea.xyz>
Date:   Sat,  6 Jan 2024 04:30:30 -0600

Fix scan-sexps error for C-defined variables

Diffstat:
Mhelpful.el | 5++++-
Mtest/helpful-unit-test.el | 6++++++
2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/helpful.el b/helpful.el @@ -1259,7 +1259,10 @@ If the source code cannot be found, return the sexp used." ;; function. (progn (setq pos (line-beginning-position)) - (forward-list) + ;; HACK Use the elisp syntax table even though the file is a + ;; C file. This is a temporary workaround for issue #329. + (with-syntax-table emacs-lisp-mode-syntax-table + (forward-list)) (forward-char) (narrow-to-region pos (point))) ;; Narrow to the top-level definition. diff --git a/test/helpful-unit-test.el b/test/helpful-unit-test.el @@ -782,6 +782,12 @@ in." (should (s-starts-with-p "(defun " source)))) +(ert-deftest helpful--source-c-fn () + (-let* (((buf pos _opened) (helpful--definition 'mode-line-format nil)) + (source (helpful--source 'mode-line-format nil buf pos))) + (should + (s-starts-with-p "DEFVAR" (s-trim-left source))))) + (ert-deftest helpful--source-autoloaded () "We should include the autoload cookie." (-let* (((buf pos _opened) (helpful--definition #'helpful-at-point t))