branch: externals/hyperbole
commit 81a0619202fa48f88aa471b897965d69362114ef
Author: bw <r...@gnu.org>
Commit: bw <r...@gnu.org>

    Add TagFind to HyWiki and HyRolo menus and more updates
    
    Support "file.info#ref" pathnames for Info references/links.
    
    Make "hyperbole.html#Smart Keys" display local Hyperbole manual html
    section in a web browser.
    
    hsys-org.el (hsys-org-enable-smart-keys): Change 'buttons option to :buttons
       so don't have to quote and works in assq/rassq lookups.
    
    hui-mini.el (hui:menus): In HyWiki> menu, change Toggle to ModeToggle so
      can add TagFind item.
    
    hyperbole.el: Require Emacs 27.2 minimum.
---
 ChangeLog               |  38 ++++++++++
 HY-ABOUT                |   2 +-
 HY-TALK/HYPERORG.org    |   4 +-
 Makefile                |   2 +-
 README.md               | 114 +++++++++++++++---------------
 README.md.html          | 125 ++++++++++++++++-----------------
 README.toc.md           | 134 ++++++++++++++++--------------------
 hactypes.el             |  16 +++--
 hbut.el                 |  11 +--
 hibtypes.el             | 179 ++++++++++++++++++++++++++++--------------------
 hpath.el                |  15 +++-
 hui-menu.el             |  33 ++++-----
 hui-mini.el             |  44 +++++++++---
 hui-mouse.el            |   6 +-
 hyperbole.el            |   8 +--
 hyrolo-menu.el          |   5 +-
 man/hyperbole.html      |  68 +++++++++++++-----
 man/hyperbole.info      | Bin 652687 -> 653988 bytes
 man/hyperbole.texi      |  47 +++++++++----
 test/demo-tests.el      |   2 +-
 test/kcell-tests.el     |   4 +-
 test/smart-org-tests.el |   8 +--
 22 files changed, 508 insertions(+), 357 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8c5a236c28..e8572ff1d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2024-08-24  Bob Weiner  <r...@gnu.org>
+
+* hpath.el (hpath:to-Info-ref): Add.
+           (hpath:is-p, hpath:at-p):
+  hactypes.el (link-to-Info-node):
+  hibtypes.el (Info-node): Add support for Info refs in a regular
+    pathname format, e.g. "hyperbole.info#Smart Keys".
+  hibtypes.el (pathname): Exclude Info paths without parens handled
+    by Info-node, e.g. "emacs.info#Windows".
+
+2024-08-23  Bob Weiner  <r...@gnu.org>
+
+* hibtypes.el (hyp-html-manual): Add new ibtype to display Hyperbole HTML
+    manual sections using syntax: "hyperbole.html#section".
+
+* hbut.el (ibut:label-p): Handle when lbl is nil.
+
+* hyperbole.el: Require Emacs 27.2 minimum.
+
+2024-08-19  Bob Weiner  <r...@gnu.org>
+
+* README.md: Add HyWiki description.
+
+* man/hyperbole.texi (HyRolo Searching, HyRolo Menu): Add TagFind menu item.
+
+* hyrolo-menu.el: Add "Tag-Find".
+  hui-menu.el (infodock-hyperbole-menu):
+  hui-mini.el (hui:menus): In HyWiki> menu, change Toggle to ModeToggle so
+    can add TagFind item.
+              (hui:menu-read-from-minibuffer): Add to allow customization
+    of minibuffer read arguments such as 'initial-content' that minibuffer
+    menus generate.
+              (hui:menu-rolo): Add TagFind.
+  man/hyperbole.texi (HyWiki Menu): Add TagFind menu item doc.
+
+* hsys-org.el (hsys-org-enable-smart-keys): Change 'buttons option to :buttons
+    so don't have to quote and works in assq/rassq lookups.
+
 2024-08-18  Bob Weiner  <r...@gnu.org>
 
 * hywiki.el (hywiki-maybe-at-wikiword-beginning): Fix to handle word
diff --git a/HY-ABOUT b/HY-ABOUT
index 4e6d130421..da0954216c 100644
--- a/HY-ABOUT
+++ b/HY-ABOUT
@@ -11,7 +11,7 @@
 GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is
 an efficient and programmable hypertextual information management
 system implemented as a GNU Emacs package.  It works well on GNU Emacs
-27.1 or above.  (See also: "HY-WHY.kotl" for Hyperbole uses).
+27.2 or above.  (See also: "HY-WHY.kotl" for Hyperbole uses).
 
 Hyperbole includes easy-to-use, powerful hypertextual buttons without
 the need to learn a markup language; a hierarchical, record-based
diff --git a/HY-TALK/HYPERORG.org b/HY-TALK/HYPERORG.org
index 592133ea1e..a49f594928 100644
--- a/HY-TALK/HYPERORG.org
+++ b/HY-TALK/HYPERORG.org
@@ -283,11 +283,11 @@ Variable name values can also be displayed.
 This <<variable>> sets the Org mode contexts where Hyperbole's
 Action/Assist keys are active.  By default, these 'Smart Keys'
 work only on hyperbuttons (Hyperbole's and Org's) when the variable
-is set to 'buttons.
+is set to :buttons.
 
    <hsys-org-enable-smart-keys>
 
-   <setq hsys-org-enable-smart-keys 'buttons>
+   <setq hsys-org-enable-smart-keys :buttons>
 
 Set this to 't to enable the Smart Keys in all Org contexts
 (nil to disable):
diff --git a/Makefile b/Makefile
index e05f7cf8ee..1246a05bb6 100644
--- a/Makefile
+++ b/Makefile
@@ -79,7 +79,7 @@
 #
 #               To interactively run a docker version of Emacs with Hyperbole:
 #                   make docker-run              - default to running master
-#                   make docker-run version=27.1 - run Emacs V27.1
+#                   make docker-run version=27.2 - run Emacs V27.2
 #
 #               To build and test a dockerized version of Emacs with Hyperbole:
 #                   make docker                  - defaults: version=master 
targets='clean bin test'
diff --git a/README.md b/README.md
index f7358550b6..9fb84e7230 100644
--- a/README.md
+++ b/README.md
@@ -135,7 +135,7 @@ keyboard and mouse-based control of information display 
within multiple
 windows.  It also provides point-and-click access to World-Wide Web URLs,
 Info manuals, ftp archives, etc.
 
-Hyperbole works well on GNU Emacs 27.1 or above.  It is designed and written
+Hyperbole works well on GNU Emacs 27.2 or above.  It is designed and written
 by Bob Weiner.  It is maintained by him and Mats Lidell.  Its main
 distribution site is: <https://www.gnu.org/software/hyperbole/>.  If any
 term in here is new or unfamiliar to you, you can look it up in the
@@ -148,38 +148,6 @@ Unlock the power of GNU Hyperbole to make your information 
work for you.
 One system.  One language.  One manual.  One solution.  Learn Hyperbole and
 start moving further, faster.
 
