branch: externals/transient
commit 66be2fa4c80577646c549bfc592deddbb97c1b7a
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>

    transient-get-summary: New generic function
    
    Replacing `transient-show-summary', which wasn't a good fit,
    considering that one of the two callers had to use non-nil
    RETURN argument to prevent the summary from being shown in
    the echo area.
---
 lisp/transient.el | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 591253c77e..766bffc802 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -5238,8 +5238,8 @@ The current level of this menu is %s, so
                     'face 'transient-disabled-suffix)
         (propertize " 0 " 'face 'transient-disabled-suffix))))))
 
-(cl-defgeneric transient-show-summary (obj &optional return)
-  "Show brief summary about the command at point in the echo area.
+(cl-defgeneric transient-get-summary (obj)
+  "Return brief summary about the menu element at point.
 
 If OBJ's `summary' slot is a string, use that.  If it is a function,
 call that with OBJ as the only argument and use the returned string.
@@ -5250,13 +5250,13 @@ of the documentation string, if any.
 If RETURN is non-nil, return the summary instead of showing it.
 This is used when a tooltip is needed.")
 
-(cl-defmethod transient-show-summary ((_obj transient-prefix) &optional 
_return))
+(cl-defmethod transient-get-summary ((_obj transient-prefix)))
 
-(cl-defmethod transient-show-summary ((_obj transient-group) &optional 
_return))
+(cl-defmethod transient-get-summary ((_obj transient-group)))
 
-(cl-defmethod transient-show-summary ((_obj transient-information) &optional 
_return))
+(cl-defmethod transient-get-summary ((_obj transient-information)))
 
-(cl-defmethod transient-show-summary ((obj transient-suffix) &optional return)
+(cl-defmethod transient-get-summary ((obj transient-suffix))
   (with-slots (command summary) obj
     (when-let*
         ((doc (cond ((functionp summary)
@@ -5269,12 +5269,9 @@ This is used when a tooltip is needed.")
                        (car (split-string (documentation
                                            'transient--default-infix-command)
                                           "\n"))))))
-      (when (string-suffix-p "." doc)
-        (setq doc (substring doc 0 -1)))
-      (if return
-          doc
-        (let ((message-log-max nil))
-          (message "%s" doc))))))
+      (if (string-suffix-p "." doc)
+          (substring doc 0 -1)
+        doc))))
 
 ;;; Menu Navigation
 
@@ -5313,12 +5310,13 @@ See `forward-button' for information about N."
 (defun transient--button-move-echo ()
   (when-let ((_(eq transient-enable-menu-navigation 'verbose))
              (obj (get-text-property (point) 'button-data)))
-    (transient-show-summary obj)))
+    (let ((message-log-max nil))
+      (message "%s" (or (transient-get-summary obj) "")))))
 
 (defun transient--button-help-echo (win buf pos)
   (with-selected-window win
     (with-current-buffer buf
-      (transient-show-summary (get-text-property pos 'button-data) t))))
+      (transient-get-summary (get-text-property pos 'button-data)))))
 
 (define-button-type 'transient
   'face nil

Reply via email to