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’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> ‘<samp class="samp">:pages</samp>’
-HyWikiWords are active only with pages within <code
class="code">hywiki-directory</code>.
-</li><li> ‘<samp class="samp">:all</samp>’
-HyWikiWords are active within all text and programming buffers
-</li><li> ‘<samp class="samp">nil</samp>’
-the mode is disabled, HyWikiWords are disabled.
+<li> ‘<samp class="samp">:pages</samp>’ - HyWikiWords are active
only with pages within <code class="code">hywiki-directory</code>.
+</li><li> ‘<samp class="samp">:all</samp>’ - HyWikiWords are
active within all text and programming buffers
+</li><li> ‘<samp class="samp">nil</samp>’ - 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
‘<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> Activity Bookmark
Command Elisp Find Gbut HyRolo InfoIndex
- Keys pathLink infoNode OrgID Page orgRoamNode Spec
+<pre class="example-preformatted">HyWiki RefType> 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">
¶</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">
¶</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 "\\‘" and end it
with
+"\\’", 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}.