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

    hywiki.el - Add easy-to-use support for linking to denote files
---
 ChangeLog          |  10 +++++
 hywiki.el          | 126 ++++++++++++++++++++++++++++++++++++++++++++---------
 man/hyperbole.html |  56 ++++++++++++++++++------
 man/hyperbole.info | Bin 690583 -> 691951 bytes
 man/hyperbole.pdf  | Bin 1724505 -> 1725608 bytes
 man/hyperbole.texi |  29 +++++++++---
 6 files changed, 181 insertions(+), 40 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e847f03891c..ebb6820aa77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2026-07-10  Bob Weiner  <[email protected]>
+
+* 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
+    these functions.
+            (hywiki-create-referent-and-display): If point is not on 'wikiword'
+    when called, then insert it.  If buffer is read-only in this case, trigger
+    an error.
+
 2026-07-07  Bob Weiner  <[email protected]>
 
 * hsys-youtube.el (hsys-youtube-end-format): YouTube no longer allows end 
times or the
diff --git a/hywiki.el b/hywiki.el
index 8f64e9aa480..5cb3f259889 100644
--- a/hywiki.el
+++ b/hywiki.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    21-Apr-24 at 22:41:13
-;; Last-Mod:     28-Jun-26 at 18:53:13 by Bob Weiner
+;; Last-Mod:     10-Jul-26 at 12:07:53 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1107,6 +1107,9 @@ After successfully finding a referent, run 
`hywiki-display-referent-hook'."
           "Add a HyWikiWord that jumps to an Emacs bookmark.")
         '("Command"      (hywiki-add-command hkey-value)
           "Add a HyWikiWord that runs an Emacs command or Hyperbole action 
type.")
+         (when (fboundp #'denote-open-or-create)
+           '("Denote"       (hywiki-add-denote hkey-value)
+            "Add a HyWikiWord that jumps to a Denote note stored by ID."))
         '("Elisp"        (hywiki-add-elisp hkey-value)
           "Add a HyWikiWord that evaluates an Elisp sexpression.")
         '("Find"         (hywiki-add-find hkey-value)
@@ -1307,6 +1310,54 @@ calling this function."
         (t (error "(hywiki-display-command): Unbound referent command, '%s'"
                   command))))
 
+(defun hywiki-add-denote (wikiword)
+  "Make WIKIWORD display a denote file when the `denote' package is available.
+
+When called interactively or with WIKIWORD nil or the empty string, then set
+WIKIWORD to any wikiword at point; otherwise, convert the description from
+the denote file chosen to a wikiword.
+
+After successfully adding the link to a denote file, run
+`hywiki-add-referent-hook'.
+
+Use `hywiki-get-referent' to determine whether WIKIWORD exists prior to
+calling this function."
+  (interactive (list (hywiki-word-at)))
+  (hypb:require-package 'denote)
+  (let* ((denote-file (denote-file-prompt
+                       nil
+                       (if (stringp wikiword)
+                           (format "Link `%s' HyWikiWord to denote" wikiword)
+                         ;; Will use denote file description as `wikiword'
+                         "Add HyWikiWord denote link to")
+                       nil t))
+         (denote-desc (denote-get-link-description denote-file))
+         (denote-id (denote-retrieve-filename-identifier denote-file)))
+    (unless (or (stringp wikiword) (string-empty-p wikiword))
+      (setq wikiword (hywiki-string-to-wikiword denote-desc)))
+    (unless (equal wikiword (hywiki-get-singular-wikiword (hywiki-word-at)))
+      (if buffer-read-only
+          (error "(hywiki-add-denote): Since buffer is read-only, this must be 
used with point on a HyWikiWord")
+        (insert wikiword)))
+    (hywiki-add-referent wikiword (cons 'denote (cons denote-desc 
denote-id)))))
+
+(defun hywiki-display-denote (_wikiword denote-desc-and-id)
+  (let ((denote-desc (car denote-desc-and-id))
+        (denote-id (cdr denote-desc-and-id))
+        denote-file)
+    (cond ((not (stringp denote-id))
+           (error "(hywiki-display-denote): `denote-id' must be a string, 
not`%s'"
+                  denote-id))
+          ((and (setq denote-file (denote-get-path-by-id denote-id))
+                (file-readable-p denote-file))
+           (hpath:find denote-file))
+          ((not (stringp denote-file))
+           (error "(hywiki-display-denote): denote file not found for desc: 
\"%s\", id: \"%s\""
+                  denote-desc denote-id))
+          (t ;; denote-file not readable
+           (error "(hywiki-display-denote): Unreadable demote file: \"%s\""
+                  denote-file)))))
+
 (defun hywiki-add-elisp (wikiword)
   "Make WIKIWORD evaluate a prompted for Elisp sexpression and return it.
 
@@ -1452,8 +1503,9 @@ calling this function."
 
 (defun hywiki-add-org-id (wikiword)
   "Make WIKIWORD display an Org file or headline with an Org id.
-Point must be in the buffer with the id.  If no id exists, it is created.
-Return the referent created with the form: \\='(org-id . <id-string>).
+Point must be within the entry with with the id.  If no id exists, it is
+created.  Return the referent created with the form: \\='(org-id
+. <id-string>).
 
 If WIKIWORD is invalid, trigger an error if called interactively
 or return nil if not.
@@ -1622,9 +1674,8 @@ After successfully adding the spec, run 
`hywiki-add-referent-hook'."
 This replaces any existing referent the WIKIWORD may have.
 
 With either `hywiki-referent-prompt-flag' set or optional prefix
-REF-TYPE-FLAG, prompt for and choose a typed referent, otherwise, create
-and/or display a HyWiki page.  See `hywiki-referent-menu' for valid referent
-types.
+REF-TYPE-FLAG, prompt for and choose a typed referent, otherwise, create a
+HyWiki page.  See `hywiki-referent-menu' for valid referent types.
 
 Use `hywiki-get-referent' to test for and retrieve an existing HyWikiWord
 referent."
@@ -1727,21 +1778,27 @@ for WIKIWORD, add a page for it.
 
 Use `hywiki-get-referent' to determine whether a HyWikiWord referent
 or page exists."
-  (interactive (list (or (hywiki-word-at)
-                        (hywiki-word-read-new
+  (interactive (list nil current-prefix-arg))
+  (let (at-wikiword-flag)
+    (unless (stringp wikiword)
+      (setq wikiword (or (setq at-wikiword-flag (hywiki-word-at))
+                        (hywiki-word-read-new
                          (format "Add/Edit and display HyWiki %s: "
-                                 (if current-prefix-arg "referent" "page"))))
-                    current-prefix-arg))
-  (when (and (not prompt-flag) hywiki-referent-prompt-flag
-            (called-interactively-p 'interactive))
-    (setq prompt-flag t))
-  (let* ((normalized-word (hywiki-get-singular-wikiword wikiword))
-        (referent (hywiki-find-referent wikiword prompt-flag)))
-    (cond (referent)
-         ((hywiki-word-is-p normalized-word)
-          (when (hywiki-add-page normalized-word)
-            (hywiki-display-page normalized-word)))
-         (t (user-error "(hywiki-create-referent-and-display): Invalid 
HyWikiWord: '%s'; must be capitalized, all alpha" wikiword)))))
+                                 (if current-prefix-arg "referent" "page"))))))
+    (unless at-wikiword-flag
+      (if buffer-read-only
+          (error "(hywiki-create-referent-and-display): Since buffer is 
read-only, this must be used with point on a HyWikiWord")
+        (insert wikiword)))
+    (when (and (not prompt-flag) hywiki-referent-prompt-flag
+              (called-interactively-p 'interactive))
+      (setq prompt-flag t))
+    (let* ((normalized-word (hywiki-get-singular-wikiword wikiword))
+          (referent (hywiki-find-referent wikiword prompt-flag)))
+      (cond (referent)
+           ((hywiki-word-is-p normalized-word)
+            (when (hywiki-add-page normalized-word)
+              (hywiki-display-page normalized-word)))
+           (t (user-error "(hywiki-create-referent-and-display): Invalid 
HyWikiWord: '%s'; must be capitalized, all alpha" wikiword))))))
 
 (defun hywiki-display-page (&optional wikiword file-name)
   "Display an optional WIKIWORD page and return the page file.
@@ -2020,6 +2077,26 @@ Use `hywiki-get-referent' to determine whether a HyWiki 
page exists."
                          "\[\(\{\<\"'`\t\n\r\f "))
     (or (char-before) 0)))
 
+(defun hywiki-denote-file-to-wikiword (denote-file)
+  "Return a hywikiword from the denote description associated with 
DENOTE-FILE."
+  (interactive
+   (list (denote-file-prompt nil "HyWiki denote file: "
+                            nil t)))
+  (if denote-file
+      (hywiki-string-to-wikiword
+       (denote-get-link-description denote-file))
+    (error "(hywiki-denote-file-to-wikiword): Denote file not found: \"%s\""
+            denote-file)))
+
+(defun hywiki-denote-id-to-wikiword (denote-id)
+  "Return a hywikiword from the denote description associated with DENOTE-ID."
+  (let ((denote-file (denote-get-path-by-id denote-id)))
+    (if denote-file
+       (hywiki-string-to-wikiword
+        (denote-get-link-description denote-file))
+      (error "(hywiki-denote-id-to-wikiword): Denote file not found for id: 
\"%s\""
+            denote-id))))
+
 (defun hywiki-directory-edit ()
   "Edit HyWiki pages in current `hywiki-directory'.
 Use `dired' unless `action-key-modeline-buffer-id-function' is set to
@@ -3805,6 +3882,15 @@ contains no spaces."
         (concat file (hpath:dashes-to-spaces-markup-anchor section)))
      link)))
 