-## Mailing Lists
-
-   - **hyperbole-us...@gnu.org** - User list for GNU Hyperbole
-
-       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/hyperbole-users)
-       [web archive](http://lists.gnu.org/pipermail/hyperbole-users/)
-
-   - **bug-hyperb...@gnu.org** - List for bug reporting
-
-       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/bug-hyperbole)
-       [web archive](http://lists.gnu.org/archive/html/bug-hyperbole/)
-
-## Ftp and Git Repository Downloads
-
-To inspect the Hyperbole source code online rather than installing it for
-use (which will also give you the source code), open a web page to:
-
-   - https://git.savannah.gnu.org/cgit/hyperbole.git/tree/
-
-Alternatively, you may download a tar.gz source archive from either:
-
-   - ftp://ftp.gnu.org/gnu/hyperbole/
-
-   - http://ftpmirror.gnu.org/hyperbole/
-
-which will find the closest mirror of the GNU ftp site and show it to you.
-
-If you want to follow along with Hyperbole development and maintain a
-copy/clone of the current version-controlled git tree, use a
-[command listed here](https://savannah.gnu.org/git/?group=hyperbole)
-to clone the Hyperbole project tree.
-
 ## Installation
 
 Once you have Emacs set up at your site, GNU Hyperbole may be
@@ -272,9 +240,41 @@ wherever the Hyperbole package directory is on your 
system; often this is:
 "~/.emacs.d/elpa/hyperbole-${hyperb:version}/".
 
 
+## Mailing Lists
+
+   - **hyperbole-us...@gnu.org** - User list for GNU Hyperbole
+
+       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/hyperbole-users)
+       [web archive](http://lists.gnu.org/pipermail/hyperbole-users/)
+
+   - **bug-hyperb...@gnu.org** - List for bug reporting
+
+       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/bug-hyperbole)
+       [web archive](http://lists.gnu.org/archive/html/bug-hyperbole/)
+
+## Ftp and Git Repository Downloads
+
+To inspect the Hyperbole source code online rather than installing it for
+use (which will also give you the source code), open a web page to:
+
+   - https://git.savannah.gnu.org/cgit/hyperbole.git/tree/
+
+Alternatively, you may download a tar.gz source archive from either:
+
+   - ftp://ftp.gnu.org/gnu/hyperbole/
+
+   - http://ftpmirror.gnu.org/hyperbole/
+
+which will find the closest mirror of the GNU ftp site and show it to you.
+
+If you want to follow along with Hyperbole development and maintain a
+copy/clone of the current version-controlled git tree, use a
+[command listed here](https://savannah.gnu.org/git/?group=hyperbole)
+to clone the Hyperbole project tree.
+
 ## Hyperbole Components
 
-Hyperbole consists of five parts:
+Hyperbole consists of six parts:
 
    1.  **Buttons and Smart Keys**: A set of hyperbutton types which supply
        core hypertext and other behaviors.  Buttons may be added to
@@ -306,23 +306,33 @@ Hyperbole consists of five parts:
        complex operations without having to use a different key for each
        operation.  Just press a Smart Key and the right thing happens;
 
-   2.  **Contact and Text Finder**: an interactive textual information
-       management interface, including fast, flexible file and text
-       finding commands.  A powerful, hierarchical contact manager,
-       HyRolo, which anyone can use is also included.  It is easy to
-       learn to use since it introduces only a few new mechanisms and
-       has a menu interface, which may be operated from the keyboard or
-       the mouse.
+   2.  **Auto-Wiki Note Taker**: HyWiki is a simple note taking system
+       that uses Org mode and automatically highlights and turns each
+       WikiWord into a hyperlink to its Wiki page or section without any
+       markup.
+
+   3.  **Autonumbered Legal Outliner**: The Koutliner is an advanced
+       outliner with multi-level autonumbering and permanent ids
+       attached to each outline node for use as hypertext link
+       anchors, per node properties and flexible view specifications
+       that can be embedded within links or used interactively;
+
+   4.  **Contact and Text Finder**: HyRolo is a powerful, hierarchical
+       contact manager and fast text record search interface with
+       expand/collapse capabilities over search results for quick
+       views.  HyRolo is easy to learn to use since it introduces only
+       a few new mechanisms and has a menu interface, which may be
+       operated from the keyboard or the mouse.
 
           ![HyRolo Menubar Menu](man/im/menu-rolo.png)
 
-   3.  **Screen Control**: Hyperbole includes HyControl, the fastest,
-       easiest-to-use window and frame control available for GNU
-       Emacs.  With just a few keystrokes, you can shift from
-       increasing a window's height by 5 lines to moving a frame by
-       220 pixels or immediately moving it to a screen corner.  Text
-       in each window or frame may be enlarged or shrunk (zoomed) for
-       easy viewing, plus many other features;
+   5.  **Screen Control**: HyControl is the fastest, easiest-to-use
+       window and frame control available for GNU Emacs.  With just a
+       few keystrokes, you can shift from increasing a window's height
+       by 5 lines to moving a frame by 220 pixels or immediately
+       moving it to a screen corner.  Text in each window or frame may
+       be enlarged or shrunk (zoomed) for easy viewing, plus many
+       other features;
 
           The broader vision for HyControl is to support persistent
           window and frame configurations as link targets.  Then a user
@@ -331,13 +341,7 @@ Hyperbole consists of five parts:
           implement this feature but it helps explain the connection of
           HyControl to the rest of Hyperbole;
 
-   4.  **The Koutliner**: an advanced outliner with multi-level
-       autonumbering and permanent ids attached to each outline node for
-       use as hypertext link anchors, per node properties and flexible
-       view specifications that can be embedded within links or used
-       interactively;
-
-   5.  **Programming Library**: a set of programming library classes for
+   6.  **Programming Library**: a set of programming library classes for
        system developers who want to integrate Hyperbole with another
        user interface or as a back-end to a distinct system.  (All of
        Hyperbole is written in Emacs Lisp for ease of modification.
diff --git a/README.md.html b/README.md.html
index 822381a10e..09c86cc806 100644
--- a/README.md.html
+++ b/README.md.html
@@ -12,11 +12,11 @@ Hyperbole 9.0.2pre - The Everyday Hypertextual Information 
Manager</a>
 <ul>
 <li><a href="#videos">Videos</a></li>
 <li><a href="#summary">Summary</a></li>
+<li><a href="#installation">Installation</a></li>
+<li><a href="#invocation">Invocation</a></li>
 <li><a href="#mailing-lists">Mailing Lists</a></li>
 <li><a href="#ftp-and-git-repository-downloads">Ftp and Git Repository
 Downloads</a></li>
-<li><a href="#installation">Installation</a></li>
-<li><a href="#invocation">Invocation</a></li>
 <li><a href="#hyperbole-components">Hyperbole Components</a></li>
 <li><a href="#hyperbole-buttons">Hyperbole Buttons</a></li>
 <li><a href="#important-features">Important Features</a></li>
@@ -158,46 +158,6 @@ installation</a> through the GNU Emacs package manager.</p>
 <p>Unlock the power of GNU Hyperbole to make your information work for
 you. One system. One language. One manual. One solution. Learn Hyperbole
 and start moving further, faster.</p>
-<h2 id="mailing-lists">Mailing Lists</h2>
-<ul>
-<li><p><strong><a
-href="mailto:hyperbole-us...@gnu.org";>hyperbole-us...@gnu.org</a></strong>
-- User list for GNU Hyperbole</p>
-<p><a href="http://lists.gnu.org/mailman/listinfo/hyperbole-users";>info
-and subscription</a> <a
-href="http://lists.gnu.org/pipermail/hyperbole-users/";>web
-archive</a></p></li>
-<li><p><strong><a
-href="mailto:bug-hyperb...@gnu.org";>bug-hyperb...@gnu.org</a></strong> -
-List for bug reporting</p>
-<p><a href="http://lists.gnu.org/mailman/listinfo/bug-hyperbole";>info
-and subscription</a> <a
-href="http://lists.gnu.org/archive/html/bug-hyperbole/";>web
-archive</a></p></li>
-</ul>
-<h2 id="ftp-and-git-repository-downloads">Ftp and Git Repository
-Downloads</h2>
-<p>To inspect the Hyperbole source code online rather than installing it
-for use (which will also give you the source code), open a web page
-to:</p>
-<ul>
-<li><a
-href="https://git.savannah.gnu.org/cgit/hyperbole.git/tree/";>https://git.savannah.gnu.org/cgit/hyperbole.git/tree/</a></li>
-</ul>
-<p>Alternatively, you may download a tar.gz source archive from
-either:</p>
-<ul>
-<li><p><a
-href="ftp://ftp.gnu.org/gnu/hyperbole/";>ftp://ftp.gnu.org/gnu/hyperbole/</a></p></li>
-<li><p><a
-href="http://ftpmirror.gnu.org/hyperbole/";>http://ftpmirror.gnu.org/hyperbole/</a></p></li>
-</ul>
-<p>which will find the closest mirror of the GNU ftp site and show it to
-you.</p>
-<p>If you want to follow along with Hyperbole development and maintain a
-copy/clone of the current version-controlled git tree, use a <a
-href="https://savannah.gnu.org/git/?group=hyperbole";>command listed
-here</a> to clone the Hyperbole project tree.</p>
 <h2 id="installation">Installation</h2>
 <p>Once you have Emacs set up at your site, GNU Hyperbole may be
 installed by using the Emacs Package Manager. If you are not familiar
@@ -276,8 +236,48 @@ manual. For web browsing, point your browser at
 "${hyperb:dir}/man/hyperbole.html", wherever the Hyperbole package
 directory is on your system; often this is:
 "~/.emacs.d/elpa/hyperbole-${hyperb:version}/".</p>
+<h2 id="mailing-lists">Mailing Lists</h2>
+<ul>
+<li><p><strong><a
+href="mailto:hyperbole-us...@gnu.org";>hyperbole-us...@gnu.org</a></strong>
+- User list for GNU Hyperbole</p>
+<p><a href="http://lists.gnu.org/mailman/listinfo/hyperbole-users";>info
+and subscription</a> <a
+href="http://lists.gnu.org/pipermail/hyperbole-users/";>web
+archive</a></p></li>
+<li><p><strong><a
+href="mailto:bug-hyperb...@gnu.org";>bug-hyperb...@gnu.org</a></strong> -
+List for bug reporting</p>
+<p><a href="http://lists.gnu.org/mailman/listinfo/bug-hyperbole";>info
+and subscription</a> <a
+href="http://lists.gnu.org/archive/html/bug-hyperbole/";>web
+archive</a></p></li>
+</ul>
+<h2 id="ftp-and-git-repository-downloads">Ftp and Git Repository
+Downloads</h2>
+<p>To inspect the Hyperbole source code online rather than installing it
+for use (which will also give you the source code), open a web page
+to:</p>
+<ul>
+<li><a
+href="https://git.savannah.gnu.org/cgit/hyperbole.git/tree/";>https://git.savannah.gnu.org/cgit/hyperbole.git/tree/</a></li>
+</ul>
+<p>Alternatively, you may download a tar.gz source archive from
+either:</p>
+<ul>
+<li><p><a
+href="ftp://ftp.gnu.org/gnu/hyperbole/";>ftp://ftp.gnu.org/gnu/hyperbole/</a></p></li>
+<li><p><a
+href="http://ftpmirror.gnu.org/hyperbole/";>http://ftpmirror.gnu.org/hyperbole/</a></p></li>
+</ul>
+<p>which will find the closest mirror of the GNU ftp site and show it to
+you.</p>
+<p>If you want to follow along with Hyperbole development and maintain a
+copy/clone of the current version-controlled git tree, use a <a
+href="https://savannah.gnu.org/git/?group=hyperbole";>command listed
+here</a> to clone the Hyperbole project tree.</p>
 <h2 id="hyperbole-components">Hyperbole Components</h2>
-<p>Hyperbole consists of five parts:</p>
+<p>Hyperbole consists of six parts:</p>
 <ol type="1">
 <li><p><strong>Buttons and Smart Keys</strong>: A set of hyperbutton
 types which supply core hypertext and other behaviors. Buttons may be
@@ -303,30 +303,33 @@ Hyperbole buttons. In many popular Emacs modes, they 
allow you to
 perform common, sometimes complex operations without having to use a
 different key for each operation. Just press a Smart Key and the right
 thing happens;</p></li>
-<li><p><strong>Contact and Text Finder</strong>: an interactive textual
-information management interface, including fast, flexible file and text
-finding commands. A powerful, hierarchical contact manager, HyRolo,
-which anyone can use is also included. It is easy to learn to use since
-it introduces only a few new mechanisms and has a menu interface, which
-may be operated from the keyboard or the mouse.</p>
+<li><p><strong>Auto-Wiki Note Taker</strong>: HyWiki is a simple note
+taking system that uses Org mode and automatically highlights and turns
+each WikiWord into a hyperlink to its Wiki page or section without any
+markup.</p></li>
+<li><p><strong>Autonumbered Legal Outliner</strong>: The Koutliner is an
+advanced outliner with multi-level autonumbering and permanent ids
+attached to each outline node for use as hypertext link anchors, per
+node properties and flexible view specifications that can be embedded
+within links or used interactively;</p></li>
+<li><p><strong>Contact and Text Finder</strong>: HyRolo is a powerful,
+hierarchical contact manager and fast text record search interface with
+expand/collapse capabilities over search results for quick views. HyRolo
+is easy to learn to use since it introduces only a few new mechanisms
+and has a menu interface, which may be operated from the keyboard or the
+mouse.</p>
 <p><img src="man/im/menu-rolo.png" alt="HyRolo Menubar Menu" /></p></li>
-<li><p><strong>Screen Control</strong>: Hyperbole includes HyControl,
-the fastest, easiest-to-use window and frame control available for GNU
-Emacs. With just a few keystrokes, you can shift from increasing a
-window's height by 5 lines to moving a frame by 220 pixels or
-immediately moving it to a screen corner. Text in each window or frame
-may be enlarged or shrunk (zoomed) for easy viewing, plus many other
-features;</p>
+<li><p><strong>Screen Control</strong>: HyControl is the fastest,
+easiest-to-use window and frame control available for GNU Emacs. With
+just a few keystrokes, you can shift from increasing a window's height
+by 5 lines to moving a frame by 220 pixels or immediately moving it to a
+screen corner. Text in each window or frame may be enlarged or shrunk
+(zoomed) for easy viewing, plus many other features;</p>
 <p>The broader vision for HyControl is to support persistent window and
 frame configurations as link targets. Then a user will be able to create
 the views of information he wants and store them as links for rapid
 display. Work remains to implement this feature but it helps explain the
 connection of HyControl to the rest of Hyperbole;</p></li>
-<li><p><strong>The Koutliner</strong>: an advanced outliner with
-multi-level autonumbering and permanent ids attached to each outline
-node for use as hypertext link anchors, per node properties and flexible
-view specifications that can be embedded within links or used
-interactively;</p></li>
 <li><p><strong>Programming Library</strong>: a set of programming
 library classes for system developers who want to integrate Hyperbole
 with another user interface or as a back-end to a distinct system. (All
diff --git a/README.toc.md b/README.toc.md
index 2cd5312122..9fb84e7230 100644
--- a/README.toc.md
+++ b/README.toc.md
@@ -4,25 +4,7 @@
  send us a thank you or a testimonial describing your usage if you like
  Hyperbole (mailto:r...@gnu.org)].
 
-
-
-- [GNU Hyperbole 9.0.2pre - The Everyday Hypertextual Information 
Manager](#gnu-hyperbole-902pre---the-everyday-hypertextual-information-manager)
-  - [Videos](#videos)
-  - [Summary](#summary)
-  - [Mailing Lists](#mailing-lists)
-  - [Ftp and Git Repository Downloads](#ftp-and-git-repository-downloads)
-  - [Installation](#installation)
-  - [Invocation](#invocation)
-  - [Hyperbole Components](#hyperbole-components)
-  - [Hyperbole Buttons](#hyperbole-buttons)
-  - [Important Features](#important-features)
-  - [Hyperbole Uses](#hyperbole-uses)
-  - [Files](#files)
-  - [Programmer Quick Reference](#programmer-quick-reference)
-  - [User Quotes](#user-quotes)
-  - [Why was Hyperbole developed?](#why-was-hyperbole-developed)
-
-
+[TOC]
 
 ![Hyperbole screenshot of the Koutliner, DEMO file and 
HyRolo](man/im/hyperbole-cv.png)
 
@@ -153,7 +135,7 @@ keyboard and mouse-based control of information display 
within multiple
 windows.  It also provides point-and-click access to World-Wide Web URLs,
 Info manuals, ftp archives, etc.
 
-Hyperbole works well on GNU Emacs 27.1 or above.  It is designed and written
+Hyperbole works well on GNU Emacs 27.2 or above.  It is designed and written
 by Bob Weiner.  It is maintained by him and Mats Lidell.  Its main
 distribution site is: <https://www.gnu.org/software/hyperbole/>.  If any
 term in here is new or unfamiliar to you, you can look it up in the
@@ -166,38 +148,6 @@ Unlock the power of GNU Hyperbole to make your information 
work for you.
 One system.  One language.  One manual.  One solution.  Learn Hyperbole and
 start moving further, faster.
 
-## Mailing Lists
-
-   - **hyperbole-us...@gnu.org** - User list for GNU Hyperbole
-
-       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/hyperbole-users)
-       [web archive](http://lists.gnu.org/pipermail/hyperbole-users/)
-
-   - **bug-hyperb...@gnu.org** - List for bug reporting
-
-       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/bug-hyperbole)
-       [web archive](http://lists.gnu.org/archive/html/bug-hyperbole/)
-
-## Ftp and Git Repository Downloads
-
-To inspect the Hyperbole source code online rather than installing it for
-use (which will also give you the source code), open a web page to:
-
-   - https://git.savannah.gnu.org/cgit/hyperbole.git/tree/
-
-Alternatively, you may download a tar.gz source archive from either:
-
-   - ftp://ftp.gnu.org/gnu/hyperbole/
-
-   - http://ftpmirror.gnu.org/hyperbole/
-
-which will find the closest mirror of the GNU ftp site and show it to you.
-
-If you want to follow along with Hyperbole development and maintain a
-copy/clone of the current version-controlled git tree, use a
-[command listed here](https://savannah.gnu.org/git/?group=hyperbole)
-to clone the Hyperbole project tree.
-
 ## Installation
 
 Once you have Emacs set up at your site, GNU Hyperbole may be
@@ -290,9 +240,41 @@ wherever the Hyperbole package directory is on your 
system; often this is:
 "~/.emacs.d/elpa/hyperbole-${hyperb:version}/".
 
 
+## Mailing Lists
+
+   - **hyperbole-us...@gnu.org** - User list for GNU Hyperbole
+
+       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/hyperbole-users)
+       [web archive](http://lists.gnu.org/pipermail/hyperbole-users/)
+
+   - **bug-hyperb...@gnu.org** - List for bug reporting
+
+       [info and 
subscription](http://lists.gnu.org/mailman/listinfo/bug-hyperbole)
+       [web archive](http://lists.gnu.org/archive/html/bug-hyperbole/)
+
+## Ftp and Git Repository Downloads
+
+To inspect the Hyperbole source code online rather than installing it for
+use (which will also give you the source code), open a web page to:
+
+   - https://git.savannah.gnu.org/cgit/hyperbole.git/tree/
+
+Alternatively, you may download a tar.gz source archive from either:
+
+   - ftp://ftp.gnu.org/gnu/hyperbole/
+
+   - http://ftpmirror.gnu.org/hyperbole/
+
+which will find the closest mirror of the GNU ftp site and show it to you.
+
+If you want to follow along with Hyperbole development and maintain a
+copy/clone of the current version-controlled git tree, use a
+[command listed here](https://savannah.gnu.org/git/?group=hyperbole)
+to clone the Hyperbole project tree.
+
 ## Hyperbole Components
 
-Hyperbole consists of five parts:
+Hyperbole consists of six parts:
 
    1.  **Buttons and Smart Keys**: A set of hyperbutton types which supply
        core hypertext and other behaviors.  Buttons may be added to
@@ -324,23 +306,33 @@ Hyperbole consists of five parts:
        complex operations without having to use a different key for each
        operation.  Just press a Smart Key and the right thing happens;
 
-   2.  **Contact and Text Finder**: an interactive textual information
-       management interface, including fast, flexible file and text
-       finding commands.  A powerful, hierarchical contact manager,
-       HyRolo, which anyone can use is also included.  It is easy to
-       learn to use since it introduces only a few new mechanisms and
-       has a menu interface, which may be operated from the keyboard or
-       the mouse.
+   2.  **Auto-Wiki Note Taker**: HyWiki is a simple note taking system
+       that uses Org mode and automatically highlights and turns each
+       WikiWord into a hyperlink to its Wiki page or section without any
+       markup.
+
+   3.  **Autonumbered Legal Outliner**: The Koutliner is an advanced
+       outliner with multi-level autonumbering and permanent ids
+       attached to each outline node for use as hypertext link
+       anchors, per node properties and flexible view specifications
+       that can be embedded within links or used interactively;
+
+   4.  **Contact and Text Finder**: HyRolo is a powerful, hierarchical
+       contact manager and fast text record search interface with
+       expand/collapse capabilities over search results for quick
+       views.  HyRolo is easy to learn to use since it introduces only
+       a few new mechanisms and has a menu interface, which may be
+       operated from the keyboard or the mouse.
 
           ![HyRolo Menubar Menu](man/im/menu-rolo.png)
 
-   3.  **Screen Control**: Hyperbole includes HyControl, the fastest,
-       easiest-to-use window and frame control available for GNU
-       Emacs.  With just a few keystrokes, you can shift from
-       increasing a window's height by 5 lines to moving a frame by
-       220 pixels or immediately moving it to a screen corner.  Text
-       in each window or frame may be enlarged or shrunk (zoomed) for
-       easy viewing, plus many other features;
+   5.  **Screen Control**: HyControl is the fastest, easiest-to-use
+       window and frame control available for GNU Emacs.  With just a
+       few keystrokes, you can shift from increasing a window's height
+       by 5 lines to moving a frame by 220 pixels or immediately
+       moving it to a screen corner.  Text in each window or frame may
+       be enlarged or shrunk (zoomed) for easy viewing, plus many
+       other features;
 
           The broader vision for HyControl is to support persistent
           window and frame configurations as link targets.  Then a user
@@ -349,13 +341,7 @@ Hyperbole consists of five parts:
           implement this feature but it helps explain the connection of
           HyControl to the rest of Hyperbole;
 
-   4.  **The Koutliner**: an advanced outliner with multi-level
-       autonumbering and permanent ids attached to each outline node for
-       use as hypertext link anchors, per node properties and flexible
-       view specifications that can be embedded within links or used
-       interactively;
-
-   5.  **Programming Library**: a set of programming library classes for
+   6.  **Programming Library**: a set of programming library classes for
        system developers who want to integrate Hyperbole with another
        user interface or as a back-end to a distinct system.  (All of
        Hyperbole is written in Emacs Lisp for ease of modification.
diff --git a/hactypes.el b/hactypes.el
index 6627f7b4ec..8f1fc614ae 100644
--- a/hactypes.el
+++ b/hactypes.el
@@ -499,15 +499,17 @@ suffix."
 (defact link-to-Info-node (string)
   "Display an Info node given by STRING.
 If not found, try to display it as an Info index item.
-STRING must be a string of the form \"(filename)name\".  During
-button creation, completion for both filename and node names is
-available.  Filename may be given without the .info suffix."
+STRING must be a string of the form \"(filename)name\" or
+\"filename.info#name\".  During button creation, completion for both
+filename and node names is available.  Filename may be given without
+the .info suffix in the format with parentheses."
   (interactive "+IInfo (file)nodename to link to: ")
   (require 'info)
-  (when (stringp string)
-    ;; Remove any tabs or newlines that might be in string.
-    (setq string (replace-regexp-in-string "[ \t\n\r\f]+" " " string t t)))
-  (if (and (stringp string) (string-match "^(\\([^\)]+\\))\\(.*\\)" string))
+  (if (and (stringp string)
+          ;; Remove any tabs or newlines that might be in string.
+          (setq string (replace-regexp-in-string "[ \t\n\r\f]+" " " string t t)
+                string (hpath:to-Info-ref string))
+          (string-match "\\`(\\([^\)]+\\))\\(.*\\)" string))
       (id-info string)
     (hypb:error "(link-to-Info-node): Invalid Info node: `%s'" string)))
 
diff --git a/hbut.el b/hbut.el
index e55d4ab742..7f342f87ff 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    18-Sep-91 at 02:57:09
-;; Last-Mod:     16-Aug-24 at 00:56:16 by Bob Weiner
+;; Last-Mod:     23-Aug-24 at 21:38:08 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -2324,10 +2324,11 @@ lines."
       (setq lbl (if (listp result) (car result) result))
       ;; Ensure match does not contain delimiters, as it may have run
       ;; past the beginning of another button.
-      (unless (string-match (concat (regexp-quote start-delim) "\\|"
-                                   (regexp-quote end-delim))
-                           lbl)
-       result))))
+      (when lbl
+       (unless (string-match (concat (regexp-quote start-delim) "\\|"
+                                     (regexp-quote end-delim))
+                             lbl)
+         result)))))
 
 (defun    ibut:label-set (label &optional start end)
   "Set current implicit button label attributes.
diff --git a/hibtypes.el b/hibtypes.el
index faeaac5ea9..150c6532d7 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -76,6 +76,8 @@
 (declare-function htype:def-symbol "hact")
 (declare-function hui:help-ebut-highlight "hui")
 (declare-function hyperb:stack-frame "hversion")
+(declare-function hywiki-page-exists-p "hywiki")
+
 (declare-function set:member "set")
 (declare-function symset:add "hact")
 (declare-function symtable:add "hact")
@@ -282,78 +284,80 @@ display options."
           (path (hpath:at-p))
           elisp-suffix
            full-path)
-      (if path
-         (cond ((and (not (string-empty-p path))
-                     (= (aref path 0) ?-)
-                     (or (setq elisp-suffix (string-match 
"\\`[^\\\\/~]+\\.el[cn]?\\(\\.gz\\)?\\'" path))
-                         (string-match "\\`[^.\\/\t\n\r\f]+\\'" path))
-                     (string-match hpath:prefix-regexp path))
-                 (setq path (substring path (match-end 0))
-                      full-path (locate-library path elisp-suffix))
-                 (cond (full-path
-                       (setq path (concat "-" path))
-                       (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path))
-                       (hact 'hpath:find path))
-                      (elisp-suffix
-                       (hact 'error "(pathname): \"%s\" not found in 
`load-path'" path))
-                      ;; Don't match as a pathname ibut; could be a Lisp
-                      ;; symbol or something else starting with a '-'.
-                      (t nil)))
-               (t (when (string-match "\\`file://" path)
-                     (setq path (substring path (match-end 0))))
-                  (if (or (> (cl-count ?: orig-path) 2)
-                          (> (cl-count ?\; orig-path) 2))
-                      ;; PATH-like set of values; select just the one point is 
on
-                       (apply #'ibut:label-set path (hpath:start-end path))
-                    ;; Otherwise, use the unchanged orig-path
-                     (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path)))
-                   (hact 'link-to-file path)))
-        ;;
-        ;; Match PATH-related Environment and Lisp variable names and
-       ;; Emacs Lisp and Info files without any directory component.
-        (when (setq path orig-path)
-          (cond ((and (string-match hpath:path-variable-regexp path)
-                     (setq path (match-string-no-properties 1 path))
-                     (hpath:is-path-variable-p path))
-                (setq path (if (or assist-flag (hyperb:stack-frame 
'(hkey-help)))
-                               path
-                             (hpath:choose-from-path-variable path "Display")))
-                (unless (or (null path) (string-blank-p path)
-                            ;; Could be a shell command from a semicolon
-                            ;; separated list; ignore if so.
-                            (and (string-match "\\`\\s-*\\([^;         ]+\\)" 
path)
-                                 (executable-find (match-string-no-properties 
1 path))))
-                   (apply #'ibut:label-set path (hpath:start-end path))
-                  (hact 'link-to-file path)))
-               ((setq elisp-suffix (string-match 
"\\`[^\\\\/~]+\\.el[cn]?\\(\\.gz\\)?\\'" path))
-                 (cond ((string-match hpath:prefix-regexp path)
-                       (apply #'ibut:label-set path (hpath:start-end path))
-                       (hact 'hpath:find path))
-                       ((setq full-path
-                             (let ((load-suffixes '(".el")))
-                               (locate-library path elisp-suffix)))
-                       (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path))
-                       (hact 'link-to-file full-path))
-                      (elisp-suffix
-                       (hact 'error "(pathname): \"%s\" not found in 
`load-path'" path))
-                      ;; Don't match as a pathname ibut; could be a Lisp
-                      ;; symbol or something else starting with a '-'.
-                      (t nil)))
-                ;; Match only if "(filename)" references a valid Info file
-                ;; and point is within the filename, not on any delimiters
-                ;; so that delimited thing matches trigger later.
-                ((and (not (looking-at "[\"()]"))
-                      (string-match "\\`(\\([^ \t\n\r\f]+\\))\\'" path)
-                      (save-match-data (require 'info))
-                      (Info-find-file (match-string-no-properties 1 path) t))
-                 (apply #'ibut:label-set orig-path (hpath:start-end orig-path))
-                 (hact 'link-to-Info-node (format "%sTop" path)))
-                ((string-match hpath:info-suffix path)
-                 (apply #'ibut:label-set orig-path (hpath:start-end orig-path))
-                 (hact 'link-to-Info-node (format "(%s)Top" path)))
-                ;; Otherwise, fall through and allow other implicit
-                ;; button types to handle this context.
-                ))))))
+      ;; If an Info path without parens, don't handle it here, use the 
`Info-node' ibtype
+      (unless (and path (string-match-p ".+\\.info\\([.#]\\|\\'\\)" path))
+       (if path
+           (cond ((and (not (string-empty-p path))
+                       (= (aref path 0) ?-)
+                       (or (setq elisp-suffix (string-match 
"\\`[^\\\\/~]+\\.el[cn]?\\(\\.gz\\)?\\'" path))
+                           (string-match "\\`[^.\\/\t\n\r\f]+\\'" path))
+                       (string-match hpath:prefix-regexp path))
+                   (setq path (substring path (match-end 0))
+                        full-path (locate-library path elisp-suffix))
+                   (cond (full-path
+                         (setq path (concat "-" path))
+                         (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path))
+                         (hact 'hpath:find path))
+                        (elisp-suffix
+                         (hact 'error "(pathname): \"%s\" not found in 
`load-path'" path))
+                        ;; Don't match as a pathname ibut; could be a Lisp
+                        ;; symbol or something else starting with a '-'.
+                        (t nil)))
+                 (t (when (string-match "\\`file://" path)
+                       (setq path (substring path (match-end 0))))
+                    (if (or (> (cl-count ?: orig-path) 2)
+                            (> (cl-count ?\; orig-path) 2))
+                        ;; PATH-like set of values; select just the one point 
is on
+                        (apply #'ibut:label-set path (hpath:start-end path))
+                      ;; Otherwise, use the unchanged orig-path
+                       (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path)))
+                     (hact 'link-to-file path)))
+          ;;
+          ;; Match PATH-related Environment and Lisp variable names and
+         ;; Emacs Lisp and Info files without any directory component.
+          (when (setq path orig-path)
+            (cond ((and (string-match hpath:path-variable-regexp path)
+                       (setq path (match-string-no-properties 1 path))
+                       (hpath:is-path-variable-p path))
+                  (setq path (if (or assist-flag (hyperb:stack-frame 
'(hkey-help)))
+                                 path
+                               (hpath:choose-from-path-variable path 
"Display")))
+                  (unless (or (null path) (string-blank-p path)
+                              ;; Could be a shell command from a semicolon
+                              ;; separated list; ignore if so.
+                              (and (string-match "\\`\\s-*\\([^;       ]+\\)" 
path)
+                                   (executable-find 
(match-string-no-properties 1 path))))
+                     (apply #'ibut:label-set path (hpath:start-end path))
+                    (hact 'link-to-file path)))
+                 ((setq elisp-suffix (string-match 
"\\`[^\\\\/~]+\\.el[cn]?\\(\\.gz\\)?\\'" path))
+                   (cond ((string-match hpath:prefix-regexp path)
+                         (apply #'ibut:label-set path (hpath:start-end path))
+                         (hact 'hpath:find path))
+                        ((setq full-path
+                               (let ((load-suffixes '(".el")))
+                                 (locate-library path elisp-suffix)))
+                         (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path))
+                         (hact 'link-to-file full-path))
+                        (elisp-suffix
+                         (hact 'error "(pathname): \"%s\" not found in 
`load-path'" path))
+                        ;; Don't match as a pathname ibut; could be a Lisp
+                        ;; symbol or something else starting with a '-'.
+                        (t nil)))
+                  ;; Match only if "(filename)" references a valid Info file
+                  ;; and point is within the filename, not on any delimiters
+                  ;; so that delimited thing matches trigger later.
+                  ((and (not (looking-at "[\"()]"))
+                       (string-match "\\`(\\([^ \t\n\r\f]+\\))\\'" path)
+                       (save-match-data (require 'info))
+                       (Info-find-file (match-string-no-properties 1 path) t))
+                   (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path))
+                   (hact 'link-to-Info-node (format "%sTop" path)))
+                  ((string-match hpath:info-suffix path)
+                   (apply #'ibut:label-set orig-path (hpath:start-end 
orig-path))
+                   (hact 'link-to-Info-node (format "(%s)Top" path)))
+                  ;; Otherwise, fall through and allow other implicit
+                  ;; button types to handle this context.
+                  )))))))
 
 ;;; ========================================================================
 ;;; Follows URLs by invoking a web browser.
@@ -361,6 +365,27 @@ display options."
 
 (load "hsys-www")
 
+;;; ========================================================================
+;;; Uses web browser to display links to Hyperbole HTML manual sections
+;;; Links are of the form "hyperbole.html#Smart Keys"
+;;; ========================================================================
+
+(defib hyp-html-manual ()
+  "When on a \"hyperbole.html\" manual path, display it in a web browser.
+For example, display \"hyperbole.html#Smart Keys\" using the local
+html version of the Hyperbole manual."
+  (let* ((path-start-end (hargs:delimited "\"" "\"" nil nil t))
+        (path (nth 0 path-start-end))
+        (start (nth 1 path-start-end))
+        (end (nth 2 path-start-end)))
+    (when (stringp path)
+      (setq path (string-trim path))
+      (when (string-match "\\`hyperbole.html\\(#.*\\)?\\'" path)
+       (ibut:label-set path start end)
+       ;; Any spaces in #section must be replaced with dashes to match html ids
+       (setq path (replace-regexp-in-string "\\s-+" "-" path))
+       (hact 'www-url (concat "file://" (expand-file-name path (hpath:expand 
"${hyperb:dir}/man/"))))))))
+
 ;;; ========================================================================
 ;;; Handles internal references within an annotated bibliography, delimiters=[]
 ;;; ========================================================================
@@ -1408,10 +1433,11 @@ GNUS is a news and mail reader."
 
 (defib Info-node ()
   "Make a \"(filename)nodename\" button display the associated Info node.
-Also make a \"(filename)itemname\" button display the associated Info index 
item.
-Examples are \"(hyperbole)Implicit Buttons\" and ``(hyperbole)C-c /''.
-
-Activates only if point is within the first line of the Info-node name."
+Also make a \"(filename)itemname\" button display the associated Info
+index item.  Examples are \"(hyperbole)Implicit Buttons\" and
+``(hyperbole)C-c /''.  Pathname formats like:
+\"hyperbole.info#Implicit Buttons\" are also accepted.  Activates only
+if point is within the first line of the Info reference."
   (let* ((node-ref-and-pos (or ;; HTML
                               (hbut:label-p t "&quot;" "&quot;" t t)
                               ;; Embedded double quotes
@@ -1429,6 +1455,7 @@ Activates only if point is within the first line of the 
Info-node name."
                                (hbut:label-p t "`" "'" t t)))
          (ref (car node-ref-and-pos))
          (node-ref (and (stringp ref)
+                       (setq ref (hpath:to-Info-ref ref))
                         (or (string-match-p "\\`([^\): \t\n\r\f]+)\\'" ref)
                             (string-match-p "\\`([^\): \t\n\r\f]+)[^ :;\"'`]" 
ref))
                        ;; Below handle decoding of Info node names in
diff --git a/hpath.el b/hpath.el
index a6050b3b42..253143cc53 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:     13-Aug-24 at 22:29:46 by Bob Weiner
+;; Last-Mod:     24-Aug-24 at 01:31:41 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1085,7 +1085,8 @@ Make any existing path within a file buffer absolute 
before returning."
                           (file-name-absolute-p expanded-path) ;; absolute path
                           (string-match-p hpath:variable-regexp expanded-path) 
;; path with var
                           (string-match-p "\\`([^\):]+)" expanded-path)))) ;; 
Info node
-         (when (or non-exist (file-exists-p expanded-path))
+         (when (or non-exist (file-exists-p expanded-path)
+                   (string-match-p ".+\\.info\\([.#]\\|\\'\\)" expanded-path))
            (concat prefix mode-prefix expanded-path suffix)))))))
 
 (defun hpath:is-path-variable-p (path-var)
@@ -1827,6 +1828,7 @@ form is what is returned for PATH."
                                                          (or
                                                           ;; Info or remote 
path, so don't check for.
                                                           (string-match-p 
"[()]" path)
+                                                          (string-match-p 
".+\\.info\\([.#]\\|\\'\\)" path)
                                                           (hpath:remote-p path)
                                                           (setq suffix 
(hpath:exists-p path t))
                                                           ;; Don't allow 
spaces in non-existent pathnames
@@ -2162,6 +2164,15 @@ Return LINKNAME unchanged if it is not a symbolic link 
but is a pathname."
         (setq referent (expand-file-name referent dirname))))
   referent)
 
+(defun hpath:to-Info-ref (path)
+  "Reformat Info PATH \"file.info#ref\" into \"(file)ref\" format.
+Leave any other format unchanged and return the resulting path."
+  (if (string-match 
"\\(.+\\)\\.info\\(-[0-9]+\\)?\\(\\.gz\\|\\.Z\\|-z\\)?\\(#\\(.+\\)\\)?\\'" path)
+      (format "(%s)%s"
+             (match-string 1 path)
+             (or (match-string 5 path) ""))
+    path))
+
 (defun hpath:to-line (line-num)
   "Move point to the start of an absolute LINE-NUM or the last line.
 This ignores any buffer narrowing (aside from Koutlines) when
diff --git a/hui-menu.el b/hui-menu.el
index 799ee50486..77a3dd2aa9 100644
--- a/hui-menu.el
+++ b/hui-menu.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    28-Oct-94 at 10:59:44
-;; Last-Mod:     18-Aug-24 at 15:33:29 by Bob Weiner
+;; Last-Mod:     19-Aug-24 at 23:28:31 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -210,18 +210,18 @@ Return t if cutoff, else nil."
          t))
 
 (defconst hui-menu-org-meta-return-options
-  '("Org-M-RETURN"
+  '("Org M-RET Overrides"
      "----"
      "----"
-     ["All-Programmed-Contexts"
+     ["All-Hyperbole-Contexts"
       (customize-save-variable 'hsys-org-enable-smart-keys t)
       :style radio :selected (when (boundp 'hsys-org-enable-smart-keys)
                               (eq hsys-org-enable-smart-keys t))]
      ["Hyperbole-Buttons-Only"
-      (customize-save-variable 'hsys-org-enable-smart-keys 'buttons)
+      (customize-save-variable 'hsys-org-enable-smart-keys :buttons)
       :style radio :selected (when (boundp 'hsys-org-enable-smart-keys)
-                              (eq hsys-org-enable-smart-keys 'buttons))]
-     ["Ignored-by-Hyperbole"
+                              (memq hsys-org-enable-smart-keys '(:buttons 
buttons)))]
+     ["None"
       (customize-save-variable 'hsys-org-enable-smart-keys nil)
       :style radio :selected (when (boundp 'hsys-org-enable-smart-keys)
                               (eq hsys-org-enable-smart-keys nil))])
@@ -448,18 +448,19 @@ REBUILD-FLAG is non-nil, in which case the menu is 
rebuilt."
                   ["Link"   hui:gbut-link-directly t]
                    ["Rename" hui:gbut-rename t])
                 (list "HyWiki"
-                      ["Manual"   (id-info "(hyperbole)HyWiki") t]
+                      ["Manual"              (id-info "(hyperbole)HyWiki") t]
                       "----"
-                      ["Activate"           hywiki-word-activate t]
-                      ["Create"             hywiki-add-page-and-display t]
-                      ["Edit"               hywiki-find-page t]
-                      ["Grep-Consult"       hywiki-consult-grep t]
-                      ["Help"               hkey-help t]
-                      ["Link"               hywiki-add-link t]
+                      ["Activate"            hywiki-word-activate t]
+                      ["Create"              hywiki-add-page-and-display t]
+                      ["Edit"                hywiki-find-page t]
+                      ["Grep-Consult"        hywiki-consult-grep t]
+                      ["Help"                hkey-help t]
+                      ["Link"                hywiki-add-link t]
                       hui-menu-org-meta-return-options
-                      ["Publish"            hywiki-publish-to-html t]
-                      ["Toggle-HyWiki-Mode" hywiki-mode t]
-                      ["WikiWord-Consult"   hywiki-word-consult-grep t])
+                      ["HyWiki-Mode-Toggle" hywiki-mode t]
+                      ["Publish"             hywiki-publish-to-html t]
+                      ["Tag-Find"            hywiki-tags-view t]
+                      ["WikiWord-Consult"    hywiki-word-consult-grep t])
                 '("Implicit-Button"
                   ["Manual"   (id-info "(hyperbole)Implicit Buttons") t]
                   "----"
diff --git a/hui-mini.el b/hui-mini.el
index 9b0522626c..280a861f18 100644
--- a/hui-mini.el
+++ b/hui-mini.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    15-Oct-91 at 20:13:17
-;; Last-Mod:     18-Aug-24 at 15:33:00 by Bob Weiner
+;; Last-Mod:     19-Aug-24 at 23:29:29 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -389,12 +389,31 @@ or if there are none, then its first character."
       (aref item 0)))
 
 (defun hui:menu-item-keys (menu-alist)
-  "Return ordered list of keys that activate Hypb minibuffer MENU-ALIST items.
+  "Return ordered list of keys that activate Hypb minibuffer MENU-A[LIST items.
 For each item, the key is either the first capital letter in item
 or if there are none, then its first character."
   (mapcar (lambda (item) (hui:menu-item-key item))
          (mapcar 'car (cdr menu-alist))))
 
+(defun hui:menu-read-from-minibuffer (prompt &optional initial-contents keymap 
read
+                                     hist default-value inherit-input-method)
+  "Hyperbole minibuffer menu replacement for `read-from-minibuffer'.
+Allows custom handling of menu lines before selecting an item."
+  (when (and (stringp initial-contents)
+            (string-prefix-p "Org M-RET" initial-contents))
+    (let* ((org-m-ret-options (cddr (assq 'cust-org hui:menus)))
+          (option-lookups (mapcar (lambda (option)
+                                    (cons (car (last (nth 1 option)))
+                                          (car option)))
+                                  org-m-ret-options))
+          (current-name (cdr (assq hsys-org-enable-smart-keys 
option-lookups))))
+      (when (and (stringp current-name) (stringp initial-contents))
+       (setq initial-contents (string-replace current-name
+                                              (concat "==" current-name "==")
+                                              initial-contents)))))
+  (read-from-minibuffer prompt initial-contents keymap read
+                       hist default-value inherit-input-method))
+
 (defun hui:menu-choose (menu-alist &optional doc-flag help-string-flag)
   "Prompt user to choose the first capitalized char of any item from 
MENU-ALIST.
 Return the Lisp form associated with the selected item, which may be
@@ -424,7 +443,7 @@ documentation, not the full text."
         (hargs:reading-type 'hmenu))
     (while (not (memq (setq key (upcase
                                 (string-to-char
-                                 (read-from-minibuffer
+                                 (hui:menu-read-from-minibuffer
                                   "" menu-line hui:menu-mode-map nil t))))
                      keys))
       (beep)
@@ -749,13 +768,13 @@ command instead.  Typically prevents clashes over 
{\\`C-c' /}."
          ("WinControl"    (hui:bind-key #'hycontrol-enable-windows-mode))      
;; {C-c \}
          ))
        '(cust-org .
-         (("Org M-RETURN>")
-         ("All-Smart-Org-Contexts"       (customize-save-variable 
'hsys-org-enable-smart-keys t)
+         (("Org M-RET Overrides>")
+         ("All-Hyperbole-Contexts" (customize-save-variable 
'hsys-org-enable-smart-keys t)
           "Smart Keys override Org M-RET in all Org mode Smart Key contexts 
(see `smart-org').")
-         ("Hyperbole-Buttons-Only"       (customize-save-variable 
'hsys-org-enable-smart-keys 'buttons)
+         ("Hyperbole-Buttons-Only" (customize-save-variable 
'hsys-org-enable-smart-keys :buttons)
           "Smart Keys override Org M-RET only when on a Hyperbole recognized 
button.")
-         ("Ignored-by-Hyperbole"         (customize-save-variable 
'hsys-org-enable-smart-keys nil)
-          "Org M-RET always overrides the Smart Keys within Org mode.")))
+         ("None"                   (customize-save-variable 
'hsys-org-enable-smart-keys nil)
+          "Smart Keys never override Org M-RET operation.")))
        '(cust-referents .
          (("Ref Display>")
          ("Any-Frame"   (setq hpath:display-where 'other-frame))
@@ -857,13 +876,15 @@ command instead.  Typically prevents clashes over 
{\\`C-c' /}."
           "Display Hyperbole manual section on HyWiki.")
          ("Link"           hywiki-add-link
           "Prompt for and add a link at point to a HyWiki page.")
+          ("ModeToggle"     hywiki-mode
+          "Toggle whether HyWikiWords are highlighted and active in buffers 
outside of the HyWiki page directory.")
          ("Org-M-RET/"     (menu . cust-org)
           "Set how much of Hyperbole Smart Key behavior is enabled in Org 
mode.")
           ("Publish"        hywiki-publish-to-html
           "Publish modified pages in the HyWiki to HTML; prefix arg to publish 
all pages.")
-          ("Toggle"         hywiki-mode
-          "Toggle whether HyWikiWords are highlighted and active in buffers 
outside of the HyWiki page directory.")
-         ("WikiWordConsult"         hywiki-word-consult-grep
+         ("TagFind"        hywiki-tags-view
+          "Find HyWiki Org tags.")
+         ("WikiWordConsult" hywiki-word-consult-grep
           "Use `hywiki-consult-grep' to show occurrences of a prompted for 
HyWikiWord.")))
        '(ibut .
         (("IButton>")
@@ -990,6 +1011,7 @@ command instead.  Typically prevents clashes over {\\`C-c' 
/}."
         '("Order"            hyrolo-sort                   "Order rolo entries 
in a file.")
         '("RegexFind"        hyrolo-grep                   "Find entries 
containing a regexp.")
         '("StringFind"       hyrolo-fgrep                  "Find entries 
containing a string.")
+        '("TagFind"          hyrolo-tags-view              "Find HyRolo Org 
tags.")
         '("WordFind"         hyrolo-word                   "Find entries 
containing words.")
         '("Yank"             hyrolo-yank                   "Find an entry 
containing a string and insert it at point.")))
   "*Hyperbole minibuffer Rolo menu items of the form:
diff --git a/hui-mouse.el b/hui-mouse.el
index b73e9f6f21..50e15c35cf 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    04-Feb-89
-;; Last-Mod:     18-Aug-24 at 22:03:38 by Bob Weiner
+;; Last-Mod:     19-Aug-24 at 22:17:10 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -1813,7 +1813,7 @@ When the Action Key is pressed and 
`hsys-org-enable-smart-keys' is t:
   3. On an Org agenda view item, jump to the item for editing.
 
 When the Action Key is pressed and `hsys-org-enable-smart-keys' is
-either t or \\='buttons:
+either `t' or `:buttons':
 
   4. Within a radio or internal target or a link to it, jump between
      the target and the first link to it, allowing two-way navigation.
@@ -1934,7 +1934,7 @@ handled by the separate implicit button type, 
`org-link-outside-org-mode'."
                   (t
                    ;; Continue with any further Smart Key non-Org contexts
                    nil)))
-           ((eq hsys-org-enable-smart-keys 'buttons)
+           ((memq hsys-org-enable-smart-keys '(:buttons buttons))
             (cond ((hsys-org-radio-target-def-at-p)
                    (hact 'org-radio-target-link)
                    t)
diff --git a/hyperbole.el b/hyperbole.el
index f207f925ab..eed5a3a9d3 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -6,15 +6,15 @@
 
 ;; Author:       Robert Weiner <r...@gnu.org>
 ;; Authors:      Robert Weiner <r...@gnu.org>, Mats Lidell <ma...@gnu.org>
-;; Maintainer:   Mats Lidell <ma...@gnu.org>
+;; Maintainer:   Robert Weiner <r...@gnu.org>
 ;; Maintainers:  Robert Weiner <r...@gnu.org>, Mats Lidell <ma...@gnu.org>
 ;; Created:      06-Oct-92 at 11:52:51
-;; Last-Mod:      2-Jun-24 at 13:22:35 by Bob Weiner
+;; Last-Mod:     23-Aug-24 at 22:36:12 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
 ;; Package:      hyperbole
-;; Package-Requires: ((emacs "27.1"))
+;; Package-Requires: ((emacs "27.2"))
 ;; URL:          http://www.gnu.org/software/hyperbole
 
 ;; See the "HY-COPY" file for license information.
@@ -490,7 +490,7 @@ frame, those functions by default still return the prior 
frame."
                            (cond ((car-safe (get 'hsys-org-enable-smart-keys 
'customized-value)))
                                  ((car-safe (get 'hsys-org-enable-smart-keys 
'saved-value)))
                                  ((hsys-org-meta-return-shared-p)
-                                  'buttons)
+                                  :buttons)
                                  (t))))
   ;;
   ;; This next function call must be run before any tests involving Org
diff --git a/hyrolo-menu.el b/hyrolo-menu.el
index 0d988dcd61..437406aa48 100644
--- a/hyrolo-menu.el
+++ b/hyrolo-menu.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:    28-Oct-94 at 10:59:44
-;; Last-Mod:     10-Dec-23 at 19:07:10 by Bob Weiner
+;; Last-Mod:     19-Aug-24 at 23:29:52 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -55,7 +55,8 @@
         ["Search-for-Regexp"       (id-tool-invoke 'hyrolo-grep)            t]
         ["Search-for-String"       (id-tool-invoke 'hyrolo-fgrep)           t]
         ["Search-for-Word"         (id-tool-invoke 'hyrolo-word)            t]
-        ["Sort-Entries"            (id-tool-invoke 'hyrolo-sort)            
t])))
+        ["Sort-Entries"            (id-tool-invoke 'hyrolo-sort)            t]
+        ["Tag-Find"                (id-tool-invoke 'hyrolo-tags-view)       
t])))
 
 (defconst hyrolo-menu-common-body
   '(
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 2f89605616..4faf4a9fda 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -108,7 +108,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 9.0.2pre
-Printed August 17, 2024.
+Printed August 19, 2024.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -2243,7 +2243,7 @@ that set or if final done keyword, remove it.
 </li><li> On an Org agenda view item, jump to the item for editing.
 
 <p>When the Action Key is pressed and <code>hsys-org-enable-smart-keys</code>
-is either &lsquo;<samp>t</samp>&rsquo; or &lsquo;<samp>'buttons</samp>&rsquo;:
+is either &lsquo;<samp>t</samp>&rsquo; or &lsquo;<samp>:buttons</samp>&rsquo;:
 </p>
 </li><li> Within a radio or internal target or a link to it, jump between
 the target and the first link to it, allowing two-way navigation.
@@ -2305,6 +2305,8 @@ through views of the whole buffer outline.
 <span id="index-disable-org_002dmode-support"></span>
 <span id="index-inhibit-org_002dmode-support"></span>
 <span id="index-menu-item_002c-Cust_002fOrg_002dM_002dRET"></span>
+<span id="index-customize-Org-M_002dRET"></span>
+<span id="index-Org-M_002dRET-customize"></span>
 <span id="index-Org-M_002dRET-override"></span>
 <span id="index-override-Org-M_002dRET"></span>
 <span id="index-C_002dh-h-c-o"></span>
@@ -2322,7 +2324,7 @@ this setting.
 <pre 
class="example">|--------------+-------------------+------------------+----------+------------------|
 | This Setting | Smart Key Context | Hyperbole Button | Org Link | Fallback 
Command |
 
|--------------+-------------------+------------------+----------+------------------|
-| buttons      | Ignore            | Activate         | Activate | 
org-meta-return  |
+| :buttons     | Ignore            | Activate         | Activate | 
org-meta-return  |
 | nil          | Ignore            | Ignore           | Ignore   | 
org-meta-return  |
 | t            | Activate          | Activate         | Activate | None        
     |
 
|--------------+-------------------+------------------+----------+------------------|
@@ -4467,23 +4469,23 @@ HyWikiWords.
 <span id="index-override-Org-M_002dRET-1"></span>
 <span id="index-C_002dh-h-h-o-a"></span>
 <span id="index-C_002dh-h-h-c"></span>
-<span 
id="index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fAll_002dSmart_002dOrg_002dContexts"></span>
+<span 
id="index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fAll_002dHyperbole_002dContexts"></span>
 <p>The Action Key can create new HyWiki pages when on an undefined
 HyWikiWord if you change the setting that controls the Org mode
 <kbd>{M-<span class="key">RET</span>}</kbd> binding.  Have Hyperbole override 
Org&rsquo;s control of
 that key in all Action and Assist Key contexts with the
-&lsquo;<samp>All-Smart-Org-Contexts</samp>&rsquo; setting bound to <kbd>{C-h h 
h o a}</kbd>.
+&lsquo;<samp>All-Hyperbole-Contexts</samp>&rsquo; setting bound to <kbd>{C-h h 
h o a}</kbd>.
 </p>
 <span id="index-activate-HyWiki-link"></span>
 <span id="index-link_002c-HyWikiWord"></span>
 <span id="index-C_002dh-h-h-a"></span>
 <span id="index-C_002dh-h-h-o-i"></span>
-<span 
id="index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fIgnored_002dby_002dHyperbole"></span>
+<span id="index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fNone"></span>
 <p>To jump to a HyWiki page, simply move point onto any highlighted
 HyWikiWord and press the Action Key <kbd>{M-<span 
class="key">RET</span>}</kbd>.  This also
 highlights any other instances of HyWikiWords across all visible Emacs
 windows.  If you have set the Org <kbd>{M-<span class="key">RET</span>}</kbd> 
option to
-&lsquo;<samp>Ignored-by-Hyperbole</samp>&rsquo; with <kbd>{C-h h h o i}</kbd>, 
then you will have to
+&lsquo;<samp>None</samp>&rsquo; with <kbd>{C-h h h o i}</kbd>, then you will 
have to
 use the HyWiki Act menu command <kbd>{C-h h h a}</kbd> instead to jump to 
HyWiki
 pages.
 </p>
@@ -4635,7 +4637,7 @@ Previous: <a href="#Publish-HyWiki" accesskey="p" 
rel="prev">Publish HyWiki</a>,
 It looks like this:
 </p>
 <div class="example">
-<pre class="example">HyWiki&gt;  Act Create Edit GrepConsult Help Info Link 
Org-M-RET/ Publish Toggle WikiWordConsult
+<pre class="example">HyWiki&gt;  Act Create Edit GrepConsult Help Info Link 
ModeToggle Org-M-RET/ Publish TagFind WikiWordConsult
 </pre></div>
 
 <p>Below are descriptions of each menu item.
@@ -4664,26 +4666,40 @@ It looks like this:
 </p></dd>
 <dt><span>Link</span></dt>
 <dd><p>Prompt for and add a link at point to a HyWiki page.
+<span id="index-hywiki_002dmode-2"></span>
+<span id="index-HyWiki-mode"></span>
+<span id="index-HyWikiWords-outside-hywiki_002ddirectory"></span>
+</p></dd>
+<dt><span>ModeToggle</span></dt>
+<dd><p>Toggle global minor mode <code>hywiki-mode</code> that enables 
HyWikiWord hyperlinks
+in buffers outside of <code>hywiki-directory</code>.
 <span id="index-C_002dh-h-h-o"></span>
 <span id="index-HyWiki_002c-C_002dh-h-h-o"></span>
 <span id="index-C_002dh-h-h-c-1"></span>
 <span id="index-HyWiki_002c-C_002dh-h-h-c"></span>
 <span id="index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET"></span>
 <span 
id="index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fHyperbole_002dButtons_002dOnly"></span>
-<span id="index-customize-Org-M_002dRET"></span>
-<span id="index-Org-M_002dRET-customize"></span>
+<span id="index-customize-Org-M_002dRET-1"></span>
+<span id="index-Org-M_002dRET-customize-1"></span>
+<span id="index-override-Org-M_002dRET-3"></span>
+<span id="index-Org-M_002dRET-override-2"></span>
 </p></dd>
 <dt><span>Org-M-RET/</span></dt>
 <dd><p>Menu to customize contexts in which Hyperbole Action and Assist Keys
 override Org&rsquo;s <kbd>{M-<span class="key">RET</span>}</kbd> command.  The 
default is
-when on &lsquo;<samp>Hyperbole-Buttons-Only</samp>&rsquo;.  Use 
&lsquo;<samp>All-Smart-Org-Contexts</samp>&rsquo; to
+when on &lsquo;<samp>Hyperbole-Buttons-Only</samp>&rsquo;.  Use 
&lsquo;<samp>All-Hyperbole-Contexts</samp>&rsquo; to
 make the Action Key create new HyWiki pages when pressed on as-yet
 undefined HyWikiWords; otherwise, you must use <kbd>{C-h h h c}</kbd> to 
create a
-new HyWiki page instead.  Use &lsquo;<samp>Ignored-by-Hyperbole</samp>&rsquo; 
if you want to
+new HyWiki page instead.  Use &lsquo;<samp>None</samp>&rsquo; if you want to
 use Org&rsquo;s <kbd>{M-<span class="key">RET</span>}</kbd> command in every 
context within Org mode.
 </p></dd>
 <dt><span>Publish</span></dt>
 <dd><p>Publish modified pages in the HyWiki to HTML; prefix arg to publish all 
pages.
+<span id="index-HyWiki-tag-search"></span>
+<span id="index-search_002c-HyWiki-tag"></span>
+</p></dd>
+<dt><span>TagFind</span></dt>
+<dd><p>Find a matching Org tag across all HyWiki pages.
 </p></dd>
 <dt><span>WikiWordConsult</span></dt>
 <dd><p>Use <code>hywiki-consult-grep</code> to show occurrences of a prompted 
for HyWikiWord.
@@ -6839,6 +6855,7 @@ set of commands as the menubar Rolo menu but with more 
concise labels.
 <span id="index-hyrolo_002dsort"></span>
 <span id="index-hyrolo_002dgrep"></span>
 <span id="index-hyrolo_002dfgrep"></span>
+<span id="index-hyrolo_002dtags_002dview"></span>
 <span id="index-hyrolo_002dword"></span>
 <span id="index-hyrolo_002dyank"></span>
 <p>The minibuffer Rolo/ menu offers the following commands (ConsultFind
@@ -6864,6 +6881,7 @@ RegexFind       hyrolo-grep             Finds all entries 
containing
 StringFind      hyrolo-fgrep            Finds all entries containing
                                           a string (or logical
                                           expression)
+TagFind         hyrolo-tags-view        Finds HyWiki Org tags
 WordFind        hyrolo-word             Finds all entries containing
                                           a string of whole words
 Yank            hyrolo-yank             Inserts the first matching
@@ -6915,6 +6933,7 @@ Next: <a href="#HyRolo-Keys" accesskey="n" 
rel="next">HyRolo Keys</a>, Previous:
 <span id="index-menu-item_002c-RegexFind"></span>
 <span id="index-menu-item_002c-WordFind"></span>
 <span id="index-menu-item_002c-StringFind"></span>
+<span id="index-menu-item_002c-TagFind"></span>
 <p>See <a href="#HyRolo-Menu">Rolo Menu</a>, for the list of HyRolo search 
commands.  In this
 section, the menu item names from the minibuffer menu are used to
 refer to each command.
@@ -6926,6 +6945,10 @@ and across the GNU set of tools.  See <a 
data-manual="emacs" href="https://www.g
 Expressions</a> in <cite>the GNU Emacs Manual</cite>, for full documentation 
on this
 format.
 </p>
+<p>The <code>TagFind</code> menu item searches through HyRolo Org files and
+finds headlines with any matching tags.  An Action Key press on any
+matching line displays the line in its source buffer.
+</p>
 <p>The <code>WordFind</code> menu item locates full-word matches so that if you
 search for &lsquo;<samp>product</samp>&rsquo;, it won&rsquo;t match to 
occurrences of
 &lsquo;<samp>production</samp>&rsquo;.  It is also handy for more precise name 
matching.
@@ -12963,7 +12986,7 @@ It did not exist when Hyperbole was first developed.
 <code>hsys-org-enable-smart-keys</code> customization variable to control
 the Smart Keys and <kbd>{M-<span class="key">RET</span>}</kbd> when in 
Org-mode with
 <code>hyperbole-mode</code> active.  <code>t</code> enables Smart Key support
-everywhere.  The symbol, <code>buttons</code>, is the default; it means the
+everywhere.  The symbol, <code>:buttons</code>, is the default; it means the
 Smart Keys are active only when point is within a Hyperbole button.  A
 <code>nil</code> value means no Smart Key support; Hyperbole gives Org
 complete control over <kbd>{M-<span class="key">RET</span>}</kbd> so that it 
behaves just as it
@@ -14301,6 +14324,7 @@ Next: <a href="#Concept-Index" accesskey="n" 
rel="next">Concept Index</a>, Previ
 <tr><td></td><td valign="top"><a 
href="#index-hyrolo_002dmode_002dhook">hyrolo-mode-hook</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Hook-Variables">Hook Variables</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyrolo_002dsave_002dbuffers_002dafter_002duse">hyrolo-save-buffers-after-use</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyRolo-Settings">HyRolo Settings</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyrolo_002dsort"><code>hyrolo-sort</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyRolo-Menu">HyRolo Menu</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hyrolo_002dtags_002dview"><code>hyrolo-tags-view</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyRolo-Menu">HyRolo Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyrolo_002dword"><code>hyrolo-word</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyRolo-Menu">HyRolo Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyrolo_002dyank"><code>hyrolo-yank</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyRolo-Menu">HyRolo Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hyrolo_002dyank_002dreformat_002dfunction">hyrolo-yank-reformat-function</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Hook-Variables">Hook Variables</a></td></tr>
@@ -14319,6 +14343,7 @@ Next: <a href="#Concept-Index" accesskey="n" 
rel="next">Concept Index</a>, Previ
 <tr><td></td><td valign="top"><a 
href="#index-hywiki_002dexclude_002dmajor_002dmodes">hywiki-exclude-major-modes</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hywiki_002dhighlight_002dall_002din_002dprog_002dmodes">hywiki-highlight-all-in-prog-modes</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hywiki_002dmode-1"><code>hywiki-mode</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-hywiki_002dmode-2"><code>hywiki-mode</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hywiki_002dorg_002dget_002dpublish_002dproperty"><code>hywiki-org-get-publish-property</code></a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Publish-HyWiki">Publish HyWiki</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hywiki_002dorg_002dlink_002dtype_002drequired">hywiki-org-link-type-required</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hywiki_002dorg_002dpublish_002dproject_002dalist">hywiki-org-publish-project-alist</a>:</td><td>&nbsp;</td><td
 valign="top"><a href="#Publish-HyWiki">Publish HyWiki</a></td></tr>
@@ -14932,7 +14957,8 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a 
href="#index-customization">customization</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#Customization">Customization</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-customization-1">customization</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#Customization">Customization</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-customize">customize</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-customize-Org-M_002dRET">customize Org 
M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-customize-Org-M_002dRET">customize Org 
M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-customize-Org-M_002dRET-1">customize Org 
M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-customize_002c-rolo-additions">customize, rolo 
additions</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Keys">HyRolo Keys</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-customize_002c-rolo-datestamps">customize, rolo 
datestamps</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Keys">HyRolo Keys</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-customize_002c-rolo-edits">customize, rolo 
edits</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyRolo-Keys">HyRolo 
Keys</a></td></tr>
@@ -15229,6 +15255,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a href="#index-HyWiki-exclude-modes">HyWiki 
exclude modes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWiki-export-to-HTML">HyWiki 
export to HTML</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Publish-HyWiki">Publish HyWiki</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWiki-menu">HyWiki 
menu</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-HyWiki-mode">HyWiki 
mode</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWiki-Org-link-format">HyWiki 
Org link format</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWiki-Org-publish">HyWiki Org 
publish</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Publish-HyWiki">Publish HyWiki</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWiki-programming-modes">HyWiki 
programming modes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
@@ -15236,12 +15263,14 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a 
href="#index-HyWiki-publishing-directory">HyWiki publishing 
directory</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Publish-HyWiki">Publish HyWiki</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-HyWiki-publishing-function">HyWiki publishing 
function</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Publish-HyWiki">Publish HyWiki</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWiki-section-link">HyWiki 
section link</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-HyWiki-tag-search">HyWiki tag 
search</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hywiki_002dmode">hywiki-mode</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-HyWikiWord">HyWikiWord</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWikiWord-contexts">HyWikiWord 
contexts</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-HyWikiWord-create">HyWikiWord 
create</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-HyWikiWord-highlighting">HyWikiWord 
highlighting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-HyWikiWord_002c-outside-the-wiki">HyWikiWord, outside the 
wiki</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-HyWikiWords-outside-hywiki_002ddirectory">HyWikiWords outside 
hywiki-directory</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="Concept-Index_cp_letter-I">I</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-ibtype">ibtype</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Programmatic-Implicit-Button-Types">Programmatic Implicit Button 
Types</a></td></tr>
@@ -15484,9 +15513,9 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a href="#index-menu-item_002c-GrepFile">menu 
item, GrepFile</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-menu-item_002c-Hist">menu item, 
Hist</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET">menu item, 
HyWiki/Org-M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fAll_002dSmart_002dOrg_002dContexts">menu
 item, HyWiki/Org-M-RET/All-Smart-Org-Contexts</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fAll_002dHyperbole_002dContexts">menu
 item, HyWiki/Org-M-RET/All-Hyperbole-Contexts</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fHyperbole_002dButtons_002dOnly">menu
 item, HyWiki/Org-M-RET/Hyperbole-Buttons-Only</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fIgnored_002dby_002dHyperbole">menu
 item, HyWiki/Org-M-RET/Ignored-by-Hyperbole</a>:</td><td>&nbsp;</td><td 
valign="top"><a href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-HyWiki_002fOrg_002dM_002dRET_002fNone">menu item, 
HyWiki/Org-M-RET/None</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-Ibut_002fAct">menu item, 
Ibut/Act</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-Ibut_002fActivate">menu item, 
Ibut/Activate</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-Ibut_002fCreate">menu item, 
Ibut/Create</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
@@ -15505,6 +15534,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-Rolo_002fToggle_002dRolo_002dDates">menu item, 
Rolo/Toggle-Rolo-Dates</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Keys">HyRolo Keys</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-menu-item_002c-SaveLines">menu 
item, SaveLines</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-menu-item_002c-StringFind">menu 
item, StringFind</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Searching">HyRolo Searching</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-menu-item_002c-TagFind">menu 
item, TagFind</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Searching">HyRolo Searching</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-Toggle_002dIsearch_002dInvisible">menu item, 
Toggle-Isearch-Invisible</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Invisible-Text-Searches">Invisible Text Searches</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-menu-item_002c-WindowsControl">menu item, 
WindowsControl</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-menu-item_002c-WordFind">menu 
item, WordFind</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Searching">HyRolo Searching</a></td></tr>
@@ -15638,9 +15668,11 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a href="#index-Org-link_002c-HyWiki">Org link, 
HyWiki</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Org-link_002c-outside-Org">Org 
link, outside Org</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Org-link_002c-outside-Org-1">Org 
link, outside Org</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Org-Mode">Smart Key - Org Mode</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Org-M_002dRET-customize">Org 
M-RET customize</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Org-M_002dRET-customize">Org 
M-RET customize</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Org-M_002dRET-customize-1">Org 
M-RET customize</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Org-M_002dRET-override">Org 
M-RET override</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Org-M_002dRET-override-1">Org 
M-RET override</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Org-M_002dRET-override-2">Org 
M-RET override</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Org-mode">Org 
mode</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyRolo-Concepts">HyRolo 
Concepts</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Org-mode-1">Org 
mode</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Org-Mode">Smart Key - Org Mode</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Org-publish">Org 
publish</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Publish-HyWiki">Publish HyWiki</a></td></tr>
@@ -15691,6 +15723,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a href="#index-override-Org-M_002dRET">override 
Org M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-override-Org-M_002dRET-1">override Org 
M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-override-Org-M_002dRET-2">override Org 
M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWikiWords">HyWikiWords</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-override-Org-M_002dRET-3">override Org 
M-RET</a>:</td><td>&nbsp;</td><td valign="top"><a href="#HyWiki-Menu">HyWiki 
Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-overview">overview</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th id="Concept-Index_cp_letter-P">P</th><td></td><td></td></tr>
@@ -15811,6 +15844,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function, Variable and Fi
 <tr><td></td><td valign="top"><a 
href="#index-search">search</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-search-1">search</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Invisible-Text-Searches">Invisible Text Searches</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-search-engines-menu">search 
engines menu</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Web-Search-Engines">Web Search Engines</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-search_002c-HyWiki-tag">search, 
HyWiki tag</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyWiki-Menu">HyWiki Menu</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-searching-the-web">searching the 
web</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-searching-the-web-1">searching 
the web</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Default-Hyperbole-Bindings">Default Hyperbole Bindings</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-searching_002c-rolo">searching, 
rolo</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyRolo-Searching">HyRolo Searching</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index ac25c12138..4e4a5d30b7 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 25ddbf110a..1cd2b9db86 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -159,7 +159,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 9.0.2pre
-Printed August 17, 2024.
+Printed August 19, 2024.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -201,7 +201,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 @example
 Edition 9.0.2pre
-August 17, 2024
+August 19, 2024
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -524,7 +524,7 @@ Smart Keyboard Keys
 @chapter Introduction
 
 This edition of the GNU Hyperbole Manual is for use with any version
-9.0.1 or greater of GNU Hyperbole.  Hyperbole runs atop GNU Emacs 27.1
+9.0.2pre or greater of GNU Hyperbole.  Hyperbole runs atop GNU Emacs 27.2
 or higher.  It will trigger an error if your Emacs is older.
 
 This chapter summarizes the structure of the rest of the manual,
@@ -2344,7 +2344,7 @@ On an Org agenda view item, jump to the item for editing.
 
 @noindent
 When the Action Key is pressed and @code{hsys-org-enable-smart-keys}
-is either @samp{t} or @samp{'buttons}:
+is either @samp{t} or @samp{:buttons}:
 
 @item
 Within a radio or internal target or a link to it, jump between
@@ -2422,6 +2422,8 @@ through views of the whole buffer outline.
 @cindex disable org-mode support
 @cindex inhibit org-mode support
 @cindex menu item, Cust/Org-M-RET
+@cindex customize Org M-RET
+@cindex Org M-RET customize
 @cindex Org M-RET override
 @cindex override Org M-RET
 @kindex C-h h c o
@@ -2438,7 +2440,7 @@ The following table summarizes the effect of this option 
setting.
 
|--------------+-------------------+------------------+----------+------------------|
 | This Setting | Smart Key Context | Hyperbole Button | Org Link | Fallback 
Command |
 
|--------------+-------------------+------------------+----------+------------------|
-| buttons      | Ignore            | Activate         | Activate | 
org-meta-return  |
+| :buttons     | Ignore            | Activate         | Activate | 
org-meta-return  |
 | nil          | Ignore            | Ignore           | Ignore   | 
org-meta-return  |
 | t            | Activate          | Activate         | Activate | None        
     |
 
|--------------+-------------------+------------------+----------+------------------|
@@ -4372,23 +4374,23 @@ HyWikiWords.
 @cindex override Org M-RET
 @kindex C-h h h o a
 @kindex C-h h h c
-@cindex menu item, HyWiki/Org-M-RET/All-Smart-Org-Contexts
+@cindex menu item, HyWiki/Org-M-RET/All-Hyperbole-Contexts
 The Action Key can create new HyWiki pages when on an undefined
 HyWikiWord if you change the setting that controls the Org mode
 @bkbd{M-@key{RET}} binding.  Have Hyperbole override Org's control of
 that key in all Action and Assist Key contexts with the
-@samp{All-Smart-Org-Contexts} setting bound to @bkbd{C-h h h o a}.
+@samp{All-Hyperbole-Contexts} setting bound to @bkbd{C-h h h o a}.
 
 @cindex activate HyWiki link
 @cindex link, HyWikiWord
 @kindex C-h h h a
 @kindex C-h h h o i
-@cindex menu item, HyWiki/Org-M-RET/Ignored-by-Hyperbole
+@cindex menu item, HyWiki/Org-M-RET/None
 To jump to a HyWiki page, simply move point onto any highlighted
 HyWikiWord and press the Action Key @bkbd{M-@key{RET}}.  This also
 highlights any other instances of HyWikiWords across all visible Emacs
 windows.  If you have set the Org @bkbd{M-@key{RET}} option to
-@samp{Ignored-by-Hyperbole} with @bkbd{C-h h h o i}, then you will have to
+@samp{None} with @bkbd{C-h h h o i}, then you will have to
 use the HyWiki Act menu command @bkbd{C-h h h a} instead to jump to HyWiki
 pages.
 
@@ -4533,7 +4535,7 @@ It looks like this:
 
 @smallexample
 @noindent
-HyWiki>  Act Create Edit GrepConsult Help Info Link Org-M-RET/ Publish Toggle 
WikiWordConsult
+HyWiki>  Act Create Edit GrepConsult Help Info Link ModeToggle Org-M-RET/ 
Publish TagFind WikiWordConsult
 @end smallexample
 
 @noindent
@@ -4557,6 +4559,12 @@ Report on a HyWikiWord's attributes.
 Display Hyperbole manual section on HyWiki.
 @item Link
 Prompt for and add a link at point to a HyWiki page.
+@findex hywiki-mode
+@cindex HyWiki mode
+@cindex HyWikiWords outside hywiki-directory
+@item ModeToggle
+Toggle global minor mode @code{hywiki-mode} that enables HyWikiWord hyperlinks
+in buffers outside of @code{hywiki-directory}.
 @kindex C-h h h o
 @kindex HyWiki, C-h h h o
 @kindex C-h h h c
@@ -4565,16 +4573,22 @@ Prompt for and add a link at point to a HyWiki page.
 @cindex menu item, HyWiki/Org-M-RET/Hyperbole-Buttons-Only
 @cindex customize Org M-RET
 @cindex Org M-RET customize
+@cindex override Org M-RET
+@cindex Org M-RET override
 @item Org-M-RET/
 Menu to customize contexts in which Hyperbole Action and Assist Keys
 override Org's @bkbd{M-@key{RET}} command.  The default is
-when on @samp{Hyperbole-Buttons-Only}.  Use @samp{All-Smart-Org-Contexts} to
+when on @samp{Hyperbole-Buttons-Only}.  Use @samp{All-Hyperbole-Contexts} to
 make the Action Key create new HyWiki pages when pressed on as-yet
 undefined HyWikiWords; otherwise, you must use @bkbd{C-h h h c} to create a
-new HyWiki page instead.  Use @samp{Ignored-by-Hyperbole} if you want to
+new HyWiki page instead.  Use @samp{None} if you want to
 use Org's @bkbd{M-@key{RET}} command in every context within Org mode.
 @item Publish
 Publish modified pages in the HyWiki to HTML; prefix arg to publish all pages.
+@cindex HyWiki tag search
+@cindex search, HyWiki tag
+@item TagFind
+Find a matching Org tag across all HyWiki pages.
 @item WikiWordConsult
 Use @code{hywiki-consult-grep} to show occurrences of a prompted for 
HyWikiWord.
 @end table
@@ -6435,6 +6449,7 @@ set of commands as the menubar Rolo menu but with more 
concise labels.
 @findex hyrolo-sort
 @findex hyrolo-grep
 @findex hyrolo-fgrep
+@findex hyrolo-tags-view
 @findex hyrolo-word
 @findex hyrolo-yank
 The minibuffer Rolo/ menu offers the following commands (ConsultFind
@@ -6461,6 +6476,7 @@ RegexFind       hyrolo-grep             Finds all entries 
containing
 StringFind      hyrolo-fgrep            Finds all entries containing
                                           a string (or logical
                                           expression)
+TagFind         hyrolo-tags-view        Finds HyWiki Org tags
 WordFind        hyrolo-word             Finds all entries containing
                                           a string of whole words
 Yank            hyrolo-yank             Inserts the first matching
@@ -6510,6 +6526,7 @@ containing "Staffer" at any level in a hierarchy, like so:
 @cindex menu item, RegexFind
 @cindex menu item, WordFind
 @cindex menu item, StringFind
+@cindex menu item, TagFind
 @xref{HyRolo Menu}, for the list of HyRolo search commands.  In this
 section, the menu item names from the minibuffer menu are used to
 refer to each command.
@@ -6521,6 +6538,10 @@ and across the GNU set of tools.  @xref{Regexps,,Syntax 
of Regular
 Expressions, emacs, the GNU Emacs Manual}, for full documentation on this
 format.
 
+The @code{TagFind} menu item searches through HyRolo Org files and
+finds headlines with any matching tags.  An Action Key press on any
+matching line displays the line in its source buffer.
+
 The @code{WordFind} menu item locates full-word matches so that if you
 search for @samp{product}, it won't match to occurrences of
 @samp{production}.  It is also handy for more precise name matching.
@@ -11923,7 +11944,7 @@ Smart Key support for Org-mode is already in Hyperbole. 
 Use the
 @code{hsys-org-enable-smart-keys} customization variable to control
 the Smart Keys and @bkbd{M-@key{RET}} when in Org-mode with
 @code{hyperbole-mode} active.  @code{t} enables Smart Key support
-everywhere.  The symbol, @code{buttons}, is the default; it means the
+everywhere.  The symbol, @code{:buttons}, is the default; it means the
 Smart Keys are active only when point is within a Hyperbole button.  A
 @code{nil} value means no Smart Key support; Hyperbole gives Org
 complete control over @bkbd{M-@key{RET}} so that it behaves just as it
diff --git a/test/demo-tests.el b/test/demo-tests.el
index eebfe3b6bd..3df7483821 100644
--- a/test/demo-tests.el
+++ b/test/demo-tests.el
@@ -250,7 +250,7 @@
         (should (looking-at "## Why was Hyperbole developed\\?")))
     (hy-test-helpers:kill-buffer "README.md")))
 
-(ert-deftest demo-implicit-button-line-and-column-test ()
+(ert-deftest demo-implicit-button-line-and-column-rtest ()
   (unwind-protect
       (with-temp-buffer
         (insert (format "\"%s%s\"" (expand-file-name "HY-ABOUT" hyperb:dir) 
":5:46"))
diff --git a/test/kcell-tests.el b/test/kcell-tests.el
index d44be6a3d9..5d4ddeba58 100644
--- a/test/kcell-tests.el
+++ b/test/kcell-tests.el
@@ -7,14 +7,14 @@
 ;; e-mail:       ma...@gnu.org
 ;;
 ;; orig-date:    16-Feb-22 at 23:28:49
-;; last-mod:     10-Mar-24 at 12:43:58 by Bob Weiner
+;; last-mod:     23-Aug-24 at 13:27:11 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
 ;; Copyright (C) 2021-2024  Free Software Foundation, Inc.
 ;; Licensed under the GNU General Public License, version 3.
 ;;
-;; This file is not part of Emacs.  It requires Emacs 27.1 or above.
+;; This file is not part of Emacs.  It requires Emacs 27.2 or above.
 ;; This file is part of Hyperbole.
 ;;
 ;;; Commentary:
diff --git a/test/smart-org-tests.el b/test/smart-org-tests.el
index 9c11f77f3d..3e9fe4c469 100644
--- a/test/smart-org-tests.el
+++ b/test/smart-org-tests.el
@@ -3,7 +3,7 @@
 ;; Author:       Mats Lidell <ma...@gnu.org>
 ;;
 ;; Orig-Date:    23-Apr-21 at 22:21:00
-;; Last-Mod:     22-May-22 at 15:04:44 by Bob Weiner
+;; Last-Mod:     19-Aug-24 at 22:00:29 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -70,7 +70,7 @@
 (ert-deftest smart-org-mode-with-smart-keys-buttons-on-hypb-button-activates ()
   "With smart keys as buttons on hypb button activates the button."
   (with-temp-buffer
-    (let ((hsys-org-enable-smart-keys 'buttons))
+    (let ((hsys-org-enable-smart-keys :buttons))
       (org-mode)
       (insert "/tmp")
       (goto-char 2)
@@ -93,7 +93,7 @@
 (ert-deftest 
smart-org-mode-with-smart-keys-buttons-on-delimited-thing-calls-org-meta-return 
()
   "With smart keys as buttons on delimited falls back to `org-meta-return'."
   (with-temp-buffer
-    (let ((hsys-org-enable-smart-keys 'buttons))
+    (let ((hsys-org-enable-smart-keys :buttons))
       (org-mode)
       (insert "(hy per bo le)\n")
       (goto-char 14)
@@ -105,7 +105,7 @@
 (ert-deftest smart-org-mode-with-smart-keys-buttons-on-org-link-activates ()
   "With smart keys as buttons on `org-mode' link activates link."
   (with-temp-buffer
-    (let ((hsys-org-enable-smart-keys 'buttons))
+    (let ((hsys-org-enable-smart-keys :buttons))
       (org-mode)
       (insert "[[/tmp][desc]]")
       (goto-char 9)


Reply via email to