diff --git a/ChangeLog b/ChangeLog index ebb6820a..25eec058 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2026-07-10 Bob Weiner +* 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 + +* 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 -* 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 diff --git a/hpath.el b/hpath.el index 7c63fa43..3b8bfcb6 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 8bb74272..d4d66e5f 100644 --- a/hyperbole.el +++ b/hyperbole.el @@ -9,7 +9,7 @@ ;; Maintainer: Robert Weiner ;; Maintainers: Robert Weiner , Mats Lidell ;; 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 0fc05a54..234be94c 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