+(defun hywiki-string-to-wikiword (str)
+  "Convert a string to a single PascalCase HyWikiWord.
+Removes only whitespace, dashes and underscores.  Capitalizes
+each term in the string."
+  (unless (stringp str)
+    (error "(hywiki-string-to-wikiword): `str' must be a string, not `%s'" 
str))
+  (let ((words (split-string str "[-_ \t\n\r\f]+" t 
split-string-default-separators)))
+    (apply #'concat (mapcar #'capitalize words))))
+
 (defun hywiki-strip-org-link (link-str)
   "Return the hy:HyWikiWord#section part of an Org link string.
 Strip any square bracket delimiters, description and leading or
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 5c02d16499a..14e459835e6 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -4,7 +4,7 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <!-- This manual is for GNU Hyperbole
-(Edition 9.0.2pre, Published July 6, 2026).
+(Edition 9.0.2pre, Published July 10, 2026).
 
 Copyright © 1989-2026  Free Software Foundation, Inc.
 
@@ -386,7 +386,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 9.0.2pre
-Printed July 6, 2026.
+Printed July 10, 2026.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -801,12 +801,15 @@ archives, the World-Wide Web and much more.
 <a class="index-entry-id" id="index-Hyperbole-demo"></a>
 <a class="index-entry-id" id="index-demo-file"></a>
 <a class="index-entry-id" id="index-tutorial"></a>
+<a class="index-entry-id" id="index-videos"></a>
+<a class="index-entry-id" id="index-articles"></a>
 <p>This is a reference manual with extensive details about Hyperbole use.
 If you prefer a simpler, more interactive introduction to Hyperbole,
 the <samp class="file">../FAST-DEMO</samp> file included in the Hyperbole 
distribution
 demonstrates many of Hyperbole&rsquo;s standard facilities without the need
-to read through this reference manual.  The <samp 
class="file">../FAST-DEMO</samp> is a good
-way to rapidly understand some of what Hyperbole can do for you.  Once
+to read through this reference manual.  The <samp 
class="file">../FAST-DEMO</samp> is a
+good way to rapidly understand some of what Hyperbole can do for you.
+It includes many links to videos and articles about Hyperbole.  Once
 Hyperbole is installed, (see <a class="pxref" href="#Setup">Setup</a>), you 
can access the
 <samp class="file">../FAST-DEMO</samp> with the key sequence <kbd 
class="kbd">{C-h h d d}</kbd>.
 </p>
@@ -2269,6 +2272,7 @@ are not supported without a window system.
 <a class="index-entry-id" id="index-ace_002dwindow-1"></a>
 <a class="index-entry-id" id="index-hkey_002dace_002dwindow_002dsetup"></a>
 <a class="index-entry-id" id="index-ace_002dwindow"></a>
+<a class="index-entry-id" id="index-Ace-Window"></a>
 <a class="index-entry-id" id="index-window-by-letter"></a>
 <a class="index-entry-id" id="index-jump-to-window-by-letter"></a>
 <a class="index-entry-id" id="index-keyboard_002c-jump-to-window"></a>
@@ -5282,12 +5286,9 @@ minor mode, <code class="code">hywiki-mode</code>, is 
enabled.  The <code class=
 variable is always in one of three states:
 </p>
 <ol class="enumerate">
-<li> &lsquo;<samp class="samp">:pages</samp>&rsquo;
-HyWikiWords are active only with pages within <code 
class="code">hywiki-directory</code>.
-</li><li> &lsquo;<samp class="samp">:all</samp>&rsquo;
-HyWikiWords are active within all text and programming buffers
-</li><li> &lsquo;<samp class="samp">nil</samp>&rsquo;
-the mode is disabled, HyWikiWords are disabled.
+<li> &lsquo;<samp class="samp">:pages</samp>&rsquo; - HyWikiWords are active 
only with pages within <code class="code">hywiki-directory</code>.
+</li><li> &lsquo;<samp class="samp">:all</samp>&rsquo;   - HyWikiWords are 
active within all text and programming buffers
+</li><li> &lsquo;<samp class="samp">nil</samp>&rsquo;    - the mode is 
disabled, HyWikiWords are disabled.
 </li></ol>
 
 <a class="index-entry-id" id="index-C_002dh-h-h-m"></a>
@@ -5310,7 +5311,7 @@ then <code class="code">hywiki-mode</code> is set to that 
default value.
 Emacs session, interactively use <kbd class="kbd">{C-h h h m a}</kbd>; 
programmatically,
 use <code class="code">(hywiki-mode :all)</code>.  To enable it globally for 
all future
 Emacs sessions, add this line to your Emacs initialization file:
-<code class="code">(setq hywiki-default-mode :all)</code>.
+<code class="code">(customize-save-variable 'hywiki-default-mode :all)</code>.
 </p>
 <a class="index-entry-id" id="index-HyWiki-programming-modes"></a>
 <a class="index-entry-id" 
id="index-hywiki_002dhighlight_002dall_002din_002dprog_002dmodes"></a>
@@ -5441,6 +5442,7 @@ consult grep over its HyWiki backlink references, 
selecting one.
 <a class="index-entry-id" id="index-Activity-HyWiki-reftype"></a>
 <a class="index-entry-id" id="index-Bookmark-HyWiki-reftype"></a>
 <a class="index-entry-id" id="index-Command-HyWiki-reftype"></a>
+<a class="index-entry-id" id="index-Denote-HyWiki-reftype"></a>
 <a class="index-entry-id" id="index-Elisp-HyWiki-reftype"></a>
 <a class="index-entry-id" id="index-Find-HyWiki-reftype"></a>
 <a class="index-entry-id" id="index-Gbut-HyWiki-reftype"></a>
@@ -5485,8 +5487,9 @@ arguments it requires.  It looks like this (Note that 
&lsquo;<samp class="samp">
 appears only if the Activities package is available):
 </p>
 <a class="anchor" id="HyWiki-Referents"></a><div class="example smallexample">
-<pre class="example-preformatted">HyWiki RefType&gt;  Activity Bookmark 
Command Elisp Find Gbut HyRolo InfoIndex
-                 Keys pathLink infoNode OrgID Page orgRoamNode Spec
+<pre class="example-preformatted">HyWiki RefType&gt;  Activity Bookmark Denote 
Command Elisp Find Gbut HyRolo
+                 InfoIndex Keys pathLink infoNode OrgID Page orgRoamNode
+                 Spec
 </pre></div>
 
 <div class="example">
@@ -5495,6 +5498,7 @@ appears only if the Activities package is available):
 Activity        hywiki-add-activity      Activate a saved Activity
 Bookmark        hywiki-add-bookmark      Jump to an Emacs bookmark
 Command         hywiki-add-command       Run a Hypb action or cmd
+Denote          hywiki-add-denote        Display a denote file
 Elisp           hywiki-add-elisp         Evaluate an Elisp sexp
 Find            hywiki-add-find          Grep through hywiki dir
 Gbut            hywiki-add-global-button Activate a global button
@@ -5533,6 +5537,14 @@ string is given for the argument, then this is replaced 
with the
 WikiWord when the command is run.
 </p>
 </dd>
+<dt><a class="index-entry-id" id="index-HyWiki-Denote-reftype"></a>
+<a id="index-menu-item_002c-HyWiki-Denote"></a><span>Denote<a 
class="copiable-link" href="#index-menu-item_002c-HyWiki-Denote"> 
&para;</a></span></dt>
+<dd><p>Add a HyWikiWord that displays a denote file.  When called
+interactively or with a WikiWord argument of nil or the empty string,
+then set the WikiWord argument to any wikiword at point; otherwise,
+convert the description from the denote file chosen to a wikiword.
+</p>
+</dd>
 <dt><a class="index-entry-id" id="index-HyWiki-Elisp-reftype"></a>
 <a id="index-menu-item_002c-HyWiki-Elisp"></a><span>Elisp<a 
class="copiable-link" href="#index-menu-item_002c-HyWiki-Elisp"> 
&para;</a></span></dt>
 <dd><p>Add a HyWikiWord that evaluates an Elisp sexpression.
@@ -8896,7 +8908,11 @@ optional DOC string.
 </p>
 <p>When the Action Key is pressed in a buffer between the start and end
 delimiters and the text in-between matches to TEXT-REGEXP, then the
-button is activated and does one of four things with LINK-EXPR:
+button is activated.  To ensure TEXT-REGEXP matches to the full text
+and not just a part, start the REGEXP with &quot;\\&lsquo;&quot; and end it 
with
+&quot;\\&rsquo;&quot;, to match to the start and end of string.
+</p>
+<p>When activated, the button does one of four things with LINK-EXPR:
 </p>
 <ol class="enumerate">
 <li> executes it as a brace-delimited key series;
@@ -9487,6 +9503,12 @@ defined in terms of surrounding patterns within a 
buffer, but may be
 defined by arbitrary Emacs Lisp predicates.
 </p>
 </dd>
+<dt><b class="b">Denote</b></dt>
+<dd><p>An Emacs package for note taking that uses time-stamped, descriptive
+file naming conventions to label and locate notes.  HyWiki provides
+denote-specific links as one of its reference types.
+</p>
+</dd>
 <dt><b class="b">Display</b></dt>
 <dd><p>See <b class="b">Screen</b>.
 </p>
@@ -15734,6 +15756,7 @@ Previous: <a href="#Function-Index" accesskey="p" 
rel="prev">Function, Variable
 <tr><td colspan="3"><hr></td></tr>
 <tr><th id="Concept-Index_cp_letter-A">A</th></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-abbreviated-URLs">abbreviated URLs</a></td><td 
class="printindex-index-section"><a href="#Using-URLs-with-Find_002dFile">Using 
URLs with Find-File</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-Ace-Window">Ace Window</a></td><td 
class="printindex-index-section"><a href="#Keyboard-Drags">Keyboard 
Drags</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-ace_002dwindow">ace-window</a></td><td 
class="printindex-index-section"><a href="#Keyboard-Drags">Keyboard 
Drags</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-action">action</a></td><td class="printindex-index-section"><a 
href="#Action-Types">Action Types</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-action-1">action</a></td><td class="printindex-index-section"><a 
href="#Action-Types">Action Types</a></td></tr>
@@ -15781,6 +15804,7 @@ Previous: <a href="#Function-Index" accesskey="p" 
rel="prev">Function, Variable
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-argument_002c-view-spec">argument, view spec</a></td><td 
class="printindex-index-section"><a href="#Creating-Action-Types">Creating 
Action Types</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-array">array</a></td><td class="printindex-index-section"><a 
href="#Thing-Selection">Thing Selection</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-array-1">array</a></td><td class="printindex-index-section"><a 
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited 
Things</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-articles">articles</a></td><td class="printindex-index-section"><a 
href="#Manual-Overview">Manual Overview</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-Assist-Key">Assist Key</a></td><td 
class="printindex-index-section"><a href="#Smart-Keys">Smart Keys</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-Assist-Key-drag">Assist Key drag</a></td><td 
class="printindex-index-section"><a href="#By-Dragging">By 
Dragging</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-Assist-Key-in-minibuffer">Assist Key in minibuffer</a></td><td 
class="printindex-index-section"><a href="#Smart-Key-Argument-Selection">Smart 
Key Argument Selection</a></td></tr>
@@ -16014,6 +16038,7 @@ Previous: <a href="#Function-Index" accesskey="p" 
rel="prev">Function, Variable
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-demo-file">demo file</a></td><td 
class="printindex-index-section"><a href="#Manual-Overview">Manual 
Overview</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-demonstration">demonstration</a></td><td 
class="printindex-index-section"><a href="#Hyperbole-Overview">Hyperbole 
Overview</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-demotion">demotion</a></td><td class="printindex-index-section"><a 
href="#Promoting-and-Demoting">Promoting and Demoting</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-Denote-HyWiki-reftype">Denote HyWiki reftype</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-diagonal-drag">diagonal drag</a></td><td 
class="printindex-index-section"><a 
href="#Saving-and-Restoring-Window-Configurations">Saving and Restoring Window 
Configurations</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-diagonal-drag-1">diagonal drag</a></td><td 
class="printindex-index-section"><a 
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a 
Window</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-digital-signature">digital signature</a></td><td 
class="printindex-index-section"><a href="#Glossary">Glossary</a></td></tr>
@@ -16304,6 +16329,7 @@ Previous: <a href="#Function-Index" accesskey="p" 
rel="prev">Function, Variable
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-HyWiki-Activity-reftype">HyWiki Activity reftype</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-HyWiki-Bookmark-reftype">HyWiki Bookmark reftype</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-HyWiki-Command-reftype">HyWiki Command reftype</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-HyWiki-Denote-reftype">HyWiki Denote reftype</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-HyWiki-dired">HyWiki dired</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-HyWiki-documentation">HyWiki documentation</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-HyWiki-edit-pages">HyWiki edit pages</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
@@ -16611,6 +16637,7 @@ Previous: <a href="#Function-Index" accesskey="p" 
rel="prev">Function, Variable
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-menu-item_002c-HyWiki-Activity">menu item, HyWiki 
Activity</a></td><td class="printindex-index-section"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-menu-item_002c-HyWiki-Bookmark">menu item, HyWiki 
Bookmark</a></td><td class="printindex-index-section"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-menu-item_002c-HyWiki-Command">menu item, HyWiki 
Command</a></td><td class="printindex-index-section"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-menu-item_002c-HyWiki-Denote">menu item, HyWiki Denote</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-menu-item_002c-HyWiki-Elisp">menu item, HyWiki Elisp</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-menu-item_002c-HyWiki-Find">menu item, HyWiki Find</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-menu-item_002c-HyWiki-Gbut">menu item, HyWiki Gbut</a></td><td 
class="printindex-index-section"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
@@ -17129,6 +17156,7 @@ Previous: <a href="#Function-Index" accesskey="p" 
rel="prev">Function, Variable
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-vertical-drag-1">vertical drag</a></td><td 
class="printindex-index-section"><a 
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a 
Window</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-Vertico-completion">Vertico completion</a></td><td 
class="printindex-index-section"><a href="#Smart-Key-Argument-Selection">Smart 
Key Argument Selection</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-video">video</a></td><td class="printindex-index-section"><a 
href="#Action-Types">Action Types</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a 
href="#index-videos">videos</a></td><td class="printindex-index-section"><a 
href="#Manual-Overview">Manual Overview</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-view">view</a></td><td class="printindex-index-section"><a 
href="#Viewing-Outlines">Viewing Outlines</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-view-mode">view mode</a></td><td 
class="printindex-index-section"><a href="#Smart-Key-_002d-View-Mode">Smart Key 
- View Mode</a></td></tr>
 <tr><td></td><td class="printindex-index-entry"><a 
href="#index-view-spec">view spec</a></td><td 
class="printindex-index-section"><a href="#View-Specs">View Specs</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 4704340c260..b6d94b0cb03 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index ac0bb63ac00..44eed18e238 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 3fd5bcf3c47..0fc05a543df 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:      7-Jul-26 at 18:05:08 by Bob Weiner
+@c Last-Mod:     10-Jul-26 at 12:11:58 by Bob Weiner
 
 @c %**start of header (This is for running Texinfo on a region.)
 @setfilename hyperbole.info
@@ -30,7 +30,7 @@
 @set txicodequoteundirected
 @set txicodequotebacktick
 
-@set UPDATED July 7, 2026
+@set UPDATED July 10, 2026
 @set UPDATED-MONTH July 2026
 @set EDITION 9.0.2pre
 @set VERSION 9.0.2pre
@@ -171,7 +171,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 9.0.2pre
-Printed July 7, 2026.
+Printed July 10, 2026.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -213,7 +213,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 @example
 Edition 9.0.2pre
-July 7, 2026 @c AUTO-REPLACE-ON-SAVE
+July 10, 2026 @c AUTO-REPLACE-ON-SAVE
 
 
   Published by the Free Software Foundation, Inc.
@@ -1845,6 +1845,7 @@ are not supported without a window system.
 @findex ace-window
 @findex hkey-ace-window-setup
 @cindex ace-window
+@cindex Ace Window
 @cindex window by letter
 @cindex jump to window by letter
 @cindex keyboard, jump to window
@@ -4900,6 +4901,7 @@ consult grep over its HyWiki backlink references, 
selecting one.
 @cindex Activity HyWiki reftype
 @cindex Bookmark HyWiki reftype
 @cindex Command HyWiki reftype
+@cindex Denote HyWiki reftype
 @cindex Elisp HyWiki reftype
 @cindex Find HyWiki reftype
 @cindex Gbut HyWiki reftype
@@ -4947,8 +4949,9 @@ appears only if the Activities package is available):
 @anchor{HyWiki Referents}
 @smallexample
 @noindent
-HyWiki RefType>  Activity Bookmark Command Elisp Find Gbut HyRolo InfoIndex
-                 Keys pathLink infoNode OrgID Page orgRoamNode Spec
+HyWiki RefType>  Activity Bookmark Denote Command Elisp Find Gbut HyRolo
+                 InfoIndex Keys pathLink infoNode OrgID Page orgRoamNode
+                 Spec
 @end smallexample
 
 @exampleindent 0
@@ -4959,6 +4962,7 @@ Menu Item       RefType Add Command      Action 
Description
 Activity        hywiki-add-activity      Activate a saved Activity
 Bookmark        hywiki-add-bookmark      Jump to an Emacs bookmark
 Command         hywiki-add-command       Run a Hypb action or cmd
+Denote          hywiki-add-denote        Display a denote file
 Elisp           hywiki-add-elisp         Evaluate an Elisp sexp
 Find            hywiki-add-find          Grep through hywiki dir
 Gbut            hywiki-add-global-button Activate a global button
@@ -4999,6 +5003,14 @@ command is run.  If the command takes a single argument 
and the empty
 string is given for the argument, then this is replaced with the
 WikiWord when the command is run.
 
+@cindex menu item, HyWiki Denote
+@cindex HyWiki Denote reftype
+@item Denote
+Add a HyWikiWord that displays a denote file.  When called
+interactively or with a WikiWord argument of nil or the empty string,
+then set the WikiWord argument to any wikiword at point; otherwise,
+convert the description from the denote file chosen to a wikiword.
+
 @cindex menu item, HyWiki Elisp
 @cindex HyWiki Elisp reftype
 @item Elisp
@@ -8586,6 +8598,11 @@ We speak of Smart Key and implicit button contexts.  
Both are typically
 defined in terms of surrounding patterns within a buffer, but may be
 defined by arbitrary Emacs Lisp predicates.
 
+@item Denote
+An Emacs package for note taking that uses time-stamped, descriptive
+file naming conventions to label and locate notes.  HyWiki provides
+denote-specific links as one of its reference types.
+
 @item Display
 See @b{Screen}.
 

Reply via email to