emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/hyperbole 9c84fe97cd 5/5: Add new FAST-DEMO file bound


From: ELPA Syncer
Subject: [elpa] externals/hyperbole 9c84fe97cd 5/5: Add new FAST-DEMO file bound to {C-h h d d}
Date: Sat, 12 Feb 2022 17:57:33 -0500 (EST)

branch: externals/hyperbole
commit 9c84fe97cdae36b4b5a54569b3616f91106226f8
Author: Bob Weiner <rsw@gnu.org>
Commit: Bob Weiner <rsw@gnu.org>

    Add new FAST-DEMO file bound to {C-h h d d}
---
 ChangeLog                |  16 +++
 DEMO                     |   2 +-
 FAST-DEMO                | 293 +++++++++++++++++++++++++++++++++++++++++++++++
 HY-NEWS                  |   5 +
 HY-WHY.kotl              |  50 ++++----
 Makefile                 |   8 +-
 README                   |  18 ++-
 README.md                |  24 ++--
 hui-menu.el              |  17 +--
 hui-mini.el              |  24 ++--
 hypb-maintenance.el      |  20 ++--
 hypb.el                  |   9 +-
 kotl/EXAMPLE.kotl        | 132 ++++++++++-----------
 man/hyperbole.html       |  47 ++++----
 man/hyperbole.info       | Bin 578958 -> 579209 bytes
 man/hyperbole.pdf        | Bin 1332445 -> 1332726 bytes
 man/hyperbole.texi       |  46 ++++----
 test/demo-tests.el       |  24 ++--
 test/hib-kbd-tests.el    |   2 +-
 test/hibtypes-tests.el   |   6 +-
 test/hmouse-drv-tests.el |   6 +-
 21 files changed, 546 insertions(+), 203 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ac31f1b532..e8bec0e079 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,21 @@
 2022-02-12  Bob Weiner  <rsw@gnu.org>
 
+* hypb-maintenance.el (hypb:web-repo-location): Update to RSW's Hyperbole
+    local website path.
+
+* hui-menu.el:
+  FAST-DEMO: Add this shorter demo/intro with a reference to the older DEMO.
+  hui-mini.el: Add 'hyperbole-demo' function to view FAST-DEMO or with
+    a prefix arg, DEMO.
+
+* hypb.el (hypb:display-file-with-logo): Expand non-absolute paths within
+    hyperb:dir to simplify calls to this function.
+  test/demo-tests.el
+  test/hibtypes-tests.el
+  test/hmouse-drv-tests.el
+  hui-menu.el
+  hui-mini: Simplify calls to above function in all these files.
+
 * test/hui-tests.el (hui-gbut-modify-link-to-file-button): Fix order of
     file save
 
diff --git a/DEMO b/DEMO
index bc543e7e5d..4776d6e067 100644
--- a/DEMO
+++ b/DEMO
@@ -1,4 +1,4 @@
-* GNU Hyperbole Demonstration by Bob Weiner
+* GNU Hyperbole Full Demo/Tutorial by Bob Weiner
 
   Send an email or a testimonial if you like Hyperbole to <rsw@gnu.org>.
 
diff --git a/FAST-DEMO b/FAST-DEMO
new file mode 100644
index 0000000000..e61388ef14
--- /dev/null
+++ b/FAST-DEMO
@@ -0,0 +1,293 @@
+* GNU Hyperbole Fast Demo by Bob Weiner
+
+  Send an email or a testimonial if you like Hyperbole to <rsw@gnu.org>.
+
+  This demo is the fast way to get started with Hyperbole after installation.
+  The prior, lengthier Hyperbole demo/tutorial can be found in this file: 
"DEMO".
+
+* Introductory Videos
+
+  If you prefer video introductions, visit the videos linked to below; 
otherwise,
+  skip to the next section.
+
+  
|-----------------------------------------------------+------------------------------|
+  | GNU Hyperbole Videos                                | Web Link             
        |
+  
|-----------------------------------------------------+------------------------------|
+  
|-----------------------------------------------------+------------------------------|
+  | Overview and Demo                                   | 
https://youtu.be/WKwZHSbHmPg |
+  |   Covers all of Hyperbole                           |                      
        |
+  |   Hyperlink timestamps to watch each short section  |                      
        |
