emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/hydra 16fa8d109e 24/35: hydra.el (defhydra): Use "__" i


From: ELPA Syncer
Subject: [elpa] externals/hydra 16fa8d109e 24/35: hydra.el (defhydra): Use "__" in docstring to represent a literal "_"
Date: Tue, 25 Oct 2022 22:59:06 -0400 (EDT)

branch: externals/hydra
commit 16fa8d109ec5799931a793b2e866ea9d593bee84
Author: Oleh Krehel <ohwoeowho@gmail.com>
Commit: Oleh Krehel <ohwoeowho@gmail.com>

    hydra.el (defhydra): Use "__" in docstring to represent a literal "_"
    
    * hydra-test.el (hydra-format-11): Add test.
    
    Fixes #366
---
 hydra-test.el | 9 +++++++++
 hydra.el      | 7 +++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/hydra-test.el b/hydra-test.el
index 2019c51801..f3c77ca57e 100644
--- a/hydra-test.el
+++ b/hydra-test.el
@@ -1219,6 +1219,15 @@ _f_ auto-fill-mode:    %`auto-fill-function
        ", ")
       "."))))
 
+(ert-deftest hydra-format-11 ()
+  (should
+   (equal
+    (hydra--format nil '(nil nil :hint nil) "\n_f_ #+begin__src/#+end__src"
+                   '(("f" forward-char nil :exit nil)))
+    '(format
+      "%s #+begin_src/#+end_src"
+      #("f" 0 1 (face hydra-face-red))))))
+
 (ert-deftest hydra-format-with-sexp-1 ()
   (should (equal
            (let ((hydra-fontify-head-function
diff --git a/hydra.el b/hydra.el
index 29b790e4d1..48d71a2d40 100644
--- a/hydra.el
+++ b/hydra.el
@@ -716,11 +716,14 @@ The expressions can be auto-expanded according to NAME."
       (while (setq start
                    (string-match
                     (format
-                     "\\(?:%%\\( 
?-?[0-9]*s?\\)\\(`[a-z-A-Z/0-9]+\\|(\\)\\)\\|\\(?:_%s_\\)\\|\\(?:[?]%s[?]\\)"
+                     "\\(?:%%\\( 
?-?[0-9]*s?\\)\\(`[a-z-A-Z/0-9]+\\|(\\)\\)\\|\\(?:_%s_\\)\\|\\(?:[?]%s[?]\\)\\|__"
                      inner-regex
                      inner-regex)
                     docstring start))
-        (cond ((eq ?? (aref (match-string 0 docstring) 0))
+        (cond ((string= "__" (match-string 0 docstring))
+               (setq docstring (replace-match "_" nil t docstring))
+               (setq start (1- (match-end 0))))
+              ((eq ?? (aref (match-string 0 docstring) 0))
                (let* ((key (match-string 6 docstring))
                       (head (assoc key heads)))
                  (if head



reply via email to

[Prev in Thread] Current Thread [Next in Thread]