branch: externals/hyperbole
commit 7d485ab5ff23f448dd6191253d7f12f0768a7d59
Author: Bob Weiner <r...@gnu.org>
Commit: Bob Weiner <r...@gnu.org>

    hbut:act-label: Add to match same func for ebuts and ibuts
---
 ChangeLog |  4 ++++
 hbut.el   | 23 +++++++++++++++++------
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index af5219e739..c096f1508d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-02-12  Bob Weiner  <r...@gnu.org>
+
+* hbut.el (hbut:act-label): Add to match same func for ebuts and ibuts.
+
 2024-02-12  Mats Lidell  <ma...@gnu.org>
 
 * test/hyrolo-tests.el (hyrolo-tests--modify-test-data): Helper for
diff --git a/hbut.el b/hbut.el
index e1884e862e..6131e0ca52 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    18-Sep-91 at 02:57:09
-;; Last-Mod:     11-Feb-24 at 23:43:08 by Mats Lidell
+;; Last-Mod:     12-Feb-24 at 22:12:59 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -132,7 +132,7 @@ Default is the symbol hbut:current."
     (setq ebut 'hbut:current))
   (if (ebut:is-p ebut)
       (hbut:act ebut)
-    (error "(ebut:act): Expected an ebut but got a but of type %s" (hattr:get 
ebut 'categ))))
+    (hypb:error "(ebut:act): Expected an ebut, instead given: `%s'" ebut)))
 
 (defun    ebut:act-label (label)
   "Activate Hyperbole explicit button with LABEL from the current buffer."
@@ -143,7 +143,7 @@ Default is the symbol hbut:current."
         (but (ebut:get lbl-key)))
     (if but
        (hbut:act but)
-      (error "(ebut:act-label): No explicit button labeled: %s" label))))
+      (hypb:error "(ebut:act-label): No explicit button labeled: `%s'" 
label))))
 
 (defun    ebut:alist (&optional file)
   "Return alist of ebuts in FILE or the current buffer.
@@ -1082,7 +1082,18 @@ Default is the symbol hbut:current."
        ((and hbut (symbolp hbut))
         (hypb:error "(hbut:act): Symbol, %s, has invalid Hyperbole button 
attributes:\n  %S" hbut (hattr:list hbut)))
        (t
-        (hypb:error "(hbut:act): Invalid Hyperbole button: %s" hbut))))
+        (hypb:error "(hbut:act): Expected an ibut, instead given: `%s'" 
hbut))))
+
+(defun    hbut:act-label (label)
+  "Activate Hyperbole implicit button with <[LABEL]> from the current buffer."
+  (interactive (list (hargs:read-match "Activate labeled Hyperbole button: "
+                                      (nconc (ebut:alist) (ibut:alist))
+                                      nil t nil 'hbut)))
+  (let* ((lbl-key (hbut:label-to-key label))
+        (but (hbut:get lbl-key)))
+    (if but
+       (hbut:act but)
+      (hypb:error "(hbut:act-label): No implicit button labeled: `%s'" 
label))))
 
 (defun    hbut:action (hbut)
   "Return appropriate action name/function for Hyperbole button symbol HBUT."
@@ -1714,7 +1725,7 @@ Default is the symbol hbut:current."
     (setq ibut 'hbut:current))
   (if (ibut:is-p ibut)
       (hbut:act ibut)
-    (error "(ebut:act): Expected an ibut but got a but of type %s" (hattr:get 
ibut 'categ))))
+    (hypb:error "(ibut:act): Expected an ibut, instead given: `%s'" ibut)))
 
 (defun    ibut:act-label (label)
   "Activate Hyperbole implicit button with <[LABEL]> from the current buffer."
@@ -1725,7 +1736,7 @@ Default is the symbol hbut:current."
         (but (ibut:get lbl-key)))
     (if but
        (hbut:act but)
-      (error "(ibut:act-label): No implicit button labeled: %s" label))))
+      (hypb:error "(ibut:act-label): No implicit button labeled: `%s'" 
label))))
 
 (defun    ibut:alist (&optional file)
   "Return alist of labeled ibuts in FILE or the current buffer.

Reply via email to