branch: externals/hyperbole commit b3b019da772c74a1c26f9653486dc4159c5606d9 Author: bw <r...@gnu.org> Commit: bw <r...@gnu.org>
hywiki-word-at - Remove HyWikiWord highlighting, do elsewhere --- ChangeLog | 8 ++++++++ hui-select.el | 25 +++++++++++-------------- hycontrol.el | 6 +++--- hyrolo-logic.el | 20 +++++++++++--------- kotl/klink.el | 25 +++++++++++-------------- man/hyperbole.texi | 47 +++++++++++++++++++++++------------------------ 6 files changed, 67 insertions(+), 64 deletions(-) diff --git a/ChangeLog b/ChangeLog index fbc9967d17..44c5870c4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ +2025-06-22 Bob Weiner <r...@gnu.org> + +* hycontrol.el (hycontrol-frames-mode, hycontrol-windows-mode): Change from + obsolete 'define-global-minor-mode' to 'define-globalized-minor-mode'. + 2025-06-21 Bob Weiner <r...@gnu.org> +* hywiki.el (hywiki-word-at): Remove HyWikiWord highlighting as proper highlighting + should be done elsewhere. + * hui.el (hui:selectable-thing-priority-list, hui:non-delimited-selectable-thing-and-bounds): Make Hyperbole no region kill and copy commands operate on one or more words forward when on whitespace. diff --git a/hui-select.el b/hui-select.el index 36b839aafa..05b26b180e 100644 --- a/hui-select.el +++ b/hui-select.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 19-Oct-96 at 02:25:27 -;; Last-Mod: 22-Jun-25 at 10:36:55 by Mats Lidell +;; Last-Mod: 22-Jun-25 at 10:34:29 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -1091,19 +1091,16 @@ are given. Return nil if not at a string." (max (car string-start-end) (cdr string-start-end)))))))) ;; Non-double quote delimiters - (let ((opoint (point)) - (count 0) - bol start delim-regexp start-regexp end-regexp) - (save-excursion - (when (looking-at (regexp-quote start-delim)) - (goto-char (match-end 0))) - (when (setq string-start-end - (hargs:delimited start-delim end-delim nil nil t)) - ;; Include delimiters - (hui-select-set-region (- (nth 1 string-start-end) - (length start-delim)) - (+ (nth 2 string-start-end) - (length end-delim)))))))))) + (save-excursion + (when (looking-at (regexp-quote start-delim)) + (goto-char (match-end 0))) + (when (setq string-start-end + (hargs:delimited start-delim end-delim nil nil t)) + ;; Include delimiters + (hui-select-set-region (- (nth 1 string-start-end) + (length start-delim)) + (+ (nth 2 string-start-end) + (length end-delim))))))))) ;;; ;;; Code selections diff --git a/hycontrol.el b/hycontrol.el index 183d5ade1d..4820ee5ec0 100644 --- a/hycontrol.el +++ b/hycontrol.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 1-Jun-16 at 15:35:36 -;; Last-Mod: 22-Feb-25 at 09:41:32 by Bob Weiner +;; Last-Mod: 22-Jun-25 at 10:48:50 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -1055,7 +1055,7 @@ instead of quitting HyControl." :group 'hyperbole-screen) ;;;###autoload -(define-global-minor-mode hycontrol-frames-mode hycontrol-local-frames-mode +(define-globalized-minor-mode hycontrol-frames-mode hycontrol-local-frames-mode (lambda () (hycontrol-local-frames-mode 1)) :group 'hyperbole-screen) @@ -1076,7 +1076,7 @@ instead of quitting HyControl." :group 'hyperbole-screen) ;;;###autoload -(define-global-minor-mode hycontrol-windows-mode hycontrol-local-windows-mode +(define-globalized-minor-mode hycontrol-windows-mode hycontrol-local-windows-mode (lambda () (hycontrol-local-windows-mode 1)) :group 'hyperbole-screen) diff --git a/hyrolo-logic.el b/hyrolo-logic.el index 257a4b0c37..78b7447f70 100644 --- a/hyrolo-logic.el +++ b/hyrolo-logic.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 13-Jun-89 at 22:57:33 -;; Last-Mod: 30-Mar-24 at 12:36:32 by Bob Weiner +;; Last-Mod: 21-Jun-25 at 22:20:28 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -363,8 +363,10 @@ Return the number of evaluations of SEXP that match entries." ;; Do NOT call the following functions directly. ;; Send them as parts of an expression to `hyrolo-logic'. +;; Work with string patterns + (defun hyrolo-not (start end &rest pat-list) - "Logical <not> rolo entry filter applied between START and END positions. + "Logical string <not> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a string." (save-restriction @@ -379,7 +381,7 @@ string." (not pat-list)))) (defun hyrolo-or (start end &rest pat-list) - "Logical <or> rolo entry filter applied between START and END positions. + "Logical string <or> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a string." (if (memq t pat-list) @@ -396,7 +398,7 @@ string." (if pat-list t nil))))) (defun hyrolo-xor (start end &rest pat-list) - "Logical <xor> rolo entry filter applied between START and END positions. + "Logical string <xor> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a string." (save-restriction @@ -415,7 +417,7 @@ string." (= matches 1)))) (defun hyrolo-and (start end &rest pat-list) - "Logical <and> rolo entry filter applied between START and END positions. + "Logical string <and> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a string." (unless (memq nil pat-list) @@ -433,7 +435,7 @@ string." ;; Work with regular expression patterns rather than strings (defun hyrolo-r-not (start end &rest pat-list) - "Logical <not> rolo entry filter applied between START and END positions. + "Logical regexp <not> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a regular expression." (save-restriction @@ -448,7 +450,7 @@ regular expression." (not pat-list)))) (defun hyrolo-r-or (start end &rest pat-list) - "Logical <or> rolo entry filter applied between START and END positions. + "Logical regexp <or> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a regular expression." (if (memq t pat-list) @@ -465,7 +467,7 @@ regular expression." (if pat-list t nil))))) (defun hyrolo-r-xor (start end &rest pat-list) - "Logical <xor> rolo entry filter applied between START and END positions. + "Logical regexp <xor> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a regular expression." (save-restriction @@ -484,7 +486,7 @@ regular expression." (= matches 1)))) (defun hyrolo-r-and (start end &rest pat-list) - "Logical <and> rolo entry filter applied between START and END positions. + "Logical regexp <and> rolo entry filter between START and END positions. PAT-LIST is a list of pattern elements. Each element may be t, nil, or a regular expression." (unless (memq nil pat-list) diff --git a/kotl/klink.el b/kotl/klink.el index 1333e8fc92..3a57c34792 100644 --- a/kotl/klink.el +++ b/kotl/klink.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 15-Nov-93 at 12:15:16 -;; Last-Mod: 21-Jun-25 at 13:15:56 by Bob Weiner +;; Last-Mod: 22-Jun-25 at 10:24:52 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -63,9 +63,9 @@ ;;; Other required Elisp libraries ;;; ************************************************************************ -(require 'subr-x) ;; For string-trim -(require 'hmouse-tag) ;; For smart-c-include-regexp -(require 'hbut) ;; For defib. +(require 'subr-x) ;; For `string-trim' +(require 'hmouse-tag) ;; For `smart-c-include-regexp' +(require 'hbut) ;; For `defib' ;;; ************************************************************************ ;;; Public variables @@ -249,22 +249,19 @@ link-end-position, (including delimiters)." (string-match "\\`[a-zA-Z!/]" referent)))) label-and-pos))) -;; Prevent klink yank-handler text properties from being -;; sticky/inherited by neighboring text. -(cl-pushnew '(file-name . t) text-property-default-nonsticky) -(cl-pushnew '(yank-handler . t) text-property-default-nonsticky) -(cl-pushnew '(yank-excluded-properties . t) text-property-default-nonsticky) - (defun klink:set-yank-handler (klink) "Add yank-handler to KLINK and return the modified KLINK. Link is made relative when yanked into the same koutline or the same directory." (add-text-properties 0 (length klink) - (list 'file-name buffer-file-name - 'yank-handler '(klink:yank-handler) - 'yank-excluded-properties (cons 'yank-handler (get-text-property 0 'yank-excluded-properties klink))) - klink) + (list 'file-name buffer-file-name + 'yank-handler '(klink:yank-handler) + 'yank-excluded-properties (cons 'yank-handler (get-text-property 0 'yank-excluded-properties klink)) + ;; Prevent klink text properties from being sticky/inherited by + ;; neighboring text. + 'rear-nonsticky '(file-name yank-handler yank-excluded-properties)) + klink) klink) ;;; ************************************************************************ diff --git a/man/hyperbole.texi b/man/hyperbole.texi index 9c05daa6e7..1edff261c9 100644 --- a/man/hyperbole.texi +++ b/man/hyperbole.texi @@ -7,7 +7,7 @@ @c Author: Bob Weiner @c @c Orig-Date: 6-Nov-91 at 11:18:03 -@c Last-Mod: 20-Jun-25 at 00:10:17 by Bob Weiner +@c Last-Mod: 21-Jun-25 at 22:30:47 by Bob Weiner @c %**start of header (This is for running Texinfo on a region.) @setfilename hyperbole.info @@ -171,7 +171,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P> <PRE> Edition 9.0.2pre -Printed June 20, 2025. +Printed June 21, 2025. Published by the Free Software Foundation, Inc. Author: Bob Weiner @@ -6645,11 +6645,10 @@ The Rolo submenu of the Hyperbole menu offers a full set of commands for searching and maintaining a personal address book. It looks like so. -@float Image,image:Rolo Menu -@caption{HyRolo Menu} -@image{im/menu-rolo,,3.5in,HyRolo Menu} -@end float -@page +@smallexample +@noindent +Rolo> Add ConsultFind Display Edit FileFind Info Kill Mail Order RegexFind StringFind TagFind WordFind Yank +@end smallexample @cindex Rolo menu @cindex HyRolo menu @@ -6681,33 +6680,33 @@ set of commands as the menubar Rolo menu but with more concise labels. @findex hyrolo-word @findex hyrolo-yank The minibuffer Rolo/ menu offers the following commands (ConsultFind -and HelmFind appear only when the Consult and Helm packages are -installed prior to loading Hyperbole. They are especially noteworthy -as they allow for fast line-level searching across many files with -interactive search pattern narrowing): +appears only when the Consult and Helm packages are installed prior to +loading Hyperbole. They are especially noteworthy as they allow for +fast line-level searching across many files with interactive search +pattern narrowing): @example @group Menu Item Command Description ===================================================================== -Add hyrolo-add Adds a hyrolo entry +Add hyrolo-add Add a hyrolo entry ConsultFind hyrolo-consult-grep Interactively narrow grep matches -Display hyrolo-display-matches Displays last matches again -Edit hyrolo-edit Edits an existing hyrolo entry -File hyrolo-find-file Edits a @code{hyrolo-file-list} file -Info id-info Displays a hyrolo manual entry -Kill hyrolo-kill Deletes a hyrolo entry -Mail hyrolo-mail Mails to an address at point -Order hyrolo-sort Sorts all hyrolo levels -RegexFind hyrolo-grep Finds all entries containing +Display hyrolo-display-matches Display last matches again +Edit hyrolo-edit Edit an existing hyrolo entry +FileFind hyrolo-find-file Edit a @code{hyrolo-file-list} file +Info id-info Display a hyrolo manual entry +Kill hyrolo-kill Delete a hyrolo entry +Mail hyrolo-mail Mail to an address at point +Order hyrolo-sort Sort all hyrolo levels +RegexFind hyrolo-grep Find all entries containing a regular expression -StringFind hyrolo-fgrep Finds all entries containing +StringFind hyrolo-fgrep Find all entries containing a string (or logical expression) -TagFind hyrolo-tags-view Finds HyWiki Org tags -WordFind hyrolo-word Finds all entries containing +TagFind hyrolo-tags-view Find HyWiki Org tags +WordFind hyrolo-word Find all entries containing a string of whole words -Yank hyrolo-yank Inserts the first matching +Yank hyrolo-yank Insert the first matching hyrolo entry at point ===================================================================== @end group