branch: externals/hyperbole
commit f333b690e152e7bb980bf7f4866ea58ea2e0bbd0
Author: bw <[email protected]>
Commit: bw <[email protected]>

    hpath:at-p - Fix a bug with single char pathname handling
---
 ChangeLog          | 103 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 hpath.el           |   6 ++--
 man/hyperbole.texi |  15 ++++----
 3 files changed, 106 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8c9ebb7ef7c..993e590aca4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2026-07-10  Bob Weiner  <[email protected]>
 
+* hpath.el (hpath:at-p): Near the top, move (match-string 0 path) call before
+    path is modified, otherwise, with a 1 char path, shrunk to an empty string,
+    match-path will trigger an error; fixes this.
+
 * hyperbole.el (hkey-initialize): Change to bind {M-o} in 'hyperbole-mode-map'
     only if not previously bound.
 
@@ -11,17 +15,49 @@
     when called, then insert it.  If buffer is read-only in this case, trigger
     an error.
 
+2026-07-09  Bob Weiner  <[email protected]>
+
+* hywiki.el (hywiki-delimited-p): Fix so 'wikiword' is always set to a
+    string or nil, not the 't return value from 'hypb:in-string-p'.  Also,
+    limit region narrowing to just where it is needed near the function
+    beginning.
+            (hywiki-word-dehighlight-in-buffers, 
hywiki-word-highlight-in-buffers):
+    Change from using 'pre/post-command-hook' to 
'before/after-change-functions'
+    so run only when buffer is modified, not on each command.
+  test/hywiki-tests.el (hywiki-tests--verify-hook-functions): Change from using
+    'pre/post-command-hook' to 'before/after-change-functions'.
+  test/hywiki-tests.el (hywiki-tests--verify-hywiki-word): Change from
+    displaying 'pre-command-hook' to 'before/after-change-functions' and
+    'post-self-insert-hook'.
+           (hywiki-word-store-around-point): Cache and call 'hywiki-word-at'
+    and 'hywiki-at-range-delimiter' maximally one time each per call of this
+    function.  (Used to call twice).
+
+2026-07-08  Bob Weiner  <[email protected]>
+
+* hib-social.el (hibtypes-git-project-regexp, hibtypes-git-file-regexp,
+                 hibtypes-social-regexp): Allow for &arguments
+
 2026-07-07  Bob Weiner  <[email protected]>
 
-* hsys-youtube.el (hsys-youtube-end-format): YouTube no longer allows end 
times or the
-    embed protocol in video urls, so update this format to at least jump to 
the proper
-    start time.  The end time is sent but ignored.
+* hsys-youtube.el (hsys-youtube-end-format): YouTube no longer allows end
+    times or the embed protocol in video urls, so update this format to at
+    least jump to the proper start time.  The end time is sent but
+    ignored.
 
