aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilfred Hughes <me@wilfred.me.uk>2019-03-03 23:12:27 +0000
committerWilfred Hughes <me@wilfred.me.uk>2019-03-03 23:12:27 +0000
commita7d2098dfd71f948340f63bb4ba84115725529e3 (patch)
treecdbbd755b26c9dcbf5d5a57accfc0c2a6ed1f283
parentf3ae5a7c7ba92ef5b9d963105b4ad5384ad3cb41 (diff)
Fix docstring rendering when keymap references have their own line
Previously, we'd render "\\<foo-map>\n" as "\n", leading to an unwanted blank line in the output. See `org-capture` (on MELPA) for an example.
-rw-r--r--CHANGELOG.md3
-rw-r--r--helpful.el3
-rw-r--r--test/helpful-unit-test.el11
3 files changed, 15 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6a65421..b2d4866 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
# v0.17 (unreleased)
-No changes yet.
+Fixed a minor docstring formatting issue when keymap references were
+on their own line.
# v0.16
diff --git a/helpful.el b/helpful.el
index 171b84b..05239f0 100644
--- a/helpful.el
+++ b/helpful.el
@@ -972,7 +972,8 @@ unescaping too."
(forward-char 1))
((looking-at
;; Text of the form \\<foo-keymap>
- (rx "\\<" (group (+ (not (in ">")))) ">"))
+ (rx "\\<" (group (+ (not (in ">")))) ">"
+ (? "\n")))
(let* ((symbol-with-parens (match-string 0))
(symbol-name (match-string 1)))
;; Remove the original string.
diff --git a/test/helpful-unit-test.el b/test/helpful-unit-test.el
index 0e660bb..b2653e4 100644
--- a/test/helpful-unit-test.el
+++ b/test/helpful-unit-test.el
@@ -75,6 +75,17 @@
(should
(string-equal formatted-docstring "M-n"))))
+(ert-deftest helpful--docstring-keymap-newline ()
+ "If a keymap reference is on its own line, remove the entire line."
+ (should
+ (string-equal
+ (helpful--format-docstring "Foo.
+\\<minibuffer-local-map>
+bar")
+ "Foo.
+
+bar")))
+
(ert-deftest helpful--docstring-advice ()
"Get the docstring on advised functions."
(should