+  
|-----------------------------------------------------+------------------------------|
+  | Quick Introduction                                  | 
https://youtu.be/K1MNUctggwI |
+  
|-----------------------------------------------------+------------------------------|
+  | Introduction to Buttons                             | 
https://youtu.be/zoEht66N2PI |
+  
|-----------------------------------------------------+------------------------------|
+  | HyRolo, the fast contact/hierarchical record viewer | 
https://youtu.be/xdJGFdgKPFY |
+  
|-----------------------------------------------------+------------------------------|
+  | HyControl, the fast Emacs frame and window manager  | 
https://youtu.be/M3-aMh1ccJk |
+  
|-----------------------------------------------------+------------------------------|
+  | Find/Web Search                                     | 
https://youtu.be/8lMlJed0-OM |
+  
|-----------------------------------------------------+------------------------------|
+
+
+* Implicit Buttons
+
+  Hyperbole automatically recognizes many common and complex patterns
+  within Emacs buffers and turns them into hyperbuttons that either link to
+  other things or perform a set of actions.  No need for markup, simply press
+  on a button in any kind of Emacs buffer to activate it.
+
+  These patterns are called implicit buttons and are activated by pressing
+  {M-RET} (ESC RETURN, ALT-RETURN, or CMD-RETURN) or SHIFT-MIDDLE-MOUSE 
anywhere
+  within them.  Hyperbole recognizes these buttons using its predefined 
implicit button
+  types that specify how to recognize each type of button and what action it 
performs.
+  (For example, the web links in the table above are implicit buttons that 
display web
+  pages).  You can also add your own button and action types.
+
+  Try pressing {M-RET} or SHIFT-MIDDLE-MOUSE on some of the implicit buttons 
in double
+  quotes below to activate them and see how they behave.  Press {C-h A} on any 
Hyperbole
+  button to see exactly what it does prior to activating it.
+
+
+* Pathname Implicit Buttons
+
+    "HY-NEWS#ORG MODE:2:6"   - outline section anchor & relative line number
+
+       Display the file, "HY-NEWS", go to the star-outline section 'ORG MODE', 
move
+       2 lines into that section and then move 6 characters forward.
+
+       Existing files and pathnames are recognized without double quotes as 
well.
+
+       The variable, <hpath:display-where>, determines where Hyperbole 
displays all
+       button referents, whether in another window or frame.
+
+    "#Key Series Implicit Buttons"
+
+       Display at the top of another window the named section from the current 
buffer.
+
+    <[comp]>: "README.md#Hyperbole Components" - Markdown anchor with spaces 
intact
+
+       Display the file, "README.md", scrolled to it outline section, 
"Hyperbole
+       Components".  Name this button, 'comp'.   Then you can link to it 
elsewhere
+       in the buffer with <ilink: comp>.  {M-RET} on the ilink to activates 
the button
+       it links to.
+
+    "${hyperb:dir}/HY-NEWS"          - Elisp or environment variables; $VAR 
shell
+                                       vars work too
+
+
+    "subr.el"                        - edit any Elisp library in load-path
+
+       The variable, hpath:auto-variable-alist, determines which file suffixes
+       are looked up using variables containing multiple search directories. By
+       default, Org files, Python files and Elisp files are handled.
+
+    "(hyperbole)action-key-modeline-function" 
+
+       Double quoted Info manual refererences are also implicit buttons.
+       You can link to both nodes/sections in GNU Info manuals as well
+       as to specific lines referenced by an index entry, as shown
+       above, providing fine-grained structured document linking.  Remember
+       this as there will be more Info links below.
+
+
+* Key Series Implicit Buttons
+
+    A key series is an arbitrary length set of Emacs keystrokes surrounded by
+    braces, like a visual keyboard macro.  RET, SPC and ESC are translated
+    into their respective keys.  Activate them with {M-RET} or 
SHIFT-MIDDLE-MOUSE.
+
+    {C-h A}
+
+       Press {C-h A} when over any Hyperbole button for an explanation of what 
it does.
+
+    {M-x dired-other-window RET ${hyperb:dir}/*.org RET}
+
+       Hyperbole home directory Dired listing of Org files only
+
+    {C-c @ 22 RET}
+
+       Display a 2x2 grid of windows in the current frame of the 4 most 
recently
+       used buffers.
+
+    {C--1 C-c @ kotl/kotl-*.el RET}
+
+       Find the Hyperbole Koutliner source files that begin with 'kotl' and 
display
+       them in an auto-sized grid of windows.
+
+    {C-u 0 C-c @ python-mode RET 33 RET}
+
+       Display the 9 mostly recently used Python buffers in a 3x3 grid.  Other 
buffers
+       fill in the grid if there are not enough Python ones.
+
+    {C-x d ${hyperb:dir} RET}
+
+       Dired the Hyperbole home directory based on its variable.
+
+    {C-x C-b C-x C-q M-x keep-lines RET .py$ RET C-x C-q}
+
+       Display a buffer list of Python file buffers only
+
+    {C-x C-b C-x C-q M-x keep-lines RET [\\/]$ RET C-x C-q}
+
+       Buffer list of directory buffers only
+
+
+* Posix/Linux Shell Command Implicit Buttons
+
+    { M-x shell RET M-> (pushd ${hyperb:dir}) RET }
+
+       Move to a directory in a shell based on a Lisp variable.
+       Sections within key series surrounded by parentheses maintain
+       spaces between words without the need to use 'SPC'.
+
+    {M-x shell RET M-> (export HYPERBOLE_DIR=${hyperb:dir} && 
+     cd $HYPERBOLE_DIR && grep -n gbut:label-list *.el) RET}
+
+       Use both a Hyperbole resolved variable, ${hyperb:dir}, and a 
shell-resolved
+       environment variable, $HYPERBOLE_DIR, to grep through Lisp files.
+
+    {M-x shell RET M-> (apropos grep) RET}
+
+       Use Posix apropos command to list grep-related commands.  Then press 
{M-RET} on
+       any lines output to display the man page for the associated command.
+
+* Grep Messages, Stack Traces, Man Page Apropos Implicit Buttons
+
+  These implicit buttons typically appear in shell buffers.  You issue a shell 
command and
+  then use {M-RET} or SHIFT-MIDDLE-MOUSE on the output lines of the command to 
display
+  the associated reference.
+
+** grep -n gbut:label-list *.el
+hactypes.el:454:                                             (mapcar #'list 
(gbut:label-list))
+hbut.el:605:                                  (mapcar #'list (gbut:label-list))
+
+       An Action Key press anywhere on the text of the two above output lines 
from a grep -n
+       or a ripgrep command jumps to the referenced line.
+
+** python topwin.py
+Traceback (most recent call last):
+  File "topwin.py", line 18, in <module>
+    import Quartz
+
+       An Action Key press anywhere on the above 2 non-blank lines jumps to 
the source of the
+       error.  You can jump into any stack frame this way when debugging from 
pretty much any
+       language, even in a regular shell.
+
+** man -k spell
+aspell(1)                - interactive spell checker
+aspell-import(1)         - import old personal dictionaries into GNU Aspell
+pspell-config(1)         - prints information about a libpspell installation
+
+       An Action Key press anywhere on the above 3 non-blank lines displays 
the associated
+       man documentation page.
+
+
+* Action Buttons (generalized form of implicit buttons)
+
+  If you know your way around Emacs Lisp and want to quickly turn snippets of 
Lisp code
+  or Lisp variables into Hyperbole buttons, just remove any outer parentheses 
and surround
+  the remaining code with <angle-brackets>.
+
+  Here are some examples.
+
+    <shell>
+
+       Jump to an existing shell buffer or create a new one.
+
+    <fill-column>
+
+       Display the variable value of 'fill-column' in the minibuffer
+
+    <find-file-other-window (expand-file-name "DEMO" hyperb:dir)>
+    <hpath:find "${hyperb:dir}/DEMO")>
+    "${hyperb:dir}/DEMO"
+
+       All three of the above do essentially the same thing, displaying the 
file.
+
+    <kotl/EXAMPLE.kotl, 3b10 |c2en>
+
+       Display a Hyperbole Koutline starting from cell 3b10 with lines per 
cell clipped to 2.
+
+
+* Many More Implicit Button Types to Learn Across Time
+
+  Activate this button, <emacs-lisp-mode>, to set this buffer into
+  Emacs Lisp mode.  Then an Action Key press on each of the implicit
+  button types below will jump to its Lisp definition.  Use this if you
+  want to see what each type can do.  <normal-mode> reverts to the standard 
mode.
+
+|-----------------------+------------------------+--------------------------|
+|                          Implicit Button Types                            |
+|-----------------------+------------------------+--------------------------|
+| action                | annot-bib              | completion               |
+| cscope                | ctags                  | debbugs-gnu-mode         |
+| debbugs-gnu-query     | debugger-source        | dir-summary              |
+| doc-id                | elink                  | elisp-compiler-msg       |
+| etags                 | function-in-buffer     | git-commit-reference     |
+| glink                 | gnus-push-button       | grep-msg                 |
+| hyp-address           | hyp-source             | id-cflow                 |
+| ilink                 | Info-node              | ipython-stack-frame      |
+| kbd-key               | klink                  | mail-address             |
+| man-apropos           | markdown-internal-link | org-mode                 |
+| patch-msg             | pathname               | pathname-line-and-column |
+| rfc                   | rfc-toc                | ripgrep-msg              |
+| social-reference      | texinfo-ref            | text-toc                 |
+| www-url               |                        |                          |
+|---------------------------------------------------------------------------|
+
+Implicit button types are stored in their own namespace, 'ibtypes::', so to
+see the doc on the 'pathname' ibtype, use {C-h f ibtypes::pathname RET}.
+
+
+* Hyperbole Subsystems
+
+  Hyperbole includes a number of subsystems that can raise your productivity
+  when looking up any kind of hierarchical records (including those from
+  Org mode or Outline mode), managing the precise location of windows and
+  frames, and one of the most advanced legal outliners available anywhere.
+
+** HyRolo
+
+  HyRolo is an advanced hierarchical, record-oriented retrieval system that
+  uses text files for storing its records.  Most often this is used for contact
+  management but it can quickly be adapted to most any record-oriented lookup
+  task requiring fast retrieval.  Press {M-RET} on "(hyperbole)HyRolo".
+
+** HyControl
+
+  Hyperbole includes the fastest, easiest-to-use Emacs window and frame
+  management system available, HyControl, found under the Hyperbole Screen
+  menu, {C-h h s}.  If you use a lot of Emacs windows or frames (native window
+  system windows), then this tool is for you.  Press {M-RET} on 
"(hyperbole)HyControl".
+
+** Koutliner
+
+  The Hyperbole Koutliner produces multi-level, autonumbered hierarchies of
+  cells.  Each cell has two identifiers, a relative autonumber indicating its
+  present position within the outline and a permanent identifier suitable for
+  use within hyperlink references to the cell.
+
+  A demonstration of the Koutliner is found on the Hyperbole Kotl/Example menu
+  entry.  {C-h h k e}, gives you an editable copy of Hyperbole's example
+  Koutliner file.  This explains the Koutliner commands and lets you try them
+  out as you learn.  Additional documentation can be found in
+  "(hyperbole)Koutliner".  "(hyperbole)Koutliner Keys" summarizes, in
+  alphabetical order, the Koutliner commands which are bound to keys.
+
+
+* Reference Documentation
+
+  As noted at the start, "DEMO" provides a more extensive, interactive look
+  into Hyperbole.  The even deeper Hyperbole reference manual covers in detail
+  how each button or action type works, how to create your own button and 
action
+  types and much more.  See "(hyperbole)" or use {C-h h d i}.
+
+  The Hyperbole Manual is a reference manual, not a simple introduction.  It is
+  included in the "${hyperb:dir}/man/" subdirectory of Hyperbole in four forms:
+
+    "man/hyperbole.info"   - online Info browser version
+    "man/hyperbole.html"   - web HTML version
+    "man/hyperbole.pdf"    - printable version
+    "man/hyperbole.texi"   - source form
+
diff --git a/HY-NEWS b/HY-NEWS
index 2cae1fdf92..d610791a4d 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -1220,6 +1220,11 @@
 
   DOCUMENTATION
 
+    - FAST-DEMO: New, simplified introductory demo to Hyperbole focused on
+      implicit buttons.  Includes links to Hyperbole videos and the prior
+      "DEMO".  {C-h h d d} display "FAST-DEMO" and {C-u C-h h d d} displays
+      the prior "DEMO".
+
     - Why Use Hyperbole: "HY-WHY.kotl" lists use cases for Hyperbole with
       hyperlinks to associated "DEMO" sections for each.  View this via
       the minibuffer menu with {C-h h d w} or via the `Why-Use?' Hyperbole
diff --git a/HY-WHY.kotl b/HY-WHY.kotl
index c7e076965d..6b9b6903e5 100644
--- a/HY-WHY.kotl
+++ b/HY-WHY.kotl
@@ -120,47 +120,47 @@ alpha ;; label-type
 
 ;; depth-first kcell attributes
 [[0
-  (creator "rsw@gnu.org" create-time "20190512:130:33:52" id-counter 38 file 
"/home/bob.weiner/Dropbox/emacs/hyperbole/HY-WHY.kotl")]
+  (idstamp 0 creator "rsw@gnu.org" create-time "20190512:130:33:52" id-counter 
38 file "/Users/bk/Dropbox/emacs/hyperbole/HY-WHY.kotl")]
  [1
-  (creator "rsw@gnu.org" create-time "20160524:15:04:17" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160524:15:04:17" creator 
"rsw@gnu.org" idstamp 1 kcell t)]
  [17
-  (creator "rsw@gnu.org" create-time "20160809:03:31:21" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160809:03:31:21" creator 
"rsw@gnu.org" idstamp 17 kcell t)]
  [36
-  (creator "rsw@gnu.org" create-time "20171114:23:37:20" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171114:23:37:20" creator 
"rsw@gnu.org" idstamp 36 kcell t)]
  [2
-  (creator "rsw@gnu.org" create-time "20160524:15:04:24" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160524:15:04:24" creator 
"rsw@gnu.org" idstamp 2 kcell t)]
  [38
-  (creator "rsw@gnu.org" create-time "20190512:131:21:14" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20190512:131:21:14" creator 
"rsw@gnu.org" idstamp 38 kcell t)]
  [31
-  (creator "rsw@gnu.org" create-time "20171114:23:18:01" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171114:23:18:01" creator 
"rsw@gnu.org" idstamp 31 kcell t)]
  [33
-  (creator "rsw@gnu.org" create-time "20171114:23:24:51" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171114:23:24:51" creator 
"rsw@gnu.org" idstamp 33 kcell t)]
  [34
-  (creator "rsw@gnu.org" create-time "20171114:23:24:57" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171114:23:24:57" creator 
"rsw@gnu.org" idstamp 34 kcell t)]
  [9
-  (creator "rsw@gnu.org" create-time "20160530:15:05:18" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160530:15:05:18" creator 
"rsw@gnu.org" idstamp 9 kcell t)]
  [16
-  (creator "rsw@gnu.org" create-time "20160613:15:07:27" no-fill t)]
- [4
-  (idstamp 3 idstamp 1 creator "rsw@gnu.org" create-time "20160524:15:04:17" 
no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160613:15:07:27" creator 
"rsw@gnu.org" idstamp 16 kcell t)]
+ [1
+  (rear-nonsticky t no-fill t create-time "20160524:15:04:17" creator 
"rsw@gnu.org" idstamp 1 kcell t)]
  [6
-  (creator "rsw@gnu.org" create-time "20160524:15:32:11" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160524:15:32:11" creator 
"rsw@gnu.org" idstamp 6 kcell t)]
+ [20
+  (rear-nonsticky t no-fill t create-time "20171019:22:07:29" creator 
"rsw@gnu.org" idstamp 20 kcell t)]
  [20
-  (creator "rsw@gnu.org" create-time "20171019:22:07:29" no-fill t)]
- [37
-  (idstamp 20 creator "rsw@gnu.org" create-time "20171019:22:07:29" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171019:22:07:29" creator 
"rsw@gnu.org" idstamp 20 kcell t)]
  [23
-  (creator "rsw@gnu.org" create-time "20171108:01:15:39" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171108:01:15:39" creator 
"rsw@gnu.org" idstamp 23 kcell t)]
+ [22
+  (rear-nonsticky t no-fill t create-time "20171024:13:41:50" creator 
"rsw@gnu.org" idstamp 22 kcell t)]
  [22
-  (creator "rsw@gnu.org" create-time "20171024:13:41:50" no-fill t)]
- [32
-  (idstamp 22 creator "rsw@gnu.org" create-time "20171024:13:41:50" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171024:13:41:50" creator 
"rsw@gnu.org" idstamp 22 kcell t)]
  [15
-  (creator "rsw@gnu.org" create-time "20160613:15:05:40" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160613:15:05:40" creator 
"rsw@gnu.org" idstamp 15 kcell t)]
  [21
-  (creator "rsw@gnu.org" create-time "20171019:22:09:06" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171019:22:09:06" creator 
"rsw@gnu.org" idstamp 21 kcell t)]
  [30
-  (creator "rsw@gnu.org" create-time "20171114:21:36:09" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20171114:21:36:09" creator 
"rsw@gnu.org" idstamp 30 kcell t)]
  [8
-  (creator "rsw@gnu.org" create-time "20160526:02:56:59" no-fill t)]
+  (rear-nonsticky t no-fill t create-time "20160526:02:56:59" creator 
"rsw@gnu.org" idstamp 8 kcell t)]
  nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]
diff --git a/Makefile b/Makefile
index 29def5a18d..aeeeffc80b 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 # Author:       Bob Weiner
 #
 # Orig-Date:    15-Jun-94 at 03:42:38
-# Last-Mod:     30-Jan-22 at 13:03:37 by Bob Weiner
+# Last-Mod:     12-Feb-22 at 14:03:45 by Bob Weiner
 #
 # Copyright (C) 1994-2021  Free Software Foundation, Inc.
 # See the file HY-COPY for license information.
@@ -197,8 +197,8 @@ HY-TALK  = HY-TALK/.hypb HY-TALK/HYPB HY-TALK/HY-TALK.org
 
 HYPERBOLE_FILES = dir info html $(EL_COMPILE) $(EL_KOTL) \
        $(ELC_COMPILE) $(HY-TALK) ChangeLog COPYING Makefile HY-ABOUT 
HY-ANNOUNCE HY-NEWS \
-       HY-WHY.kotl INSTALL DEMO DEMO-ROLO.otl MANIFEST README README.md _hypb 
.hypb smart-clib-sym \
-       topwin.py hyperbole-banner.png $(man_dir)/hkey-help.txt \
+       HY-WHY.kotl INSTALL DEMO DEMO-ROLO.otl FAST-DEMO MANIFEST README 
README.md _hypb \
+        .hypb smart-clib-sym topwin.py hyperbole-banner.png 
$(man_dir)/hkey-help.txt \
        $(man_dir)/hyperbole.texi $(man_dir)/hyperbole.css 
$(man_dir)/version.texi
 
 TEST_ERT_FILES = $(wildcard test/*tests.el) $(wildcard test/hy-test-*.el)
@@ -327,7 +327,7 @@ version: doc
        @ echo ""
 
 # Build the Info, HTML and Postscript versions of the user manual and 
README.md.html.
-doc: info html pdf README.md.html
+doc: README.md.html info html pdf
 
 TEXINFO_SRC = $(man_dir)/hyperbole.texi $(man_dir)/version.texi 
$(man_dir)/hkey-help.txt $(man_dir)/im/*.png
 
diff --git a/README b/README
index 44bd4d29d9..9e378cf693 100644
--- a/README
+++ b/README
@@ -116,7 +116,7 @@ Hyperbole home page: 
https://www.gnu.org/software/hyperbole.  If you have
 already downloaded Hyperbole, see the "HY-ABOUT" file for a longer
 description and overview of Hyperbole.
 
-See "DEMO" for a demonstration of standard Hyperbole button capabilities.
+See "FAST-DEMO" for a demonstration of standard Hyperbole button capabilities.
 This is the best way to initially interactively learn about Hyperbole after
 installing it.
 
@@ -144,8 +144,8 @@ Various forms of the reference manual for Hyperbole are 
below the
 
 "MANIFEST" summarizes most of the files in the distribution.
 
-See "DEMO" for a demonstration of standard Hyperbole button capabilities.
-This is the best way to initially interactively learn about Hyperbole.
+See "DEMO" for a lengthier tutorial of standard Hyperbole button
+capabilities.  This is the best way to go deeper into all of Hyperbole.
 The Hyperbole Manual is a reference manual, not a simple introduction.
 
 Naming conventions:
@@ -186,6 +186,18 @@ Hyperbole key bindings (Smart Keys).
                                        -- Bob Glickstein
                                           Z-Code Software Corporation
 
+-------
+
+  GNU Hyperbole is a game-changer for your mental model of information
+  management and personal productivity.  Even if you don't use it you should
+  study one or two of the modules and compare them to how you solve the same
+  problem with your preferred tool of choice.  It is subtle, and subtle is one
+  of the hardest and post powerful things to reside in your mental landscape
+  these days.
+
+                                       -- Grant Rettke
+                                          Org2Blog Maintainer
+
 -------
 
   One of the nicest things about Hyperbole is that it's available
diff --git a/README.md b/README.md
index d1bef98b3a..8f4e974d2b 100644
--- a/README.md
+++ b/README.md
@@ -436,9 +436,9 @@ See the [HY-COPY](HY-COPY) and [COPYING](COPYING) files for 
license information.
 
 See the [MANIFEST](MANIFEST) file for summaries of Hyperbole distribution 
files.
 
-See [DEMO](DEMO) for a demonstration of standard Hyperbole button capabilities.
-This is the best way to initially interactively learn about Hyperbole after
-installing it.
+See [FAST-DEMO](FAST-DEMO) for a demonstration of Hyperbole implicit button
+capabilities.  This is the best way to initially interactively learn about
+Hyperbole after installing it.
 
 Various forms of the Hyperbole are below the "man/" subdirectory.
 
@@ -447,10 +447,9 @@ Various forms of the Hyperbole are below the "man/" 
subdirectory.
 
 [MANIFEST](MANIFEST) summarizes most of the files in the distribution.
 
-See [DEMO](DEMO) for a demonstration of standard Hyperbole button
-capabilities.  This is the best way to initially interactively learn
-about Hyperbole.  The Hyperbole Manual is a reference manual, not a
-simple introduction.
+See [DEMO](DEMO) for a lengthier tutorial of standard Hyperbole button
+capabilities.  This is the best way to go deeper into all of Hyperbole.
+The Hyperbole Manual is a reference manual, not a simple introduction.
 
 Naming conventions:
 
@@ -510,6 +509,17 @@ Keys).
 
                         -- Aditya Siram  
 
+-------
+
+  GNU Hyperbole is a game-changer for your mental model of information
+  management and personal productivity.  Even if you don't use it you should
+  study one or two of the modules and compare them to how you solve the same
+  problem with your preferred tool of choice.  It is subtle, and subtle is one
+  of the hardest and post powerful things to reside in your mental landscape
+  these days.
+
+                        -- Grant Rettke__
+                           Org2Blog Maintainer
 -------
 
   For me, Emacs isn't Emacs without Hyperbole.  I have depended on Hyperbole
diff --git a/hui-menu.el b/hui-menu.el
index 2222c636fc..d8a351776c 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:     24-Jan-22 at 00:18:47 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 13:51:20 by Bob Weiner
 ;;
 ;; Copyright (C) 1994-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -171,8 +171,7 @@ Return t if cutoff, else nil."
                  (if (= (aref hyperb:version 0) ?0)
                      (substring hyperb:version 1)
                    hyperb:version))
-         #'(hypb:display-file-with-logo
-            (expand-file-name "HY-ABOUT" hyperb:dir))
+         #'(hypb:display-file-with-logo "HY-ABOUT")
          t))
 
 (defconst hui-menu-options
@@ -311,16 +310,14 @@ REBUILD-FLAG is non-nil, in which case the menu is 
rebuilt."
                 "Hyperbole"
                 :config 'Hyperbole
                 hui-menu-about
-                ["Demonstration"  (hypb:display-file-with-logo
-                                   (expand-file-name "DEMO" hyperb:dir)) t]
+                ["Demonstration"  hyperbole-demo t]
                 ;; Comment InfoDock manual reference out until
                 ;; InfoDock is modernized for Emacs 25.
                 ;; (if (and (boundp 'infodock-version) infodock-version)
                 ;;     ["Manual"      (id-info "(infodock)Hyperbole Menu") t]
                 ;;   ["Manual"      (id-info "(hyperbole)Top") t])
                 ["Manual"         (id-info "(hyperbole)Top") t]
-                ["What-is-New?"   (hypb:display-file-with-logo
-                                   (expand-file-name "HY-NEWS" hyperb:dir)) t]
+                ["What-is-New?"   (hypb:display-file-with-logo "HY-NEWS") t]
                 ["Why-Use?"       (find-file
                                    (expand-file-name "HY-WHY.kotl" 
hyperb:dir)) t]
                 "----"
@@ -347,11 +344,9 @@ REBUILD-FLAG is non-nil, in which case the menu is 
rebuilt."
                 '("Documentation"
                   ["Manual"      (id-info "(hyperbole)Top") t]
                   "----"
-                  ["Demonstration"  (hypb:display-file-with-logo
-                                     (expand-file-name "DEMO" hyperb:dir)) t]
+                  ["Demonstration"  hyperbole-demo t]
                   ["Glossary"    (id-info "(hyperbole)Glossary") t]
-                  ["Manifest"    (hypb:display-file-with-logo
-                                  (expand-file-name "MANIFEST" hyperb:dir)) t]
+                  ["Manifest"    (hypb:display-file-with-logo "MANIFEST") t]
                   ["Smart-Key-Summary" (id-browse-file (hypb:hkey-help-file)) 
t]
                   ("Types"
                    ["Action-Types-Manual"
diff --git a/hui-mini.el b/hui-mini.el
index 26679fbc6b..46712def4e 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:      5-Feb-22 at 22:33:19 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 13:52:10 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2022  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -83,6 +83,13 @@ documentation, not the full text."
          t)
       (setq hui:menu-p nil))))
 
+;;;###autoload
+(defun hyperbole-demo (&optional arg)
+  "Display the Hyperbole FAST-DEMO.
+With a prefix arg, display the older, more extensive DEMO file."
+  (interactive "P")
+  (hypb:display-file-with-logo (if arg "DEMO" "FAST-DEMO")))
+
 ;;;###autoload
 (defun hyperbole-set-key (global-key menu-keys)
   "Bind GLOBAL-KEY to Hyperbole minibuffer MENU-KEYS.
@@ -615,23 +622,16 @@ constructs.  If not given, the top level Hyperbole menu 
is used."
          ("XTerm" (setq hyperbole-web-search-browser-function 
#'browse-url-text-xterm))))
        '(doc .
         (("Doc>")
-         ("About"        (hypb:display-file-with-logo
-                          (expand-file-name "HY-ABOUT" hyperb:dir))
-          "Overview of Hyperbole.")
-         ("Demo"         (hypb:display-file-with-logo
-                           (expand-file-name "DEMO" hyperb:dir))
-          "Demonstrates Hyperbole features.")
-         ("Files"        (hypb:display-file-with-logo
-                           (expand-file-name "MANIFEST" hyperb:dir))
+         ("About"        (hypb:display-file-with-logo "HY-ABOUT") "Overview of 
Hyperbole.")
+         ("Demo"         hyperbole-demo "Demonstrates Hyperbole features.")
+         ("Files"        (hypb:display-file-with-logo "MANIFEST")
           "Summarizes Hyperbole system files.  Click on an entry to view it.")
          ("Glossary"
           (id-info "(hyperbole)Glossary")
           "Glossary of Hyperbole terms.")
          ("Info"         (id-info "(hyperbole)Top")
           "Online Info version of Hyperbole manual.")
-         ("New"          (hypb:display-file-with-logo
-                          (expand-file-name "HY-NEWS" hyperb:dir))
-          "Recent changes to Hyperbole.")
+         ("New"          (hypb:display-file-with-logo "HY-NEWS") "Recent 
changes to Hyperbole.")
          ("SmartKeys"    (hkey-summarize 'current-window)
           "Summarizes Smart Key mouse or keyboard handling.")
          ("Types/"       (menu . types)
diff --git a/hypb-maintenance.el b/hypb-maintenance.el
index 4e3afec9b9..43a6cd093f 100644
--- a/hypb-maintenance.el
+++ b/hypb-maintenance.el
@@ -3,7 +3,7 @@
 ;; Author:       Mats Lidell <matsl@gnu.org>
 ;;
 ;; Orig-Date:    31-Mar-21 at 21:11:00
-;; Last-Mod:     24-Jan-22 at 00:36:39 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 14:09:43 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -16,7 +16,7 @@
 (require 'kexport "kotl/kexport")
 (require 'kimport "kotl/kimport")
 
-(defvar hypb:web-repo-location "../hyperbole-web/"
+(defvar hypb:web-repo-location "../hyweb/hyperbole/"
   "The location of hyperbole repo for the web pages.")
 
 (defconst hypb:hy-news-header
@@ -64,6 +64,7 @@ Point `hypb:web-repo-location' to where the web repo is 
located."
   ;; DEMO DEMO-ROLO.otl
   (copy-file "DEMO" hypb:web-repo-location t)
   (copy-file "DEMO-ROLO.otl" hypb:web-repo-location t)
+  (copy-file "FAST-DEMO" hypb:web-repo-location t)
 
   ;; man recursive
   (copy-directory "man" hypb:web-repo-location nil t nil)
@@ -71,13 +72,14 @@ Point `hypb:web-repo-location' to where the web repo is 
located."
           (file-expand-wildcards (concat hypb:web-repo-location 
"man/im/*.eps")))
     (delete-file file))
 
-  ;; DEMO.html
-  (let ((export-buffer (make-temp-name "export")))
-    (kimport:star-outline "DEMO" export-buffer)
-    (kexport:html export-buffer (concat hypb:web-repo-location "DEMO.html") 
nil)
-    (with-current-buffer export-buffer
-      (set-buffer-modified-p nil)
-      (kill-buffer)))
+  ;; DEMO.html and FAST-DEMO.html
+  (dolist (file '("DEMO" "FAST-DEMO"))
+    (let ((export-buffer (make-temp-name "export")))
+      (kimport:star-outline file export-buffer)
+      (kexport:html export-buffer (concat hypb:web-repo-location file ".html") 
nil)
+      (with-current-buffer export-buffer
+       (set-buffer-modified-p nil)
+       (kill-buffer))))
 
   ;; koutline-example.html
   (kexport:html "kotl/EXAMPLE.kotl" (concat hypb:web-repo-location 
"koutline-example.html") nil)
diff --git a/hypb.el b/hypb.el
index 305906a9f4..fe554ae77c 100644
--- a/hypb.el
+++ b/hypb.el
@@ -3,7 +3,7 @@
 ;; Author:       Bob Weiner
 ;;
 ;; Orig-Date:     6-Oct-91 at 03:42:38
-;; Last-Mod:      6-Feb-22 at 12:49:34 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 12:50:34 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2022  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -877,7 +877,12 @@ the symbol list.  For `suspicious', only `set-buffer' can 
be used."
 
 ;;;###autoload
 (defun hypb:display-file-with-logo (file)
-  "Display a text FILE in help mode with the Hyperbole banner prepended."
+  "Display a text FILE in help mode with the Hyperbole banner prepended.
+If FILE is not an absolute path, expand it relative to `hyperb:dir'."
+  (unless (stringp file)
+    (error "(hypb:display-file-with-logo): 'file' must be a string, not '%s'" 
file))
+  (unless (file-name-absolute-p file)
+    (setq file (expand-file-name file hyperb:dir)))
   (let ((existing-buf (when (stringp file) (get-file-buffer file))))
     ;; A stub for this function is defined in hversion.el when not running in 
InfoDock.
     (id-browse-file file)
diff --git a/kotl/EXAMPLE.kotl b/kotl/EXAMPLE.kotl
index cec876230a..f419fb3458 100644
--- a/kotl/EXAMPLE.kotl
+++ b/kotl/EXAMPLE.kotl
@@ -408,135 +408,135 @@ alpha ;; label-type
 
 ;; depth-first kcell attributes
 [[0
-  (idstamp 0 creator "rsw@gnu.org" create-time "20220117:22:23:52" id-counter 
82 file "/c/Users/bob.weiner/Dropbox/emacs/hyperbole/kotl/EXAMPLE.kotl")]
+  (idstamp 0 creator "rsw@gnu.org" create-time "20220117:22:23:52" id-counter 
82 file "/Users/bk/Dropbox/emacs/hyperbole/kotl/EXAMPLE.kotl")]
  [20
-  (creator "rsw@gnu.org" create-time "19940104:17:38:28" no-fill t 
rear-nonsticky t idstamp 20 kcell t)]
+  (kcell t idstamp 20 rear-nonsticky t no-fill t create-time 
"19940104:17:38:28" creator "rsw@gnu.org")]
  [2
-  (creator "rsw@gnu.org" create-time "19940104:17:38:28" no-fill t 
rear-nonsticky t idstamp 2 kcell t)]
+  (kcell t idstamp 2 rear-nonsticky t no-fill t create-time 
"19940104:17:38:28" creator "rsw@gnu.org")]
  [34
-  (creator "rsw@gnu.org" create-time "19940610:16:43:55" rear-nonsticky t 
idstamp 34 kcell t)]
+  (kcell t idstamp 34 rear-nonsticky t create-time "19940610:16:43:55" creator 
"rsw@gnu.org")]
  [35
-  (creator "rsw@gnu.org" create-time "19940610:16:44:03" rear-nonsticky t 
idstamp 35 kcell t)]
+  (kcell t idstamp 35 rear-nonsticky t create-time "19940610:16:44:03" creator 
"rsw@gnu.org")]
  [4
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 4 kcell t)]
+  (kcell t idstamp 4 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [5
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 5 kcell t)]
+  (kcell t idstamp 5 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [6
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 6 kcell t)]
+  (kcell t idstamp 6 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [14
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 14 kcell t)]
+  (kcell t idstamp 14 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [67
-  (creator "rsw@gnu.org" create-time "19951028:04:29:13" no-fill t 
rear-nonsticky t idstamp 67 kcell t)]
+  (kcell t idstamp 67 rear-nonsticky t no-fill t create-time 
"19951028:04:29:13" creator "rsw@gnu.org")]
  [15
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 15 kcell t)]
+  (kcell t idstamp 15 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [31
-  (creator "rsw@gnu.org" create-time "19940306:18:11:43" rear-nonsticky t 
idstamp 31 kcell t)]
+  (kcell t idstamp 31 rear-nonsticky t create-time "19940306:18:11:43" creator 
"rsw@gnu.org")]
  [7
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 7 kcell t)]
+  (kcell t idstamp 7 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [46
-  (creator "rsw@gnu.org" create-time "19950614:21:35:17" rear-nonsticky t 
idstamp 46 kcell t)]
+  (kcell t idstamp 46 rear-nonsticky t create-time "19950614:21:35:17" creator 
"rsw@gnu.org")]
  [43
-  (creator "rsw@gnu.org" create-time "19940610:22:00:46" rear-nonsticky t 
idstamp 43 kcell t)]
+  (kcell t idstamp 43 rear-nonsticky t create-time "19940610:22:00:46" creator 
"rsw@gnu.org")]
  [22
-  (creator "rsw@gnu.org" create-time "19940127:22:41:42" rear-nonsticky t 
idstamp 22 kcell t)]
+  (kcell t idstamp 22 rear-nonsticky t create-time "19940127:22:41:42" creator 
"rsw@gnu.org")]
  [82
-  (no-fill t create-time "20220126:04:52:26" creator "rsw@gnu.org" idstamp 82 
kcell t fontified t)]
+  (fontified nil kcell t idstamp 82 creator "rsw@gnu.org" create-time 
"20220126:04:52:26" no-fill t)]
  [32
-  (creator "rsw@gnu.org" create-time "19940610:16:31:28" rear-nonsticky t 
idstamp 32 kcell t)]
+  (kcell t idstamp 32 rear-nonsticky t create-time "19940610:16:31:28" creator 
"rsw@gnu.org")]
  [41
-  (creator "rsw@gnu.org" create-time "19940610:18:55:09" rear-nonsticky t 
idstamp 41 kcell t)]
+  (kcell t idstamp 41 rear-nonsticky t create-time "19940610:18:55:09" creator 
"rsw@gnu.org")]
  [42
-  (creator "rsw@gnu.org" create-time "19940610:18:55:57" rear-nonsticky t 
idstamp 42 kcell t)]
+  (kcell t idstamp 42 rear-nonsticky t create-time "19940610:18:55:57" creator 
"rsw@gnu.org")]
  [33
-  (creator "rsw@gnu.org" create-time "19940610:16:31:29" rear-nonsticky t 
idstamp 33 kcell t)]
+  (kcell t idstamp 33 rear-nonsticky t create-time "19940610:16:31:29" creator 
"rsw@gnu.org")]
  [47
-  (creator "rsw@gnu.org" create-time "19951022:22:59:26" no-fill t 
rear-nonsticky t idstamp 47 kcell t)]
+  (kcell t idstamp 47 rear-nonsticky t no-fill t create-time 
"19951022:22:59:26" creator "rsw@gnu.org")]
  [8
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 8 kcell t)]
+  (kcell t idstamp 8 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [28
-  (creator "rsw@gnu.org" create-time "19940128:22:50:44" rear-nonsticky t 
idstamp 28 kcell t)]
+  (kcell t idstamp 28 rear-nonsticky t create-time "19940128:22:50:44" creator 
"rsw@gnu.org")]
  [29
-  (creator "rsw@gnu.org" create-time "19940128:22:50:54" rear-nonsticky t 
idstamp 29 kcell t)]
+  (kcell t idstamp 29 rear-nonsticky t create-time "19940128:22:50:54" creator 
"rsw@gnu.org")]
  [10
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 10 kcell t)]
+  (kcell t idstamp 10 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [30
-  (creator "rsw@gnu.org" create-time "19940129:00:27:59" rear-nonsticky t 
idstamp 30 kcell t)]
+  (kcell t idstamp 30 rear-nonsticky t create-time "19940129:00:27:59" creator 
"rsw@gnu.org")]
  [62
-  (creator "rsw@gnu.org" create-time "19951026:08:32:57" no-fill t 
rear-nonsticky t idstamp 62 kcell t)]
+  (kcell t idstamp 62 rear-nonsticky t no-fill t create-time 
"19951026:08:32:57" creator "rsw@gnu.org")]
  [70
-  (creator "rsw@gnu.org" create-time "19951030:19:18:49" no-fill t 
rear-nonsticky t idstamp 70 kcell t)]
+  (kcell t idstamp 70 rear-nonsticky t no-fill t create-time 
"19951030:19:18:49" creator "rsw@gnu.org")]
  [71
-  (creator "rsw@gnu.org" create-time "19951030:19:19:40" no-fill t 
rear-nonsticky t idstamp 71 kcell t)]
+  (kcell t idstamp 71 rear-nonsticky t no-fill t create-time 
"19951030:19:19:40" creator "rsw@gnu.org")]
  [73
-  (creator "rsw@gnu.org" create-time "19951030:19:23:09" no-fill t 
rear-nonsticky t idstamp 73 kcell t)]
+  (kcell t idstamp 73 rear-nonsticky t no-fill t create-time 
"19951030:19:23:09" creator "rsw@gnu.org")]
  [63
-  (creator "rsw@gnu.org" create-time "19951026:19:31:34" no-fill t 
rear-nonsticky t idstamp 63 kcell t)]
+  (kcell t idstamp 63 rear-nonsticky t no-fill t create-time 
"19951026:19:31:34" creator "rsw@gnu.org")]
  [64
-  (creator "rsw@gnu.org" create-time "19951026:19:33:01" no-fill t 
rear-nonsticky t idstamp 64 kcell t)]
+  (kcell t idstamp 64 rear-nonsticky t no-fill t create-time 
"19951026:19:33:01" creator "rsw@gnu.org")]
  [69
-  (creator "rsw@gnu.org" create-time "19951029:06:24:35" no-fill t 
rear-nonsticky t idstamp 69 kcell t)]
+  (kcell t idstamp 69 rear-nonsticky t no-fill t create-time 
"19951029:06:24:35" creator "rsw@gnu.org")]
  [68
-  (creator "rsw@gnu.org" create-time "19951029:06:24:27" no-fill t 
rear-nonsticky t idstamp 68 kcell t)]
+  (kcell t idstamp 68 rear-nonsticky t no-fill t create-time 
"19951029:06:24:27" creator "rsw@gnu.org")]
  [65
-  (creator "rsw@gnu.org" create-time "19951026:19:33:08" no-fill t 
rear-nonsticky t idstamp 65 kcell t)]
+  (kcell t idstamp 65 rear-nonsticky t no-fill t create-time 
"19951026:19:33:08" creator "rsw@gnu.org")]
  [66
-  (creator "rsw@gnu.org" create-time "19951026:19:33:15" no-fill t 
rear-nonsticky t idstamp 66 kcell t)]
+  (kcell t idstamp 66 rear-nonsticky t no-fill t create-time 
"19951026:19:33:15" creator "rsw@gnu.org")]
  [77
-  (creator "rsw@gnu.org" create-time "19980226:19:54:44" no-fill t 
rear-nonsticky t idstamp 77 kcell t)]
+  (kcell t idstamp 77 rear-nonsticky t no-fill t create-time 
"19980226:19:54:44" creator "rsw@gnu.org")]
  [48
-  (creator "rsw@gnu.org" create-time "19951023:05:55:19" no-fill t 
rear-nonsticky t idstamp 48 kcell t)]
+  (kcell t idstamp 48 rear-nonsticky t no-fill t create-time 
"19951023:05:55:19" creator "rsw@gnu.org")]
  [57
-  (creator "rsw@gnu.org" create-time "19951023:10:07:06" no-fill t 
rear-nonsticky t idstamp 57 kcell t)]
+  (kcell t idstamp 57 rear-nonsticky t no-fill t create-time 
"19951023:10:07:06" creator "rsw@gnu.org")]
  [58
-  (creator "rsw@gnu.org" create-time "19951023:10:07:26" no-fill t 
rear-nonsticky t idstamp 58 kcell t)]
+  (kcell t idstamp 58 rear-nonsticky t no-fill t create-time 
"19951023:10:07:26" creator "rsw@gnu.org")]
  [49
-  (creator "rsw@gnu.org" create-time "19951023:05:55:55" no-fill t 
rear-nonsticky t idstamp 49 kcell t)]
+  (kcell t idstamp 49 rear-nonsticky t no-fill t create-time 
"19951023:05:55:55" creator "rsw@gnu.org")]
  [55
-  (creator "rsw@gnu.org" create-time "19951023:08:56:41" no-fill t 
rear-nonsticky t idstamp 55 kcell t)]
+  (kcell t idstamp 55 rear-nonsticky t no-fill t create-time 
"19951023:08:56:41" creator "rsw@gnu.org")]
  [50
-  (creator "rsw@gnu.org" create-time "19951023:05:57:26" no-fill t 
rear-nonsticky t idstamp 50 kcell t)]
+  (kcell t idstamp 50 rear-nonsticky t no-fill t create-time 
"19951023:05:57:26" creator "rsw@gnu.org")]
  [51
-  (creator "rsw@gnu.org" create-time "19951023:05:58:31" no-fill t 
rear-nonsticky t idstamp 51 kcell t)]
+  (kcell t idstamp 51 rear-nonsticky t no-fill t create-time 
"19951023:05:58:31" creator "rsw@gnu.org")]
  [56
-  (creator "rsw@gnu.org" create-time "19951023:08:57:09" no-fill t 
rear-nonsticky t idstamp 56 kcell t)]
+  (kcell t idstamp 56 rear-nonsticky t no-fill t create-time 
"19951023:08:57:09" creator "rsw@gnu.org")]
  [52
-  (creator "rsw@gnu.org" create-time "19951023:05:59:59" no-fill t 
rear-nonsticky t idstamp 52 kcell t)]
+  (kcell t idstamp 52 rear-nonsticky t no-fill t create-time 
"19951023:05:59:59" creator "rsw@gnu.org")]
  [53
-  (creator "rsw@gnu.org" create-time "19951023:06:00:48" no-fill t 
rear-nonsticky t idstamp 53 kcell t)]
+  (kcell t idstamp 53 rear-nonsticky t no-fill t create-time 
"19951023:06:00:48" creator "rsw@gnu.org")]
  [54
-  (creator "rsw@gnu.org" create-time "19951023:06:05:50" no-fill t 
rear-nonsticky t idstamp 54 kcell t)]
+  (kcell t idstamp 54 rear-nonsticky t no-fill t create-time 
"19951023:06:05:50" creator "rsw@gnu.org")]
  [26
-  (creator "rsw@gnu.org" create-time "19940128:03:56:23" rear-nonsticky t 
idstamp 26 kcell t)]
+  (kcell t idstamp 26 rear-nonsticky t create-time "19940128:03:56:23" creator 
"rsw@gnu.org")]
  [27
-  (creator "rsw@gnu.org" create-time "19940128:22:36:54" rear-nonsticky t 
idstamp 27 kcell t)]
+  (kcell t idstamp 27 rear-nonsticky t create-time "19940128:22:36:54" creator 
"rsw@gnu.org")]
  [59
-  (creator "rsw@gnu.org" create-time "19951024:03:40:05" no-fill t 
rear-nonsticky t idstamp 59 kcell t)]
+  (kcell t idstamp 59 rear-nonsticky t no-fill t create-time 
"19951024:03:40:05" creator "rsw@gnu.org")]
  [60
-  (creator "rsw@gnu.org" create-time "19951024:03:40:13" no-fill t 
rear-nonsticky t idstamp 60 kcell t)]
+  (kcell t idstamp 60 rear-nonsticky t no-fill t create-time 
"19951024:03:40:13" creator "rsw@gnu.org")]
  [61
-  (creator "rsw@gnu.org" create-time "19951024:03:40:42" no-fill t 
rear-nonsticky t idstamp 61 kcell t)]
+  (kcell t idstamp 61 rear-nonsticky t no-fill t create-time 
"19951024:03:40:42" creator "rsw@gnu.org")]
  [1
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 1 kcell t)]
+  (kcell t idstamp 1 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [11
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 11 kcell t)]
+  (kcell t idstamp 11 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [80
-  (no-fill t create-time "20220117:22:26:40" creator "rsw@gnu.org" idstamp 80 
kcell t fontified nil)]
+  (fontified nil kcell t idstamp 80 creator "rsw@gnu.org" create-time 
"20220117:22:26:40" no-fill t)]
  [81
-  (no-fill t create-time "20220117:22:26:47" creator "rsw@gnu.org" idstamp 81 
kcell t fontified nil)]
+  (fontified nil kcell t idstamp 81 creator "rsw@gnu.org" create-time 
"20220117:22:26:47" no-fill t)]
  [78
-  (no-fill t create-time "20220117:22:26:33" creator "rsw@gnu.org" idstamp 78 
kcell t fontified nil)]
+  (fontified nil kcell t idstamp 78 creator "rsw@gnu.org" create-time 
"20220117:22:26:33" no-fill t)]
  [12
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 12 kcell t)]
+  (kcell t idstamp 12 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [44
-  (creator "rsw@gnu.org" create-time "19940728:21:56:49" rear-nonsticky t 
idstamp 44 kcell t)]
+  (kcell t idstamp 44 rear-nonsticky t create-time "19940728:21:56:49" creator 
"rsw@gnu.org")]
  [36
-  (creator "rsw@gnu.org" create-time "19940610:16:49:34" rear-nonsticky t 
idstamp 36 kcell t)]
+  (kcell t idstamp 36 rear-nonsticky t create-time "19940610:16:49:34" creator 
"rsw@gnu.org")]
  [37
-  (creator "rsw@gnu.org" create-time "19940610:16:50:02" rear-nonsticky t 
idstamp 37 kcell t)]
+  (kcell t idstamp 37 rear-nonsticky t create-time "19940610:16:50:02" creator 
"rsw@gnu.org")]
  [38
-  (creator "rsw@gnu.org" create-time "19940610:16:50:13" rear-nonsticky t 
idstamp 38 kcell t)]
+  (kcell t idstamp 38 rear-nonsticky t create-time "19940610:16:50:13" creator 
"rsw@gnu.org")]
  [13
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 13 kcell t)]
+  (kcell t idstamp 13 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  [16
-  (creator "rsw@gnu.org" create-time "19940104:17:38:29" rear-nonsticky t 
idstamp 16 kcell t)]
+  (kcell t idstamp 16 rear-nonsticky t create-time "19940104:17:38:29" creator 
"rsw@gnu.org")]
  nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 2c7ba42799..51f7d4b4f3 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -370,7 +370,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 8.0.0pre
-Printed February 5, 2022.
+Printed February 12, 2022.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -411,14 +411,15 @@ time on Hyperbole and love to hear user stories in 
addition to any
 problem reports.
 </p>
 <p>Before we delve into Hyperbole, a number of acknowledgments are in
-order.  Peter Wegner and Morris Moore encouraged the growth of this
-work.  Douglas Engelbart showed us the bigger picture and will forever
-be an inspiration.  His life-long quest at augmenting individual and
-team capabilities represents a model from which we continue to draw.
-Chris Nuzum has used Hyperbole since its inception, often
-demonstrating its power in creative ways.  Many thanks to Mats Lidell,
-a long-time Hyperbole user, who has helped maintain it throughout the
-years.  The Koutliner is dedicated to my lovely wife, Kathy.
+order.  Many thanks to Mats Lidell, a long-time Hyperbole user and
+developer, who maintains Hyperbole with me and with whom I enjoy
+interacting.  Peter Wegner and Morris Moore encouraged the growth of
+this work.  Douglas Engelbart showed us the bigger picture and will
+forever be an inspiration.  His life-long quest at augmenting
+individual and team capabilities represents a model from which we
+continue to draw.  Chris Nuzum has used Hyperbole since its inception,
+often demonstrating its power in creative ways.  The Koutliner is
+dedicated to my lovely wife, Kathy.
 </p>
 <table class="menu" border="0" cellspacing="0">
 <tr><td align="left" valign="top">&bull; <a href="#Introduction" 
accesskey="1">Introduction</a></td><td>&nbsp;&nbsp;</td><td align="left" 
valign="top">
@@ -953,17 +954,17 @@ It offers intuitive mouse-based control of information 
display within
 multiple windows.  It also provides point-and-click access to Info
 manuals, ftp archives, and the World-Wide Web (WWW).
 </p>
-<span id="index-file_002c-DEMO"></span>
+<span id="index-file_002c-FAST_002dDEMO"></span>
 <span id="index-Hyperbole-demo"></span>
 <span id="index-demo-file"></span>
 <span id="index-tutorial"></span>
 <p>This is a reference manual with extensive details about Hyperbole use.  If
 you prefer a simpler, more interactive introduction to Hyperbole,
-the <samp>DEMO</samp> file included in the Hyperbole distribution demonstrates
+the <samp>FAST-DEMO</samp> file included in the Hyperbole distribution 
demonstrates
 many of Hyperbole&rsquo;s standard facilities without the need to read through
-this reference manual.  The DEMO is a good way to rapidly understand some
+this reference manual.  The FAST-DEMO is a good way to rapidly understand some
 of what Hyperbole can do for you.  Once Hyperbole is installed,
-(see <a href="#Setup">Setup</a>), you can access the DEMO with the key 
sequence <kbd>{C-h h
+(see <a href="#Setup">Setup</a>), you can access the FAST-DEMO with the key 
sequence <kbd>{C-h h
 d d}</kbd>.
 </p>
 <p>See <a href="#Glossary">Glossary</a>, for definitions of Hyperbole terms.  
In some cases,
@@ -1178,13 +1179,13 @@ for real-world usage and is well structured).
 </dl>
 
 <span id="index-C_002dh-h-d-d"></span>
-<span id="index-file_002c-DEMO-1"></span>
+<span id="index-file_002c-FAST_002dDEMO-1"></span>
 <span id="index-demonstration"></span>
 <span id="index-button-demo"></span>
 <p>Hyperbole may be used simply for browsing through documents
 pre-configured with Hyperbole buttons, in which case, you can safely
 ignore most of the information in this manual.  Jump right into the
-Hyperbole demonstration by typing <kbd>{C-h h d d}</kbd>, assuming Hyperbole
+Hyperbole fast demonstration by typing <kbd>{C-h h d d}</kbd>, assuming 
Hyperbole
 has been installed at your site.  If you need to install
 Hyperbole, see <a href="#Setup">Setup</a>, for Hyperbole installation and 
configuration
 information.  The demo offers a much less technical introduction to
@@ -2799,14 +2800,15 @@ minibuffer or the other window.
 </p>
 <span id="index-ibtypes-hyp_002dsource"></span>
 <span id="index-Hyperbole-report"></span>
+<span id="index-file_002c-DEMO"></span>
 </dd>
 <dt><code>hyp-source</code></dt>
 <dd><p>Turn source location entries following an &lsquo;@loc&gt;&rsquo; line 
in Hyperbole
 reports into buttons that jump to the associated location.  For
-example, <kbd>{C-h h d d C-h h e h o}</kbd> summarizes the properties of the
-explicit buttons in the <samp>DEMO</samp> file and each button in that report
+example, <kbd>{C-u C-h h d d C-h h e h o}</kbd> summarizes the properties of 
the
+explicit buttons in the <samp>${hyperb:dir}/DEMO</samp> file and each button 
in that report
 buffer behaves the same as the corresponding button in the original
-<samp>DEMO</samp> file.
+<samp>${hyperb:dir}/DEMO</samp> file.
 </p>
 <span id="index-ibtypes-hyp_002daddress"></span>
 <span id="index-Hyperbole-mail-list"></span>
@@ -3102,7 +3104,7 @@ handled elsewhere.
 </dd>
 <dt><code>git-reference</code></dt>
 <dd><p>Display the git entity associated with REFERENCE and optional PROJECT.
-See <samp>DEMO#Git (Local) References</samp> for examples.
+See <samp>${hyperb:dir}/DEMO#Git (Local) References</samp> for examples.
 </p>
 <p>REFERENCE is a string of one of the following forms:
 </p><ul>
@@ -3147,7 +3149,7 @@ produced by git log.
 </dd>
 <dt><code>github-reference</code></dt>
 <dd><p>Display the Github entity associated with REFERENCE and optional USER 
and PROJECT.
-See <samp>../DEMO#Github (Remote) References</samp> for examples.
+See <samp>${hyperb:dir}/DEMO#Github (Remote) References</samp> for examples.
 </p>
 <p>REFERENCE is a string of one of the following forms:
 </p><ul>
@@ -13207,9 +13209,10 @@ Next: <a href="#Concept-Index" accesskey="n" 
rel="next">Concept Index</a>, Previ
 <tr><td></td><td valign="top"><a href="#index-file_002c-_002eemacs-4">file, 
.emacs</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-file_002c-_002ehypb">file, 
.hypb</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Explicit-Buttons">Explicit Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-file_002c-_002ekotl-suffix">file, .kotl 
suffix</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Creating-Outlines">Creating Outlines</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-file_002c-DEMO-1">file, 
DEMO</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Hyperbole-Overview">Hyperbole Overview</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-file_002c-DEMO">file, 
DEMO</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-file_002c-DIR">file, 
DIR</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-file_002c-EXAMPLE_002ekotl">file, 
EXAMPLE.kotl</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Koutliner">Koutliner</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-file_002c-FAST_002dDEMO-1">file, 
FAST-DEMO</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Hyperbole-Overview">Hyperbole Overview</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-file_002c-hactypes_002eel">file, 
hactypes.el</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Creating-Types">Creating Types</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-file_002c-hactypes_002eel-1">file, 
hactypes.el</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Creating-Action-Types">Creating Action Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-file_002c-hbut_002eel">file, 
hbut.el</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Creating-Action-Types">Creating Action Types</a></td></tr>
@@ -14097,7 +14100,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><th id="Concept-Index_cp_letter-F">F</th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a href="#index-file-display-function">file 
display function</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Internal-Viewers">Internal Viewers</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-file-viewer_002c-Treemacs">file 
viewer, Treemacs</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline 
Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-file_002c-DEMO">file, 
DEMO</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Manual-Overview">Manual 
Overview</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-file_002c-FAST_002dDEMO">file, 
FAST-DEMO</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Manual-Overview">Manual Overview</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-file_002c-hycontrol_002eel">file, 
hycontrol.el</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-file_002c-importing">file, 
importing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Inserting-and-Importing">Inserting and Importing</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-filename">filename</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 47207efae8..1f6420f943 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index ccf9ad2a7f..f71409b97f 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 167040a3c2..70d065e016 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -7,7 +7,7 @@
 @c Author:       Bob Weiner
 @c
 @c Orig-Date:     6-Nov-91 at 11:18:03
-@c Last-Mod:      5-Feb-22 at 22:38:23 by Bob Weiner
+@c Last-Mod:     12-Feb-22 at 14:02:21 by Bob Weiner
 
 @c %**start of header (This is for running Texinfo on a region.)
 @setfilename hyperbole.info
@@ -156,7 +156,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
 Edition 8.0.0pre
-Printed February 5, 2022.
+Printed February 12, 2022.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -198,7 +198,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 @example
 Edition 8.0.0pre
-February 5, 2022
+February 12, 2022
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -239,14 +239,15 @@ time on Hyperbole and love to hear user stories in 
addition to any
 problem reports.
 
 Before we delve into Hyperbole, a number of acknowledgments are in
-order.  Peter Wegner and Morris Moore encouraged the growth of this
-work.  Douglas Engelbart showed us the bigger picture and will forever
-be an inspiration.  His life-long quest at augmenting individual and
-team capabilities represents a model from which we continue to draw.
-Chris Nuzum has used Hyperbole since its inception, often
-demonstrating its power in creative ways.  Many thanks to Mats Lidell,
-a long-time Hyperbole user, who has helped maintain it throughout the
-years.  The Koutliner is dedicated to my lovely wife, Kathy.
+order.  Many thanks to Mats Lidell, a long-time Hyperbole user and
+developer, who maintains Hyperbole with me and with whom I enjoy
+interacting.  Peter Wegner and Morris Moore encouraged the growth of
+this work.  Douglas Engelbart showed us the bigger picture and will
+forever be an inspiration.  His life-long quest at augmenting
+individual and team capabilities represents a model from which we
+continue to draw.  Chris Nuzum has used Hyperbole since its inception,
+often demonstrating its power in creative ways.  The Koutliner is
+dedicated to my lovely wife, Kathy.
 
 @menu
 * Introduction::
@@ -575,17 +576,17 @@ It offers intuitive mouse-based control of information 
display within
 multiple windows.  It also provides point-and-click access to Info
 manuals, ftp archives, and the World-Wide Web (WWW).
 
-@cindex file, DEMO
+@cindex file, FAST-DEMO
 @cindex Hyperbole demo
 @cindex demo file
 @cindex tutorial
 This is a reference manual with extensive details about Hyperbole use.  If
 you prefer a simpler, more interactive introduction to Hyperbole,
-the @file{DEMO} file included in the Hyperbole distribution demonstrates
+the @file{FAST-DEMO} file included in the Hyperbole distribution demonstrates
 many of Hyperbole's standard facilities without the need to read through
-this reference manual.  The DEMO is a good way to rapidly understand some
+this reference manual.  The FAST-DEMO is a good way to rapidly understand some
 of what Hyperbole can do for you.  Once Hyperbole is installed,
-(@pxref{Setup}), you can access the DEMO with the key sequence @bkbd{C-h h
+(@pxref{Setup}), you can access the FAST-DEMO with the key sequence @bkbd{C-h h
 d d}.
 
 @xref{Glossary}, for definitions of Hyperbole terms.  In some cases,
@@ -790,13 +791,13 @@ for real-world usage and is well structured).
 @end table
 
 @kindex C-h h d d
-@vindex file, DEMO
+@vindex file, FAST-DEMO
 @cindex demonstration
 @cindex button demo
 Hyperbole may be used simply for browsing through documents
 pre-configured with Hyperbole buttons, in which case, you can safely
 ignore most of the information in this manual.  Jump right into the
-Hyperbole demonstration by typing @bkbd{C-h h d d}, assuming Hyperbole
+Hyperbole fast demonstration by typing @bkbd{C-h h d d}, assuming Hyperbole
 has been installed at your site.  If you need to install
 Hyperbole, @pxref{Setup}, for Hyperbole installation and configuration
 information.  The demo offers a much less technical introduction to
@@ -2196,13 +2197,14 @@ minibuffer or the other window.
 
 @findex ibtypes hyp-source
 @cindex Hyperbole report
+@vindex file, DEMO
 @item hyp-source
 Turn source location entries following an `@@loc>' line in Hyperbole
 reports into buttons that jump to the associated location.  For
-example, @bkbd{C-h h d d C-h h e h o} summarizes the properties of the
-explicit buttons in the @file{DEMO} file and each button in that report
+example, @bkbd{C-u C-h h d d C-h h e h o} summarizes the properties of the
+explicit buttons in the @file{$@{hyperb:dir@}/DEMO} file and each button in 
that report
 buffer behaves the same as the corresponding button in the original
-@file{DEMO} file.
+@file{$@{hyperb:dir@}/DEMO} file.
 
 @findex ibtypes hyp-address
 @cindex Hyperbole mail list
@@ -2471,7 +2473,7 @@ handled elsewhere.
 @vindex hibtypes-git-default-project
 @item git-reference
 Display the git entity associated with REFERENCE and optional PROJECT.
-See @file{DEMO#Git (Local) References} for examples.
+See @file{$@{hyperb:dir@}/DEMO#Git (Local) References} for examples.
 
 REFERENCE is a string of one of the following forms:
 @itemize @bullet
@@ -2510,7 +2512,7 @@ produced by git log.
 @vindex hibtypes-github-default-user
 @item github-reference
 Display the Github entity associated with REFERENCE and optional USER and 
PROJECT.
-See @file{../DEMO#Github (Remote) References} for examples.
+See @file{$@{hyperb:dir@}/DEMO#Github (Remote) References} for examples.
 
 REFERENCE is a string of one of the following forms:
 @itemize @bullet
diff --git a/test/demo-tests.el b/test/demo-tests.el
index d94ac71f24..de2af2807e 100644
--- a/test/demo-tests.el
+++ b/test/demo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:       Mats Lidell <matsl@gnu.org>
 ;;
 ;; Orig-Date:    30-Jan-21 at 12:00:00
-;; Last-Mod:      6-Feb-22 at 03:30:00 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 13:33:53 by Bob Weiner
 ;;
 ;; Copyright (C) 2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -37,7 +37,7 @@
   "Go to the header from a #ref."
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (goto-char (point-min))
         (re-search-forward "#Smart Keys")
         (action-key)
@@ -48,7 +48,7 @@
 (ert-deftest demo-smart-mouse-keys-ebut-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (goto-char (point-min))
         (re-search-forward "<(Smart")
         (action-key)
@@ -59,7 +59,7 @@
 (ert-deftest demo-table-of-contents-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (goto-char (point-min))
         (re-search-forward " \\* Koutl")
         (action-key)
@@ -72,7 +72,7 @@
   (skip-unless (not noninteractive))
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (goto-char (point-min))
         (re-search-forward "Table of Contents")
         (beginning-of-line)
@@ -86,7 +86,7 @@
 (ert-deftest demo-smart-scrolling-non-proportional-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (goto-char (point-min))
         (re-search-forward "Table of Contents")
         (beginning-of-line)
@@ -127,7 +127,7 @@
   (skip-unless (not noninteractive))
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (should (hact 'kbd-key "C-h h s f @ 22 RET Q"))
         (hy-test-helpers:consume-input-events)
         (should (eq 4 (length (window-list)))))
@@ -137,7 +137,7 @@
   (skip-unless (not noninteractive))
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (should (hact 'kbd-key "C-h h s f @ 33 RET Q"))
         (hy-test-helpers:consume-input-events)
         (should (eq 9 (length (window-list)))))
@@ -357,7 +357,7 @@
   (skip-unless (not noninteractive))
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (should (hact 'kbd-key "C-h h f o Hyperbole RET"))
         (hy-test-helpers:consume-input-events)
         (set-buffer "*Occur*")
@@ -370,7 +370,7 @@
 (ert-deftest demo-annotated-reference-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (re-search-forward "\\[FSF 19\\]")
         (backward-char 1)
         (action-key)
@@ -393,7 +393,7 @@
   (skip-unless (not noninteractive))
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (should (hact 'kbd-key "C-h h a factorial RET"))
         (hy-test-helpers:consume-input-events)
         (hy-test-helpers:should-last-message "Factorial of 5 = 120"))
@@ -403,7 +403,7 @@
   (skip-unless (not noninteractive))
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (re-search-forward "<(factorial)>")
         (forward-char -5)
         (action-key)
diff --git a/test/hib-kbd-tests.el b/test/hib-kbd-tests.el
index 97789ea175..291181afac 100644
--- a/test/hib-kbd-tests.el
+++ b/test/hib-kbd-tests.el
@@ -36,7 +36,7 @@
   (skip-unless (not noninteractive))
   (unwind-protect
       (progn
-        (should (hact 'kbd-key "C-h h d d"))
+        (should (hact 'kbd-key "C-u C-h h d d"))
         (hy-test-helpers:consume-input-events)
         (should (string= (buffer-name (current-buffer)) "DEMO" ))
         (should (hact 'kbd-key "C-h h a factorial RET"))
diff --git a/test/hibtypes-tests.el b/test/hibtypes-tests.el
index a06a3b4393..8e5899c248 100644
--- a/test/hibtypes-tests.el
+++ b/test/hibtypes-tests.el
@@ -3,7 +3,7 @@
 ;; Author:       Mats Lidell <matsl@gnu.org>
 ;;
 ;; Orig-Date:    20-Feb-21 at 23:45:00
-;; Last-Mod:      6-Feb-22 at 00:56:55 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 13:33:53 by Bob Weiner
 ;;
 ;; Copyright (C) 2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -201,7 +201,7 @@
 (ert-deftest ibtypes::annot-bib-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (re-search-forward "\\[FSF 19\\]")
         (backward-char 1)
         (ibtypes::annot-bib)
@@ -258,7 +258,7 @@
 (ert-deftest ibtypes::text-toc-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (goto-char (point-min))
         (re-search-forward " \* Koutl")
         (ibtypes::text-toc)
diff --git a/test/hmouse-drv-tests.el b/test/hmouse-drv-tests.el
index 145e7f3c26..20e943106b 100644
--- a/test/hmouse-drv-tests.el
+++ b/test/hmouse-drv-tests.el
@@ -3,7 +3,7 @@
 ;; Author:       Mats Lidell <matsl@gnu.org>
 ;;
 ;; Orig-Date:    28-Feb-21 at 22:52:00
-;; Last-Mod:      6-Feb-22 at 00:58:06 by Bob Weiner
+;; Last-Mod:     12-Feb-22 at 13:33:53 by Bob Weiner
 ;;
 ;; Copyright (C) 2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -360,7 +360,7 @@
 (ert-deftest hbut-annot-bib-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (re-search-forward "\\[FSF 19\\]")
         (backward-char 1)
         (action-key)
@@ -406,7 +406,7 @@
 (ert-deftest hbut-text-toc-test ()
   (unwind-protect
       (progn
-        (hypb:display-file-with-logo (expand-file-name "DEMO" hyperb:dir))
+        (hypb:display-file-with-logo "DEMO")
         (goto-char (point-min))
         (re-search-forward " \* Koutl")
         (action-key)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]