-* hui-mouse.el (hkey-alist): Trigger 'hui-select-thing' or 
'hui-select-mark-delimited-sexp'
-    if (point) >= any hbut end point, not just equal to it, as before.  This 
was causing
-    a failure to trigger when a HyWikiWord came right before a closing double 
quote that
-    point was on, so the double quoted string was not selected and the 
HyWikiWord was
-    activated instead.
+* FAST-DEMO (Hyperbole Videos):
+  README.md: Add "HyWiki: Zero Markup Hypertext" article video links.
+
+* man/hyperbole.texi (Implicit Button Link Types):
+  hbut.el (defil): Clarify that TEXT-REGEXP is a partial match unless 
surrounded
+    by start \\` and end \\' match string delimiters.
+
+* hui-mouse.el (hkey-alist): Trigger 'hui-select-thing' or
+    'hui-select-mark-delimited-sexp' if (point) >= any hbut end point, not
+    just equal to it, as before.  This was causing a failure to trigger
+    when a HyWikiWord came right before a closing double quote that point
+    was on, so the double quoted string was not selected and the
+    HyWikiWord was activated instead.
 
 2026-07-06  Bob Weiner  <[email protected]>
 
@@ -32,6 +68,15 @@
 
 * hywiki.el (hywiki--extend-region): Fix so start is always <= end.
 
+2026-07-05  Bob Weiner  <[email protected]>
+
+* hywiki.el (hywiki-word-at): Don't allow : or ; at the end of a #section.
+
+* hbut.el (hbut:label-delimiters-regexp): Add and use in
+    'hywiki-maybe-highlight-references'.
+
+* hywiki.el (hywiki-get-buttonize-characters): Allow : as a trailing
+    separator character (previously had been filtered out).
             (hywiki-get-existing-page-file): Handle 't' value as 
'file-stem-name'
     from a HyWikiWord spec.
   hpath.el (hpath:expand): Ensure path value is a string before trying to 
expand
@@ -44,6 +89,48 @@
                (hycontrol--frames-prompt-format, 
hycontrol--windows-prompt-format):
     Reformat for easier readability.
 
+2026-07-02  Bob Weiner  <[email protected]>
+
+* hywiki.el (hywiki-position-in-hbut-label-p): Add to test if within
+    an hbut label.
+            (hywiki-maybe-dehighlight-references): Call above function to
+    allow for dehighlighting HyWikiWords within Hyperbole button labels
+    so that the Action Key always activates the label's button and doesn't
+    trigger a HyWikiWord activation.
+            (hywiki-word-store-around-point,
+             hywiki-word-highlight-post-self-insert,
+             hywiki-word-highlight-post-command,
+             hywiki-highlight-on-yank,
+             hywiki-highlight-word-get-range): Don't highlight if above
+    predicate is true.
+            (hywiki--get-delimited-range-backward): Fix to 'hbut:syntax-table'
+    during backward 'scan-sexps' so open/close angle brackets match to
+    account for use in hbut labels.  Otherwise, when point is after a closing
+    angle bracket, the region returned is a single char, not the span of the
+    brackets.
+            (hywiki-maybe-dehighlight-between-references)
+             hywiki-maybe-highlight-references): Dehighlight any HyWikiWords
+    highlighted within a delimited Hyperbole button label.
+
+* hywiki.el (hywiki-scan-sexps): Add and use in place of 'scan-sexps' in
+    hywiki code.
+            (hywiki-get-delimited-region,
+             hywiki-maybe-highlight-balanced-pairs): Use 'hbut:syntax-table'.
+  hui-select.el (hui-select-get-syntax-table): Use 'hui-select-syntax-table'
+    in most programming modes when within a comment to support angle brackets
+    as sexpression delimiters.
+
+2026-07-01  Bob Weiner  <[email protected]>
+
+* hywiki.el (hywiki--get-delimited-range-at-closing-delimiter): Add to
+    separate out this code from a quoted sexp in 'hywiki-get-delimited-region'
+    and simplify debugging.
+            (hywiki--get-delimited-range-backward): Fix wrong location of
+    'save-excursion' call so that point was moved one char forward before
+    backward 'scan-sexps' was called.  This led to HyWiki words not be
+    dehighlighted when deleted the last WikiWord character within a set
+    of delimiters where it was the last word.
+
 2026-06-30  Mats Lidell  <[email protected]>
 
 * test/hywiki-tests.el (hywiki-display-hywiki-test): Add helper
diff --git a/hpath.el b/hpath.el
index 7c63fa43cf0..3b8bfcb64af 100644
--- a/hpath.el
+++ b/hpath.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:     1-Nov-91 at 00:44:23
-;; Last-Mod:      5-Jul-26 at 13:09:03 by Bob Weiner
+;; Last-Mod:     10-Jul-26 at 14:36:54 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -971,9 +971,9 @@ or `~'."
       (setq path (string-trim path)))
     (when (and path (not non-exist)
               (string-match hpath:prefix-regexp path)
+              (not (string-equal (match-string 0 path) path))
               (setq prefix (substring path 0 1)
-                    path (substring path 1))
-              (not (string-equal (match-string 0 path) path)))
+                    path (substring path 1)))
       (setq non-exist t))
     (if (and path (not (string-empty-p path))
             (or (and non-exist prefix)
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 0fc05a543df..234be94c086 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:     10-Jul-26 at 12:11:58 by Bob Weiner
+@c Last-Mod:     10-Jul-26 at 14:20:29 by Bob Weiner
 
 @c %**start of header (This is for running Texinfo on a region.)
 @setfilename hyperbole.info
@@ -812,10 +812,11 @@ actions, e.g. bug#24568 displays the bug status 
information for that Emacs
 bug number, without the need for any additional markup.  Implicit link
 buttons can be added to documents with a simple drag between windows too.
 
-Or from the keyboard, With two windows on screen, an implicit link button
-can be created at point in the current buffer linking to the position in
-the other window's buffer by pressing @bkbd{C-h h i l}.  Use @bkbd{M-1
-C-h h i l} instead to be prompted for a name for the implicit button.
+Or from the keyboard, With two windows on screen, an implicit link
+button can be created at point in the current buffer linking to the
+position in the other window's buffer by pressing @bkbd{C-h h i l}.
+FYI, use @bkbd{C-u C-h h i l} instead to be prompted for a name for
+the implicit button when creating the link.
 
 @item Global buttons
 are buttons that are activated by name from anywhere within Emacs.  They may
@@ -3249,8 +3250,8 @@ other implicit button types will be tested and may 
activate instead.
 
 To activate a frequently used action button by name independent of
 your current buffer, simply add it to your global button file and
-precede it with a label @bkbd{C-h h i l}.  Then invoke it by label
-name with: @bkbd{C-h h g a}.
+precede it with a name using @bkbd{C-u C-h h i l}.  Then activate it
+by name with: @bkbd{C-h h g a}.
 
 
 @node Button Files, Action Types, Implicit Buttons, Buttons

Reply via email to