branch: externals/hyperbole
commit d10ef45b908ce05e9ea71a2876eafe07ebf101f4
Merge: e03085fad02 8d008874376
Author: Robert Weiner <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #1005 from rswgnu/rsw
- hyperbole.el (hkey-initialize): Bind {M-o} only if no curr binding
- hpath:at-p - Fix a bug with single char pathname
---
ChangeLog | 38 ++++++++++++++++++++++++++++++--------
hpath.el | 6 +++---
hyperbole.el | 16 +++++++---------
man/hyperbole.texi | 15 ++++++++-------
4 files changed, 48 insertions(+), 27 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ebb6820aa77..25eec0586e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
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.
+
* hywiki.el (hywiki-referent-menu): Add Denote support.
(hywiki-add-denote, hywiki-display-denote,
hywiki-string-to-wikiword)
hywiki-denote-file-to-wikiword, hywiki-denote-id-to-wikiword): Add
@@ -8,17 +15,32 @@
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.
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.
+
+* 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.
+* 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]>
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/hyperbole.el b/hyperbole.el
index 8bb742729b3..d4d66e5fce7 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -9,7 +9,7 @@
;; Maintainer: Robert Weiner <[email protected]>
;; Maintainers: Robert Weiner <[email protected]>, Mats Lidell <[email protected]>
;; Created: 06-Oct-92 at 11:52:51
-;; Last-Mod: 9-Jun-26 at 10:58:22 by Bob Weiner
+;; Last-Mod: 10-Jul-26 at 14:20:25 by Bob Weiner
;; Released: 10-Mar-24
;; Version: 9.0.2pre
;; Keywords: comm, convenience, files, frames, hypermedia, languages,
mail, matching, mouse, multimedia, outlines, tools, wp
@@ -285,14 +285,12 @@ of the commands."
;; Provide a site standard way of emulating most Hyperbole mouse drag
;; commands from the keyboard. This is most useful for rapidly creating
;; Hyperbole link buttons from the keyboard without invoking the Hyperbole
- ;; menu. Works only if Hyperbole is run under a window system.
- (when (hyperb:window-system)
- (if (eq (global-key-binding "\M-o") #'facemenu-keymap)
- ;; Override facemenu package that adds a keymap on M-o,
- ;; since this binding is more important to Hyperbole
- ;; users.
- (hkey-set-key "\M-o" #'hkey-operate)
- (hkey-maybe-set-key "\M-o" #'hkey-operate)))
+ ;; menu. Works only if Hyperbole is run under a window system. Less
+ ;; important to bind now that {C-h h i l} exists to create implicit
+ ;; links between two windows, so we only bind {M-o} here if it has no
+ ;; global binding prior to Hyperbole being loaded.
+ (when (and (hyperb:window-system) (not (key-binding "\M-o")))
+ (hkey-maybe-set-key "\M-o" #'hkey-operate))
;;
;; Explicit button renames without invoking the Hyperbole menu.
;; No binding by default.
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