branch: externals/hyperbole commit a7efb9be796edb4af710c4fbc5307c690437ddb9 Author: bw <r...@gnu.org> Commit: bw <r...@gnu.org>
FAST-DEMO include ert test in file to avoid loading all test files hbut.el (ebut:label-p): For <action> buttons, allow unlimited length button labels since might be an entire long sexpression. hib-debbugs.el (debbugs-gnu-query:list): Debbugs support libary has been renamed from 'debbugs-gnu' to just 'debbugs'. test/hui-tests.el (hui--link-possible-types): Make use .otl rather than .outl file suffix which automatically invokes 'outline-mode'. --- ChangeLog | 14 ++++++++++++++ FAST-DEMO | 18 ++++++++++++++---- hbut.el | 17 ++++++++++++++--- hib-debbugs.el | 4 ++-- hypb-ert.el | 7 +++++-- test/hui-tests.el | 5 ++--- 6 files changed, 51 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 08502460d9..c4c4e97a62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,19 @@ +2023-12-30 Bob Weiner <r...@gnu.org> + +* FAST-DEMO (Action Buttons): Update to include ert test definition within + the file so do not have to load all of the test files to run the demo. + +* hbut.el (ebut:label-p): For <action> buttons, allow unlimited length + button labels since might be an entire long sexpression. + +* hib-debbugs.el (debbugs-gnu-query:list): Debbugs support libary has been renamed + from 'debbugs-gnu' to just 'debbugs'. + 2023-12-29 Bob Weiner <r...@gnu.org> +* test/hui-tests.el (hui--link-possible-types): Make use .otl rather than .outl + file suffix which automatically invokes 'outline-mode'. + * hyrolo.el (hyrolo-to-entry-end): Fix bug where HyRolo fgrep would get stuck in Org buffers without any outline delimiters due to this function moving backwards. diff --git a/FAST-DEMO b/FAST-DEMO index f42c5b4e52..8c0c6982ac 100644 --- a/FAST-DEMO +++ b/FAST-DEMO @@ -341,10 +341,20 @@ pspell-config(1) - prints information about a libpspell installation Display a Hyperbole Koutline starting from cell 3b10 with lines per cell clipped to 2. - <hbut-tests-ibut-insert-kbd-key> - - Run one of the Hyperbole regression tests. Thus, tests defined with - the Emacs Regression Test framework using `ert-deftest' work too. + <ert-deftest hbut-tests-ibut-program-link-to-directory () + "Programmatically create ibut link-to-directory." + (with-temp-buffer + (ibut:program nil 'link-to-directory "/tmp") + (should (string= "\"/tmp\"" (buffer-string))))> + + <hbut-tests-ibut-program-link-to-directory> + + Tests defined with the Emacs Regression Test framework using + `ert-deftest' can be run via action buttons as well. Press {M-RET} + on the first line of each of the two above action buttons, within + the <> delimiters. Start with the first one which defines an ERT + test case; the second one runs it, displaying the result which should + be successful. ** Many More Implicit Button Types to Learn Across Time diff --git a/hbut.el b/hbut.el index cf9809d34e..7b9bd40a65 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: 26-Dec-23 at 23:32:56 by Bob Weiner +;; Last-Mod: 30-Dec-23 at 01:38:30 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -297,7 +297,15 @@ delimiters. With TWO-LINES-FLAG non-nil, constrain label search to two lines." (let ((opoint (point)) (quoted "\\(^\\|[^\\{$]\\)") - (hbut:max-len hbut:max-len) + ;; For <> delimited action buttons which can be long + ;; sexpressions, don't enforce the normal, short button length + ;; limit. Setting this to 0 means unlimited length, assuming + ;; the TWO-LINES-FLAG is nil. + (hbut:max-len + (if (and (string-equal start-delim "<") + (string-equal end-delim ">")) + 0 + hbut:max-len)) npoint start lbl-key end but-start but-end start-regexp end-regexp) (unless start-delim (setq start-delim ebut:label-start)) (unless end-delim (setq end-delim ebut:label-end)) @@ -1773,7 +1781,10 @@ excluding delimiters, not just one." (setq lbl-start-end (if (and start-delim end-delim) (ibut:label-p nil start-delim end-delim t t) (or (ibut:label-p nil "\"" "\"" t t) - (ibut:label-p nil "<" ">" t t) + ;; <action> buttons can be longer + ;; than two lines, so don't limit + ;; the length. + (ibut:label-p nil "<" ">" t) (ibut:label-p nil "{" "}" t t) (ibut:label-p nil "[" "]" t t)))) (when lbl-start-end diff --git a/hib-debbugs.el b/hib-debbugs.el index d395179553..78d17f5d87 100644 --- a/hib-debbugs.el +++ b/hib-debbugs.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 21-Jun-16 at 14:24:53 -;; Last-Mod: 3-Oct-23 at 23:23:16 by Mats Lidell +;; Last-Mod: 30-Dec-23 at 00:13:19 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -189,7 +189,7 @@ used as well in place of `bug'." Each element of the list should be of the form (attribute . attribute-value). Attribute may be a symbol or a string. Common attributes include: status, severity, and package." - (require 'debbugs-gnu) + (require 'debbugs) (setq debbugs-gnu-current-query nil) (dolist (attr query-attribute-list) (add-to-list 'debbugs-gnu-current-query diff --git a/hypb-ert.el b/hypb-ert.el index 639c2f3ede..7f7e5fcc7b 100644 --- a/hypb-ert.el +++ b/hypb-ert.el @@ -3,7 +3,7 @@ ;; Author: Mats Lidell <ma...@gnu.org> and Bob Weiner <r...@gnu.org> ;; ;; Orig-Date: 31-Mar-21 at 21:11:00 -;; Last-Mod: 28-Dec-23 at 15:33:38 by Bob Weiner +;; Last-Mod: 30-Dec-23 at 00:38:40 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -41,7 +41,10 @@ ;; Suppress ert messages so last test case message stays in the minibuffer; ;; 3rd arg message-fn available only in Emacs 27 and earlier (ert selector nil #'hypb-ert-message-function) - (ert selector))) + (ert selector)) + ;; ERT can display a long internal data structure as a result, so + ;; replace it in the minibuffer with a blank message. + (message "")) (defun hypb-ert-run-test (test-name) "Run the specified TEST-NAME ert test." diff --git a/test/hui-tests.el b/test/hui-tests.el index cc67aac880..c059fc5fda 100644 --- a/test/hui-tests.el +++ b/test/hui-tests.el @@ -3,7 +3,7 @@ ;; Author: Mats Lidell <ma...@gnu.org> ;; ;; Orig-Date: 30-Jan-21 at 12:00:00 -;; Last-Mod: 26-Dec-23 at 11:54:57 by Bob Weiner +;; Last-Mod: 30-Dec-23 at 00:00:18 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -1043,11 +1043,10 @@ With point on label suggest that ibut for rename." (hy-delete-file-and-buffer file))) ;; Outline Heading link-to-string-match - (let ((file (make-temp-file "hypb" nil ".outl" "* heading\nbody\n"))) + (let ((file (make-temp-file "hypb" nil ".otl" "* heading\nbody\n"))) (unwind-protect (progn (find-file file) - (outline-mode) (goto-char 1) (hy-test-helpers:ensure-link-possible-type 'link-to-string-match)) (hy-delete-file-and-buffer file)))