diff options
| author | Wilfred Hughes <me@wilfred.me.uk> | 2018-05-22 20:23:32 +0100 |
|---|---|---|
| committer | Wilfred Hughes <me@wilfred.me.uk> | 2018-05-22 20:23:32 +0100 |
| commit | 5d0796faa829aebe7b5f73054e0cfab16b4b0860 (patch) | |
| tree | e5f5720f3cc2802e64390829ba58df7ae32da148 | |
| parent | 8b60a24f330f42ccda8431e7683557455874a3c4 (diff) | |
Show preceding comments and autoload cookies in source0.10
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | helpful.el | 7 | ||||
| -rw-r--r-- | test/unit-test.el | 6 |
3 files changed, 15 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 43ca377..def91be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ Fixed an issue with very large code snippets making helpful hang due to slow syntax highlighting. This was particularly problematic for C functions and variables. +When extracting the source for an item, include preceding comments and +autoload cookies. + # v0.9 Much better handling of aliases: show aliases differently to their @@ -950,7 +950,12 @@ If the source code cannot be found, return the sexp used." (save-excursion (save-restriction (goto-char start-pos) - (narrow-to-defun) + (narrow-to-defun t) + + ;; If there was a preceding comment, START-POS will be + ;; after that comment. Move the position to include that comment. + (setq start-pos (point-min)) + (setq source (buffer-substring-no-properties (point-min) (point-max)))))) (setq source (s-trim-right source)) (when (and source (buffer-file-name buf)) diff --git a/test/unit-test.el b/test/unit-test.el index 910819d..9ccbdfd 100644 --- a/test/unit-test.el +++ b/test/unit-test.el @@ -473,6 +473,12 @@ associated a lambda with a keybinding." (should (s-starts-with-p "(defun " source)))) +(ert-deftest helpful--source-autoloaded () + "We should include the autoload cookie." + (let* ((source (helpful--source #'helpful-at-point t))) + (should + (s-starts-with-p ";;;###autoload" source)))) + (ert-deftest helpful--source--interactively-defined-fn () "We should return the raw sexp for functions where we can't find the source code." |
