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

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

[elpa] externals/hyperbole 2be4dd0 48/53: Fixed a bunch of small issues


From: Robert Weiner
Subject: [elpa] externals/hyperbole 2be4dd0 48/53: Fixed a bunch of small issues and released Hyperbole 7.
Date: Wed, 15 Nov 2017 22:47:10 -0500 (EST)

branch: externals/hyperbole
commit 2be4dd014ea12b63bcb4b9dc8d32a2f43d425459
Author: Bob Weiner <address@hidden>
Commit: Bob Weiner <address@hidden>

    Fixed a bunch of small issues and released Hyperbole 7.
    
    * hversion.el: Updated to 7.0.0 for major release.
    
    * hui-window.el (hmouse-drag-window-side): Fixed coordinate error when drag 
release is outside of Emacs.
    
    * hui-mouse.el (smart-helm-assist): Fixed message formatting bugs in 
hkey-debug message.
    
    * hlvar.el (hack-local-variables): Changed from use of older 
inhibit-local-variables variable to newer
        (inhibit-local-variables-p) function call.
    
    * Makefile (version): Removed HY-ANNOUNCE-SHORT from distribution.
    
    * kotl/kexport.el (kexport:html): Changed to wrap cell contents in 
<PRE></PRE> tags if soft-newline-flag is nil
        rather than using <BR> hard newlines, so all cell formatting is 
preserved.  Also changed NAME attribute to
        ID for HTML5.
    
    2017-11-14  Bob Weiner  <address@hidden>
    
    * kotl/kimport.el (kimport:star-heading): Added and replaced use of 
hard-coded regexps in star outline importation.
        Also, stopped allowing leading whitespace before outline heading stars 
so can use indented stars as list items
        rather than outline headings.
    
    * hibtypes.el (text-toc): Expanded file names to include DEMO and TUTORIAL.
      DEMO: Added Table of Contents and a section on using it, Table of 
Contents Browsing.
    
    * hbut.el (ebut:label-p): Changed last parameter to limit search to two 
lines rather than one, so Info node matches can
        span two lines as they often do.
    
    * HY-ABOUT: Added link to HY-WHY.kotl.
      HY-WHY.kotl: Added links to relevant DEMO sections throughout.
     DEMO (Koutliner): Updated this section.
      hui-menu.el (infodock-hyperbole-menu): Added Why-Use? entry.
      hui-mini.el (hui:menus): Added WhyUse entry to display HY-WHY.kotl, list 
of Hyperbole use cases.
      man/hyperbole.css (code, tt): Removed leading and trailing padding of 5px 
from code samples so display inline better.
---
 Changes                |  36 +++++
 DEMO                   | 160 ++++++++++--------
 HY-ABOUT               |   6 +-
 HY-ANNOUNCE            | 429 ++++++++-----------------------------------------
 HY-ANNOUNCE-SHORT      |  24 ---
 HY-NEWS                |  46 +++---
 HY-WHY.kotl            | 115 ++++++++-----
 MANIFEST               |   2 +-
 Makefile               |  16 +-
 README.md              |   2 +-
 README.md.html         |   2 +-
 _hypb                  | Bin 1951 -> 2234 bytes
 hact.el                |   4 +-
 hactypes.el            |   5 +-
 hbut.el                |  12 +-
 hib-kbd.el             |   3 +-
 hibtypes.el            |  20 +--
 hlvar.el               |   2 +-
 hmouse-drv.el          |  30 ++--
 hpath.el               |  24 +--
 hui-menu.el            |  13 +-
 hui-mini.el            |   2 +
 hui-mouse.el           |   3 +-
 hui-window.el          |  11 +-
 hui.el                 |   4 +-
 hversion.el            |   2 +-
 hycontrol.el           |  23 +--
 hypb.el                |   9 +-
 hyperbole-pkg.el       |   4 +-
 hyperbole.el           |   2 +-
 hyrolo-demo.el         |  10 +-
 hyrolo.el              |   2 +-
 hywconfig.el           |  10 +-
 kotl/kexport.el        |  33 ++--
 kotl/kimport.el        |  13 +-
 kotl/kotl-autoloads.el |  10 +-
 kotl/kotl-mode.el      |   2 +-
 kotl/kview.el          |   2 +-
 kotl/kvspec.el         |   2 +-
 man/hyperbole.css      |   2 +-
 man/hyperbole.html     | 169 ++++++++++---------
 man/hyperbole.info     | Bin 482670 -> 483045 bytes
 man/hyperbole.pdf      | Bin 1254914 -> 1255114 bytes
 man/hyperbole.texi     |  96 ++++++-----
 man/version.texi       |   6 +-
 45 files changed, 593 insertions(+), 775 deletions(-)

diff --git a/Changes b/Changes
index d998759..2aceba0 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,39 @@
+2017-11-15  Bob Weiner  <address@hidden>
+
+* hversion.el: Updated to 7.0.0 for major release.
+
+* hui-window.el (hmouse-drag-window-side): Fixed coordinate error when drag 
release is outside of Emacs.
+
+* hui-mouse.el (smart-helm-assist): Fixed message formatting bugs in 
hkey-debug message.
+
+* hlvar.el (hack-local-variables): Changed from use of older 
inhibit-local-variables variable to newer
+    (inhibit-local-variables-p) function call.
+
+* Makefile (version): Removed HY-ANNOUNCE-SHORT from distribution.
+
+* kotl/kexport.el (kexport:html): Changed to wrap cell contents in <PRE></PRE> 
tags if soft-newline-flag is nil
+    rather than using <BR> hard newlines, so all cell formatting is preserved. 
 Also changed NAME attribute to
+    ID for HTML5.
+
+2017-11-14  Bob Weiner  <address@hidden>
+
+* kotl/kimport.el (kimport:star-heading): Added and replaced use of hard-coded 
regexps in star outline importation.
+    Also, stopped allowing leading whitespace before outline heading stars so 
can use indented stars as list items
+    rather than outline headings.
+
+* hibtypes.el (text-toc): Expanded file names to include DEMO and TUTORIAL.
+  DEMO: Added Table of Contents and a section on using it, Table of Contents 
Browsing.
+
+* hbut.el (ebut:label-p): Changed last parameter to limit search to two lines 
rather than one, so Info node matches can
+    span two lines as they often do.
+
+* HY-ABOUT: Added link to HY-WHY.kotl.
+  HY-WHY.kotl: Added links to relevant DEMO sections throughout.
+ DEMO (Koutliner): Updated this section.
+  hui-menu.el (infodock-hyperbole-menu): Added Why-Use? entry.
+  hui-mini.el (hui:menus): Added WhyUse entry to display HY-WHY.kotl, list of 
Hyperbole use cases.
+  man/hyperbole.css (code, tt): Removed leading and trailing padding of 5px 
from code samples so display inline better.
+
 2017-11-13  Bob Weiner  <address@hidden>
 
 * hui-window.el (hmouse-drag-thing): Added error if drag ends within the 
delimited thing region, so user knows
diff --git a/DEMO b/DEMO
index 6c3937c..1775c76 100644
--- a/DEMO
+++ b/DEMO
@@ -1,4 +1,20 @@
-* GNU Hyperbole Demonstration and Introduction by Bob Weiner
+* GNU Hyperbole Demonstration by Bob Weiner
+
+    Table of Contents
+    -----------------
+    * Introduction
+    * Smart Keys 
+    * Koutliner
+    * HyControl
+    * HyRolo
+    * History
+    * Implicit Buttons
+    * Explicit Buttons
+    * Smart Mouse Keys
+    * Epilog
+    * References
+
+* Introduction
 
 Welcome to GNU Hyperbole.  Hyperbole will super-charge your GNU Emacs
 experience, allowing you to work faster, utilize fewer key bindings, recall
@@ -36,21 +52,28 @@ the shift-right mouse button.  Memorize these keys; you 
will use them a lot.
 To distinguish the mouse buttons from the keyboard keys, we will often refer
 to the Action Mouse Key or Assist Mouse Key.  (It is possible to rebind these
 keys to the unshifted middle and right mouse buttons, if desired.  See the
-Smart Key Bindings section of the Hyperbole Manual,
-"(hyperbole)Smart Key Bindings").
+Smart Key Bindings section of the Hyperbole Manual, "(hyperbole)Smart Key
+Bindings").
 
 The Action Key selects entities, creates links and activates buttons.  The
 Assist Key provides help, such as reporting on a button's attributes, or
 serves a complementary function to whatever the Action Key does within a
 context.  Press the Action Key within this <(button)> to see all of the
 contexts and operations of the Smart Keys.  SPACE scrolls forward and
-backwards DELETE scrolls backward within the Smart Key summary; {q} quits and
-returns here.
+backwards DELETE scrolls backward within the Smart Key summary; {q} quits
+and returns here.
 
 See also the later section, <(Smart Mouse Keys)>.
 
 Now let's look at many of the things you can do with the Smart Keys.
 
+** Table of Contents Browsing
+
+In DEMO, README and TUTORIAL files, Hyperbole recognizes table of contents
+entries and jumps to their associated sections (by default, in another
+window) with a press of the Action Key.  Go back to the table of contents at
+the start of this file and try navigating to different sections.
+
 ** Smart Scrolling
 
 By default, the variable `smart-scroll-proportional' is set to t (TRUE).  This
@@ -59,8 +82,8 @@ the current line is placed at the top of the window; the 
Assist Key does the
 reverse when pressed at the end of line; it places the current line at the
 bottom of the window.  This is called proportional scrolling because the
 amount of scrolling is relative to the point's position in the window.  Try
-it with this DEMO buffer to see how you can precisely control what is displayed
-in a window and then come back here.
+it with this DEMO buffer to see how you can precisely control what is
+displayed in a window and then come back here.
 
 Alternatively, if this variable is set to nil (FALSE), the Smart Keys scroll
 forward or backward a windowful when at the end of a line, regardless of
@@ -152,19 +175,16 @@ A unique feature of Hyperbole is the Koutliner; it is for 
outlining thoughts,
 developing requirements or listing tasks and hyperlinking them to other
 documents.
 
-The Hyperbole Koutliner should work under any modern version of GNU Emacs.
-Your Emacs supports the Koutliner if when you press {C-h h} to display the
-Hyperbole menu, you have a Kotl/ entry in the menu.
-
 The Hyperbole Koutliner produces structured, autonumbered documents composed
 of 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.
 
-The Kotl/Example menu entry on {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
+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.
 
 
@@ -207,25 +227,25 @@ Let's try some of the more interesting commands.  You can 
either type the
 following key sequences (ignoring the braces) for practice or simply press
 the Action Key within them to see what they look like.
 
-{C-h h s f}  - enter HyControl Frames mode
+   {C-h h s f}  - enter HyControl Frames mode
 
-{.50 %}      - make frame 50% of screen size
-{ c }        - use this multiple times to move frame around screen edges
-{ a }        - use this multiple times to adjust frame width
-{ A }        - use this multiple times to adjust frame height
+   {.50 %}      - make frame 50% of screen size
+   { c }        - use this multiple times to move frame around screen edges
+   { a }        - use this multiple times to adjust frame width
+   { A }        - use this multiple times to adjust frame height
 
 The following 4 commands use the prefix argument as a percentage of the
 screen height, except that no argument or an argument of 1 mean 50% since
 the argument is used to adjust one dimension of the frame.
 
-{ i }        - move to top edge, next press cuts height by ARG %
-{ m }        - move to bottom edge, next press cuts height by ARG %
-{ j }        - move to left edge, next press cuts width by ARG %
-{ k }        - move to right edge, next press cuts width by ARG %
+   { i }        - move to top edge, next press cuts height by ARG %
+   { m }        - move to bottom edge, next press cuts height by ARG %
+   { j }        - move to left edge, next press cuts width by ARG %
+   { k }        - move to right edge, next press cuts width by ARG %
 
-{ f }        - clone the selected window to a new frame
-{ F }        - tear off the selected window (if more than one window)
-               into a new frame
+   { f }        - clone the selected window to a new frame
+   { F }        - tear off the selected window (if more than one window)
+                 into a new frame
 
 ** Windows Grid
 
@@ -289,27 +309,27 @@ results buffer.
 
 For demonstration purposes, we discuss only the most common searches and use
 a global key binding for quick access to HyRolo searches of existing entries.
-Below is a sample rolo file that we will work with in this DEMO.  The date at
-the end of each record is automatically added by HyRolo whenever a new record
-is added.
-
-==================================================================
-                       DEMO ROLO
-==================================================================
-*    HiHo Industries
-**     Strong, Hugo            <address@hidden>  W708-555-9821
-             Manager
-             04/12/2017
-***      Smith, John           <address@hidden>  W708-555-2001
-             Chief Ether Maintainer
-             05/24/2017
-*    Work Industries
-**     Hansen, Dan             <address@hidden>  W218-555-2311
-             Manager
-             02/18/2017
-***      Dunn, John            <address@hidden>  W218-555-3233
-             Media Maker
-             11/2/2017
+Below is a sample rolo file (indented 3 spaces) that we will work with in
+this DEMO.  The date at the end of each record is automatically added by
+HyRolo whenever a new record is added.
+
+   ==================================================================
+                         DEMO ROLO
+   ==================================================================
+   *    HiHo Industries
+   **     Strong, Hugo            <address@hidden>  W708-555-9821
+               Manager
+               04/12/2017
+   ***      Smith, John           <address@hidden>  W708-555-2001
+               Chief Ether Maintainer
+               05/24/2017
+   *    Work Industries
+   **     Hansen, Dan             <address@hidden>  W218-555-2311
+               Manager
+               02/18/2017
+   ***      Dunn, John            <address@hidden>  W218-555-3233
+               Media Maker
+               11/2/2017
 
 ** String Searches
 
@@ -529,18 +549,16 @@ the filename.
 
 Refname can be an Info node name or any Info index item (an item listed in
 any of a manual's indices).  Index items let you jump to a specific,
-referenced point within an Info node.  As an example, suppose you want
-quick access to a summary of Hyperbole's key bindings.  Store
-"(hyperbole)key binding list" in your personal file of buttons (accessed with
-{C-h h b p}) and it will always be there.  Press the Action Key on it and
-try it.  Press the Action Key on the key binding of your personal button
-file and then store the implicit link there if you like.
-
-If you want to learn a rapid way to create explicit buttons, see "(hyperbole)By
-Dragging".
+referenced point within an Info node.  As an example, suppose you want quick
+access to a summary of Hyperbole's key bindings.  Store "(hyperbole)key
+binding list" in your personal file of buttons (accessed with {C-h h b p})
+and you will always have quick access to a list of Hyperbole's global key
+bindings.  Press the Action Key on the Info reference and try it.  Press the
+Action Key on the key binding of your personal button file and then store the
+implicit link there if you like.
 
 Since Emacs and most GNU programs include Info manuals, you now a simple way to
-link to and jump to any marked item within any manual.
+link to and jump to any named item within a manual.
 
 *** Remote Paths
 
@@ -623,11 +641,14 @@ includes your system information.
 An Action Key press on a social media hashtag or username reference at point
 displays the web page associated with the reference at the associated
 service.  References are of the form:
-[facebook|instagram|address@hidden<hashtag-or-username> or
-[fb|in|address@hidden<hashtag-or-username>.  If the service is omitted and 
there
-is no other usage of a hash reference without a prefix in the buffer, then
-the service defaults to the value of `hibtypes-social-default-service',
-which is initially "twitter".
+
+             [facebook|instagram|address@hidden<hashtag-or-username>
+          or
+             [fb|in|address@hidden<hashtag-or-username>.
+
+If the service is omitted and there is no other usage of a hash reference
+without a prefix in the buffer, then the service defaults to the value of
+`hibtypes-social-default-service', which is initially "twitter".
 
 For example, these make the same hashtag reference: twitter#gnu or tw#gnu
 and display the page for tweets with that hashtag.  Similarly, address@hidden 
or
@@ -646,11 +667,13 @@ Press the Action Key on address@hidden to go to RSW's 
gihub home page.
 address@hidden works too. 
 
 References to project home pages look like this (the / is required):
+
   github#/hyperbole           (uses user default setting)
   github#/rswgnu/hyperbole
 
 References to specific commits use the # hash symbol and short versions
 of the git commit hash code:
+
   gh#rswgnu/hyperbole/5ae3550 (if include user, must include project)
   github#hyperbole/5ae3550    (project can be given with user default)
   gh#5ae3550                  (user and project defaults are used)
@@ -733,8 +756,8 @@ If you click the Action Key on the buffer name, the buffer 
will be displayed
 just as a file buffer would.  This type of implicit button is called a
 `hyp-source' button.
 
-You can also activate any explicit buttons shown in help buffers thanks to
-hyp-source buttons.
+You can also activate any explicit buttons (see "#Explicit Buttons") shown in
+help buffers thanks to hyp-source buttons.
 
 ** UNIX Man Apropos Buttons
 
@@ -1229,11 +1252,10 @@ behavior.
 * Epilog
 
 We hope you have enjoyed this introduction to Hyperbole. It can be your
-every-ready sidekick in your daily knowledge work.  Explore the Hyperbole
+ever-ready sidekick in your daily knowledge work.  Explore the Hyperbole
 menus to learn more interactively.  For reference, the Hyperbole Manual, has
-more detail about the many things that Hyperbole does when you are ready to
-dive deeper.  Read it online with the GNU Info reader at "(hyperbole)Top".
-
+extensive detail about the many things that Hyperbole does when you are ready
+to dive deeper.  Read it online with the GNU Info reader at "(hyperbole)Top".
 
 * References
 
diff --git a/HY-ABOUT b/HY-ABOUT
index 8812ff6..b8f0a59 100644
--- a/HY-ABOUT
+++ b/HY-ABOUT
@@ -3,14 +3,14 @@
                   Designed and Written by Bob Weiner
                Maintained by Mats Lidell and Bob Weiner
                 https://www.gnu.org/software/hyperbole/
-                            Version 6.0.2g
+                            Version 7.0.0
 
 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
-24.4 or above.
+24.4 or above.  (See also: "HY-WHY.kotl" for Hyperbole uses).
 
-It includes easy-to-use, powerful hypertextual button types without
+Hyperbole includes easy-to-use, powerful hypertextual buttons without
 the need to learn a markup language; a hierarchical, record-based
 contact manager; a rapid window and frame control system; and a
 powerful multi-level auto-numbered outliner.  All features are aimed
diff --git a/HY-ANNOUNCE b/HY-ANNOUNCE
index 33eae11..58e3b03 100644
--- a/HY-ANNOUNCE
+++ b/HY-ANNOUNCE
@@ -1,395 +1,96 @@
 To: address@hidden, address@hidden, address@hidden
-ANNOUNCE: GNU Hyperbole 6.0.2g is released for Emacs 24.4 and above
+ANNOUNCE: GNU Hyperbole 7, a.k.a the Git Ready for Action Release
 
-The GNU Hyperbole home page, https://www.gnu.org/software/hyperbole,
-contains a number of screenshots of Hyperbole and its menus and links to
-useful resources.
+This is the main public release of GNU Hyperbole for 2017.  It offers many
+new productivity-enhancing features including Git and Github object links
+as summarized here:
 
-GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is an
-amazing, programmable hypertextual information management system
-implemented as a GNU Emacs package.  This is the main public release of
-2017.  Hyperbole has been greatly expanded and updated for use with the
-latest Emacs 26 releases; it supports GNU Emacs 24.4 or above.  It contains
-an extensive set of improvements that can greatly boost your day-to-day
-productivity with Emacs and your ability to manage information stored
-across many different machines on the internet.  People who get used to
-Hyperbole find it helps them so much that they prefer never to use Emacs
-without it.
-
-Hyperbole includes easy-to-use, powerful hypertextual button types and
-links that can be made without the need to learn a markup language.  It
-also includes a hierarchical, record-based contact manager, a rapid window
-and frame control system and a powerful multi-level auto-numbered outliner.
-All features are aimed at making textual information management and display
-fast and easy.
-
-Hyperbole embeds hypertext buttons within unstructured and structured
-files, mail messages and news articles.  It offers intuitive 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.
-
-The Hyperbole wiki page, "https://www.emacswiki.org/emacs/Hyperbole";,
-explains the many ways it differs from and is complementary to Org mode.
-
-Instructions follow on how to download, install and utilize GNU Hyperbole
-as an Emacs package.  These are followed by What's New with Hyperbole in
-2017.
-
-Bob Weiner designed and programmed GNU Hyperbole. He and Mats Lidell
-maintain it for the Free Software Foundation.  It includes an interactive
-demo to introduce you to its features and a detailed reference manual.
-
-===========================================================================
-*                  What's New in GNU Hyperbole V6.0.2g
-===========================================================================
-
-See "https://git.savannah.gnu.org/cgit/hyperbole.git/tree/HY-NEWS";.
-
-===========================================================================
-*                                About
-===========================================================================
-
-GNU Hyperbole consists of five parts:
-
-* Buttons and Smart Keys
-     a set of hyperbutton types which supply core hypertext and other
-     behaviors.  Buttons may be added to documents (explicit buttons)
-     with a simple drag between windows, no markup language needed.
-     Implicit buttons are patterns automatically recognized within text
-     that perform actions, e.g.  bug#24568 displays the bug status
-     information for that bug number.
-
-     Buttons are accessed by clicking on them or referenced by name
-     (global buttons), so they can be activated regardless of what is on
-     screen.  Users can make simple changes to button types.  Emacs Lisp
-     programmers can prototype and deliver new types quickly.
-
-     Hyperbole includes two special `Smart Keys', the Action Key and the
-     Assist Key, that perform an extensive array of context-sensitive
-     operations across emacs usage, including activating and showing
-     help for 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;
-
-* 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 since it introduces
-     only a few new mechanisms and has a menu interface, which may be
-     operated from the keyboard or the mouse;
-
-* Screen Control
-     the fastest, easiest-to-use window and frame control available for
-     GNU Emacs, called HyControl.  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;
-
-* Hypertextual Outliner
-     an advanced outliner, the Koutliner, with multi-level
-     autonumbering and permanent identifiers 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;
+  https://git.savannah.gnu.org/cgit/hyperbole.git/plain/HY-NEWS
 
-* Programming Library
-     a set of programming libraries, 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.  It has been engineered for real-world
-     usage and is well structured).
+A short explanation of Hyperbole is included below.  For more detail
+or how to obtain and install it, see:
 
-The GNU Hyperbole project home page gives a more extensive description:
-"https://www.gnu.org/software/hyperbole/";.
+  https://www.gnu.org/software/hyperbole
 
-===========================================================================
-*                     Package Installation
-===========================================================================
+For a list of use cases, see:
 
-Once you have Emacs set up at your site, GNU Hyperbole may be
-installed simply by using the Emacs Package Manager.  If you are not
-familiar with it, see the Packages section of the GNU Emacs Manual,
-"(emacs)Packages", or:
-"https://www.gnu.org/software/emacs/manual/html_node/emacs/Packages.html";. 
+  https://www.gnu.org/software/hyperbole/HY-WHY.html
 
-If you have Hyperbole 5.10 or higher already installed and simply want to
-upgrade it, invoke the Emacs Package Manager with {M-x list-packages RET},
-then use the {U} followed by the {x} key to upgrade all out-of-date
-packages, Hyperbole among them.  Then skip the text below and move on to
-the next section, Invocation.
+For what users think about Hyperbole, see:
 
-Otherwise, to download and install the Hyperbole package, add the following
-lines to your personal Emacs initialization file, typically "~/.emacs".
+  https://www.gnu.org/software/hyperbole/hyperbole.html#user-quotes
 
-(require 'package)
-(setq package-enable-at-startup nil) ;; Prevent double loading of libraries
-(package-initialize)
-(unless (package-installed-p 'hyperbole)
-  (package-refresh-contents)    
-  (package-install 'hyperbole))
-(require 'hyperbole)
+----
 
-Now restart Emacs and Hyperbole will be downloaded and compiled for use
-with your version of Emacs.  You may see a bunch of compilation warnings
-but these can be safely ignored.
-
-===========================================================================
-*                           Invocation
-===========================================================================
-
-Once Hyperbole has been installed for use at your site and loaded into your
-Emacs session, it is ready for use.  You will see a Hyperbole menu on your
-menubar and {C-h h} will display a Hyperbole menu in the minibuffer for
-quick keyboard-based selection.
-
-You can invoke Hyperbole commands in one of three ways:
-
-   use the Hyperbole menu on your menubar;
+GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is an
+amazing, programmable hypertextual information management system
+implemented as a GNU Emacs package and extensively documented.  Hyperbole
+has been greatly expanded and updated for use with the latest Emacs 26
+releases; it supports GNU Emacs 24.4 or above.
 
-   type {C-h h} or {M-x hyperbole RET} to bring up the Hyperbole main menu
-   in the minibuffer window, for fast keyboard or mouse-based selection;
-   select an item from this menu by typing the item's first letter; use {q}
-   to quit from the menu.
+Hyperbole can boost your day-to-day productivity with Emacs and your
+ability to manage information stored across many different machines on the
+internet.  People who get used to Hyperbole often find they prefer never to
+use Emacs without it.
 
-   use a specific Hyperbole command such as an Action Key click {M-RET} on
-   a pathname to display the associated file or directory.
+Hyperbole includes its own easy-to-use hypertextual buttons and links that
+can be created without the need for any markup language.
 
-Use {C-h h d d} for an interactive demonstration of standard Hyperbole
-button capabilities.
+It also comes out-of-the-box with:
 
-{C-h h k e} offers an interactive demonstration of the Koutliner,
-Hyperbole's multi-level autonumbered hypertextual outliner.
+  - a hierarchical, record-based contact manager
 
-To try out HyControl, Hyperbole's interactive frame and window control
-system, use {C-h h s w} for window control or {C-h h s f} for frame
-control.  {t} switches between window and frame control once in one of
-them.  Hyperbole also binds {C-c \} for quick access to HyControl's
-window control menu if it was not already bound prior to Hyperbole's
-initialization.  A long video demonstrating most of HyControl's features
-is available at https://youtu.be/M3-aMh1ccJk.
+  - a rapid window and frame control system
 
-The above are the best interactive ways to learn about Hyperbole.  The
-Hyperbole Manual is a reference manual, not a simple introduction.  It is
-included in the "man/" subdirectory of the Hyperbole package directory in
-four forms:
+  - a powerful multi-level auto-numbered outliner
 
-"man/hyperbole.info"   - online Info browser version
-"man/hyperbole.html"   - web HTML version
-"man/hyperbole.pdf"    - printable version
-"man/hyperbole.texi"   - source form
+  - and two very smart context-dependent mouse and keyboard keys that
+    simplify operations in many editing and browsing modes.  All features
+    are aimed at making textual information management and display fast and
+    easy.
 
-The Hyperbole package installation places the Info version of this manual
-where needed and adds an entry for Hyperbole into the Info directory under
-the Emacs category.  {C-h h d i} will let you browse the 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}/".
+Bob Weiner designed and programmed GNU Hyperbole.  He and Mats Lidell
+maintain it with the Free Software Foundation.  It includes an interactive
+demo to introduce you to its features as well as a detailed reference manual,
+as explained here:
 
-===========================================================================
-*               Ftp and Git Repository Downloads
-===========================================================================
+  https://www.gnu.org/software/hyperbole/hyperbole.html#invocation-and-doc
 
-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/
+Please give Hyperbole a try.  It's free, man.  It adapts to your needs.
+It connects everything.  It rewires your brain.  It speeds your web
+searches for `carpal tunnel syndrome'.  It makes you feel like the
+sun is out on a gray winter day :-)
 
-Alternatively, you may download a tar.gz source archive from either:
+But wait, there's more and this part is serious.  For a limited time,
+to encourage use and feedback, the first 30 people who try out the
+Hyperbole DEMO or read the Hyperbole Manual and send a few thoughtful
+sentences to <rsw at gnu dot org> will receive either of their choice of
+the following as yet unpublished single file Emacs Lisp libraries:
 
-    ftp://ftp.gnu.org/gnu/hyperbole/
+;;  rsw-linecol.el: User-editable mode-line column and line number display 
formats
+;;
+;;  GNU Emacs buries the formatting of mode-line line and column
+;;  numbers in a way that makes it virtually impossible for a user
+;;  to change this formatting.  This library fixes that with a new
+;;  variable which may be modified to instantly alter the mode-line
+;;  column and line number display.
 
 or
 
-    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.
-
-===========================================================================
-*                           User Quotes
-===========================================================================
-
-
-  *** MAN I love Hyperbole!!!  Wow! ***
-
-                                        -- Ken Olstad
-                                           Cheyenne Software, Inc.
-
--------
-
-  I *love* koutlines.
-
-                                        -- Bob Glickstein
-                                           Z-Code Software Corporation
-
--------
-
-  One of the nicest things about Hyperbole is that it's available
-  everywhere.  Org-mode is a mode and its features are only available in
-  *.org files.  For instance if you dropped into `eshell' or `ansi-term' and
-  did `ls', you can move point to any of the directory's contents, do M-RET
-  (or Shift-Button2) and jump to that file.  And that's just one example.
-  Note that this means that all Hyperbole functionality is available in
-  *.org files as well.  To me, except for the Hyperbole outliner, that means
-  complementary not conflicting. It's Hyperbole *and* org-mode, not
-  Hyperbole vs. org-mode.
-
-  Additionally, off the bat, I found it very well documented and for me
-  that's a proxy for the quality of a package.  The maintainers are quite
-  responsive.  There's plenty more functionality that I haven't uncovered yet
-  but due to the ease of installation and the quality of the documentation,
-  digging into it is actually fun.
-
-                                       -- Aditya Siram
-
--------
-
-  For me, Emacs isn't Emacs without Hyperbole.  I have depended on Hyperbole
-  daily since 1992, when I first started using it to manage my development
-  environment.  It didn't take long before I could summon almost any
-  information I needed directly from within my editing environment with an
-  implicit button. Since I almost never have to slow down to look for
-  things--one context-dependent button usually produces exactly what I need
-  --I am able to maintain focus on the task I am working on and complete it
-  more quickly.  With its gestural interface, seamless integration with other
-  Emacs packages and incredibly useful set of core features.  I think that
-  Hyperbole is one of the best designed and most easily extensible software
-  products I have ever come across.  It is certainly the one which has made
-  the biggest improvement in my personal productivity.
-
-                                        -- Chris Nuzum
-                                           Co-founder, Traction Software, Inc.
-
--------
-
-  I've found Hyperbole (in conjunction with XEmacs) to be very useful
-  for signal processing algorithm development.
-
-  For me, it has almost completely obsoleted the engineering notebook:
-  I keep a set of files with ideas, algorithms, and results, linked
-  together and to the implementation in C++ files.  Using XEmacs'
-  support for embedding graphics, I've written a mode that accepts
-  image tags (formatted like HTML), and reads in GIF files to display
-  plots.  I have another program that converts the file to HTML (not
-  perfect, but adequate), so I can put any aspect of development on
-  our internal web for others to see.
-
-                                        -- Farzin Guilak
-                                           Protocol Systems, Inc., Engineer
-
--------
-
-  I am blind and have been using Hyperbole since 1992.  I used to use a PC as
-  a talking terminal attached to a UNIX system, but then I developed
-  Emacspeak which lets me use Emacs and Hyperbole from standard UNIX
-  workstations with an attached voice synthesizer.
-
-  My main uses are:
-    1) Global and implicit buttons for jumping to ftp sites.
-    2) The contact manager with Emacspeak support.
-    3) Explicit buttons as part of comments made about a structured document.
-       Each button jumps to the document section referred to by the comment.
-       This is very, very useful.
-    4) The Hyperbole Koutliner, which I find a very useful tool.  I've
-       implemented Emacspeak extensions to support it.
-
-                                        -- TV Raman
-                                           Google Inc.
-
--------
-
-  I've been a grateful Hyperbole user for a few years now.  Hyperbole's
-  flexibility and ease of use is a marvel.
-
-  Mainly, I write easy little implicit button types (and corresponding action
-  types) to make my life easier.  For example, I have an implicit button type
-  to bury certain buffers when I click at their bottoms, one that recognizes
-  a bug report record in various contexts and edits it, one that links pieces
-  of test output in a log file to the corresponding test case source code
-  (EXTREMELY helpful in interpreting test output), others that support our
-  homegrown test framework, one that handles tree dired mode the way I'd
-  like, one that completely handles wico menus (I've also overloaded the
-  wconfig actions triggered by diagonal mouse drags with wicos actions), and
-  a couple that support interaction with BBDB.
-
-  Other than that, I keep a global button file with 30 or so explicit buttons
-  that do various little things, and I index saved mail messages by putting
-  explicit link-to-mail buttons in an outline file.
-
-                                        -- Ken Olstad
-                                           Cheyenne Software, Inc.
-
--------
-
-  In general, Hyperbole is an embeddable, highly extensible hypertext
-  tool.  As such, I find it very useful. As it stands now, Hyperbole is
-  particularly helpful for organizing ill-structured or loosely coupled
-  information, in part because there are few tools geared for this purpose.
-  Hyperbole also possesses a lot of potential in supporting a wider
-  spectrum of structuredness, ranging from unstructured to highly
-  structured environments, as well as structural changes over time.
-
-  Major Uses:
-
-  * Menu interface to our own collaborative support environment called
-    CoReView: This interface brings together all top-level user commands
-    into a single partitioned screen, and allows the end user to interact
-    with the system using simple mouse-clicking instead of the meta-x key.
-
-  * Gateway to internet resources: this includes links to major Internet
-    archive sites of various types of information. Links are made at both
-    directory and file levels.
-
-  * Alternative directory organizer: The hierarchical nature of the Unix
-    file system sometimes makes it difficult to find things quickly and
-    easily using directory navigational tools such as dired. Hyperbole
-    enables me to create various "profile" views of my directory tree, with
-    entries in these views referring to files anywhere in the hierarchy.
-
-  * Organizing and viewing online documentation: using Hyperbole along with
-    Hyper-man and Info makes it truly easy to look up online documentation.
-      
-  * Other desktop organization tasks: including links to various mail
-    folders, saved newsgroup conversation threads, online note-taker,
-    emacs-command invocations, etc.
-
-                                        -- Dadong Wan
-                                           University of Hawaii
-
--------
-
-  Hyperbole is the first hyper-link system I've run across that is
-  actually part of the environment I use regularly, namely Emacs. The
-  complete flexibility of the links is both impressive and expected -- the
-  idea of making the link itself programmable is clever, and given that one
-  assumes the full power of Emacs.  Being able to send email with buttons
-  in it is a very powerful capability.  Using ange-ftp mode, one can make
-  file references "across the world" as easily as normal file references.
-
-                                        -- Mark Eichin
-                                           Cygnus Support
--------
-
-   I just wanted to say how much I enjoy using the Hyperbole Koutliner.
-   It is a great way to quickly construct very readable technical documents
-   that I can pass around to others.   Thanks for the great work.  
-
-                                        -- Jeff Fried
-                                           Informix
+;;  rsw-chrome-macos.el: Open a URL or file in Google Chrome and reuse an 
existing
+;;    tab/window if already displayed.
+;;
+;;  This library resolves the many problems of sending URLs to Google Chrome
+;;  on MacOS.  It properly sends # hash in-file links (these are
+;;  typically stripped when Chrome is called as a MacOS application).
+;;  It reuses any tab already displaying any matching URL that is sent
+;;  and it does this even if the ultimately displayed URL goes through
+;;  several redirects before display.
 
--------
+Enjoy,
 
-   The Hyperbole system provides a nice interface to exploring corners of
-   Unix that I didn't know existed before.
+Bob and Mats
 
-                                        -- Craig Smith
 
--- The End --
diff --git a/HY-ANNOUNCE-SHORT b/HY-ANNOUNCE-SHORT
deleted file mode 100644
index 878c83d..0000000
--- a/HY-ANNOUNCE-SHORT
+++ /dev/null
@@ -1,24 +0,0 @@
-To: address@hidden, address@hidden, address@hidden
-ANNOUNCE: GNU Hyperbole 6.0.2g is released for Emacs 24.4 and above
-
-For information on what GNU Hyperbole is, screenshots, download and
-installation instructions, see the GNU Hyperbole home page:
-
-   https://www.gnu.org/software/hyperbole
-
-The Hyperbole wiki page:
-
-   https://www.emacswiki.org/emacs/Hyperbole
-
-explains the many ways it differs from and is complementary to Org mode.
-
-Hyperbole includes an interactive demo to introduce you to its features and a
-detailed reference manual.
-
-===========================================================================
-*                 What's New in GNU Hyperbole V6.0.2g
-===========================================================================
-
-See "https://git.savannah.gnu.org/cgit/hyperbole.git/tree/HY-NEWS";.
-
--- The End --
diff --git a/HY-NEWS b/HY-NEWS
index 1524f30..44b430b 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -2,13 +2,29 @@
                                 by Bob Weiner
 
 ===========================================================================
-*                                   V6.0.2g
+*                                   V7.0.0
 ===========================================================================
 
         (See the "Changes" file for even more details of changes).
 
   BUTTONS AND SMART (ACTION AND ASSIST) KEYS
 
+    - Git References: New implicit button and action type with a compact syntax
+        that displays many types of git entities, e.g. git#commit/55a1f0.  Such
+        references work across all git repositories on your local disks.
+
+        See "DEMO#Git (Local) References" or the commentary at the top of the
+        "hib-social.el" file for extensive examples of these references.  {C-h
+        f git-reference RET} explains its syntax.
+
+    - Github References: New implicit button and action type with a compact
+        syntax that displays many types of github entities,
+        e.g. gh#emacs-helm/helm/1878, displays issue #1878 for user emacs-helm
+        and project helm.  See "DEMO#Github (Remote) References" or the
+        commentary at the top of the "hib-social.el" file for extensive
+        examples of these references.  {C-h f github-reference RET} explains
+        its syntax.
+
     - Extensive new support for cross-window and cross-frame drags of the
       Action and Assist Mouse Keys.  See "DEMO#Smart Mouse Keys" and the Info
       manual section, "(hyperbole)Smart Mouse Key Drags" for details.  These
@@ -45,7 +61,7 @@
           Smart Key action handling at least 1/3 of a second in a number of 
cases.
 
     - {}-delimited Key Sequence Implicit Buttons have been greatly expanded.
-      An Action Key press on the following, all execute the associated 
commands:
+      An Action Key press on any of the following execute the associated 
commands:
         {M-x occur RET}                 - M-x extended commands
         {M-x apropos RET hyperbole RET} - commands with arguments
        {C-x 2 C-x 3}                   - sequences of commands
@@ -53,7 +69,7 @@
 
     - Pathname Environment Variables: Implicit Buttons may contain environment
       variables such as "${PATH}/python" and Hyperbole resolves them to the
-      first matching directory with an Action Key press.
+      first matching directory when activated.
 
     - Compressed Elisp: Quoted, compressed Emacs Lisp source file names without
       any path now work as implicit buttons that display the source file, with
@@ -95,22 +111,6 @@
       explicit buttons are highlighted with a special colored face or not.  By
       default, they are.
 
-    - Git References: New implicit button and action type with a compact syntax
-        that displays many types of git entities, e.g. git#commit/55a1f0.  Such
-        references work across all git repositories on your local disks.
-
-        See "DEMO#Git (Local) References" or the commentary at the top of the
-        "hib-social.el" file for extensive examples of these references.  {C-h
-        f git-reference RET} explains its syntax.
-
-    - Github References: New implicit button and action type with a compact
-        syntax that displays many types of github entities,
-        e.g. gh#emacs-helm/helm/1878, displays issue #1878 for user emacs-helm
-        and project helm.  See "DEMO#Github (Remote) References" or the
-        commentary at the top of the "hib-social.el" file for extensive
-        examples of these references.  {C-h f github-reference RET} explains
-        its syntax.
-
     - Python PDB Backtraces: Action Key presses jump to the associated source
       line.
 
@@ -155,8 +155,13 @@
 
   DOCUMENTATION
 
+    - 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
+      menubar menu entry.
+
     - Hyperbole HTML Manual: The HTML version of the Hyperbole Manual now uses
-      css stylesheet similar to that used for the Hyperbole Home page, making
+      the same css stylesheet as used for the Hyperbole Home page, making
       it look much better and easier to navigate.
 
     - Drags: Updated Hyperbole Manual with all new Smart Mouse Key drag 
actions.
@@ -194,6 +199,7 @@
         * Using URLs with Find-File: Added URL browser customization menu 
reference and image.
 
     - New DEMO File Sections:
+        * Table of Contents Browsing
         * Dragging Buffers, Windows and Items
         * HyControl Frame Commands and Windows Grid subsections
        * HyRolo
diff --git a/HY-WHY.kotl b/HY-WHY.kotl
index ad71656..4ba7036 100644
--- a/HY-WHY.kotl
+++ b/HY-WHY.kotl
@@ -2,80 +2,107 @@
 "Kotl-4.0" ;; file-format
 
    1. Create a library of documents, link them on-the-fly and retrieve
-      any one at the touch of a button containing its short id.
+      any one at the touch of a button containing its short id.  See
+      "hib-doc-id.el".  (Use the Action Key to activate any
+      cross-reference herein).
 
-   2. Utilize a single key to follow URLs with section links, Markdown
+   2. Action Key click to follow URLs with section links, Markdown
       links, Emacs outline heading links, Org mode links, file and
       directory links and program identifier references.
+      See "DEMO#HTML Markdown and Emacs Outline Hash Links".
 
-   3. Display and edit local or remote files and directories simply by
+   3. Random access to sections of a Table of Contents in DEMO, README
+      and TUTORIAL files as well as Internet RFCs.  Entries in a
+      code library MANIFEST file work the same way.  See "DEMO#Table
+      of Contents Browsing".
+
+   4. Display and edit local or remote files and directories simply by
       pressing on their names.  Hyperbole will automatically embed
       certain key variables in link pathnames so that as these links
       are moved from site to site and the variable values change at
-      each site, the links automatically maintain proper linkages.
+      each site, the links maintained properly.  See "DEMO#Path
+      Suffixes and Variables" and "DEMO#Path Prefixes".
+
+   5. Quickly search the web for targeted types of information such as
+      programming questions, code libraries, images, videos,
+      locations, word definitions, wikipedia entries or even tweets.
+      See "DEMO#Hyperbole Menus".
+
+   6. Embed social media hashtags and user names in any text files.
+      Then jump to the associated web page in your favorite web
+      browser with an Action Key press.  See "DEMO#Social Media
+      Hashtags and Usernames".
+
+   7. Similarly, you can embed github and git object links in any
+      files with a simple syntax and Hyperbole will display the
+      associated objects with an Action Key press.  See "DEMO#Github
+      (Remote) References" and "DEMO#Git (Local) References".
 
-   4. Full-text search for any contact-related information across
+   8. Full-text search for any contact-related information across
       thousands of contacts in under a second.  The fastest contact
       manager you have ever used, with hierarchical entries so you can
       easily find everyone on a particular team or within an
       organization.  Then collapse all matches to a single line each
       while still seeing name, phone number and email information.
-      Edit entries with a single key press.
+      Edit entries with a single key press.  See "DEMO#HyRolo".
 
-   5. Hyperbole has some radically cool ways to select regions of
-      structured text or source code and to copy or move them between
-      buffers with a single mouse drag or two key presses.  These
-      selectable things include: delimited pairs of (), @address@hidden, <>, []
-      and quote marks, source code functions, source code comments and
-      matching tag pairs in HTML and SGML modes.
+   9. Select regions of structured text or source code and to copy or
+      move them between buffers with a single mouse drag or two key
+      presses.  These selectable things include: delimited pairs of
+      (), @address@hidden, <>, [] and quote marks, source code functions, 
source
+      code comments and matching tag pairs in HTML and SGML modes.
+      See "DEMO#Thing Selection".     
 
-   6. Use the fantastic, auto-numbered Koutliner with per-item links
-      and rapidly changeable views.
+  10. Use the fantastic, auto-numbered Koutliner with per-item links
+      and rapidly changeable views.  See "DEMO#Koutliner".
 
-   7. Rapid control over what is displayed where in multiple windows
+  11. Rapid control over what is displayed where in multiple windows
       and frames with mouse drags and the Hyperbole HyControl system.
+      See "DEMO#HyControl".
 
-     7a. Drag Buffer Menu or Dired items to other windows to display
+    11a. Drag Buffer Menu or Dired items to other windows to display
          them wherever you want.  Drag-and-drop text regions across
-         Emacs frames.
+         Emacs frames.  See "DEMO#Displaying File and Buffer Items".
 
-     7b. Swap buffers in windows across frames with a mouse drag.
+    11b. Swap buffers in windows across frames with a mouse drag.
+         See "DEMO#Swapping Buffers".
 
-     7c. With one command, rapidly create a grid of tiled windows
+    11c. With one command, rapidly create a grid of tiled windows
          displaying either selected buffers, buffers with a specific
          major mode or the most recently used buffer list, e.g.
          {63 C-c @} creates 6 rows, each with 3 columns of windows (18
          total) and displays the first 18 buffers in them when in a
          HyControl mode.  You can mark buffers, files and directories
          in the Buffer menu, iBuffer and Dired modes and then use the
-         same above command to display them in a grid of windows.
-         
-     7c. Use a quick mouse key press to scroll any window line to the
+         same above command to display them in a grid of windows.  See
+         "DEMO#Windows Grid".
+
+    11d. Use a quick mouse key press to scroll any window line to the
          top or bottom of a window, to see exactly what you want on
-         screen.
+         screen.  See "DEMO#Smart Scrolling".
 
-     7d. Clone or tear off a window into its own frame with a quick
-         mouse drag.
+    11e. Clone or tear off a window into its own frame with a quick
+         mouse drag.  See "DEMO#Cloning Windows".
 
-     7e. Each frame can store a series of window configurations
+    11f. Each frame can store a series of window configurations
          (layouts) which support working with sets of buffers and
-         rapidly moving among them.
-         
-     7f. Easily adjust the height and width of windows as needed.
+         rapidly moving among them.  See "DEMO#Window Configuration
+         Drags".
+
+    11g. Easily adjust the height and width of windows and frames as
+         needed.  See "DEMO#Frame Commands".
 
-     7f. Quick clicks on different areas of a buffer's modeline will
+    11h. Quick clicks on different areas of a buffer's modeline will
          rotate through your working list of buffers, changing what
          each window displays.  A popup menu gives you quick access to
          Hyperbole commands plus frame, window and buffer selection
          and management commands.  GNU documentation manuals may be
-         shown and navigated with a single mouse key.
-
-     7g. A single mouse drag swaps what is displayed in each of two
-         windows, even across frames.
+         shown and navigated with a single mouse key.  See
+         "DEMO#Buffer Menu and Screen Control".
 
 
 "ben" ;; kvspec:current
-23 ;; id-counter
+36 ;; id-counter
 alpha ;; label-type
 4 ;; label-min-width
 ". " ;; label-separator
@@ -83,13 +110,21 @@ alpha ;; label-type
 
 ;; depth-first kcell attributes
 [[0
-  (creator "address@hidden" create-time "20171108:01:14:52" id-counter 23 file 
"/Users/bk/Dropbox/emacs/hyperbole/HY-WHY.kotl")]
+  (creator "address@hidden" create-time "20171114:17:51:59" id-counter 36 file 
"/Users/bk/sw-dev/emacs/hyperbole/HY-WHY.kotl")]
  [1
   (creator "address@hidden" create-time "20160524:15:04:17" no-fill t)]
  [17
   (creator "address@hidden" create-time "20160809:03:31:21" no-fill t)]
+ [36
+  (creator "address@hidden" create-time "20171114:23:37:20" no-fill t)]
  [2
   (creator "address@hidden" create-time "20160524:15:04:24" no-fill t)]
+ [31
+  (creator "address@hidden" create-time "20171114:23:18:01" no-fill t)]
+ [33
+  (creator "address@hidden" create-time "20171114:23:24:51" no-fill t)]
+ [34
+  (creator "address@hidden" create-time "20171114:23:24:57" no-fill t)]
  [9
   (creator "address@hidden" create-time "20160530:15:05:18" no-fill t)]
  [16
@@ -104,12 +139,14 @@ alpha ;; label-type
   (creator "address@hidden" create-time "20171108:01:15:39" no-fill t)]
  [22
   (creator "address@hidden" create-time "20171024:13:41:50" no-fill t)]
+ [32
+  (idstamp 22 creator "address@hidden" create-time "20171024:13:41:50" no-fill 
t)]
  [15
   (creator "address@hidden" create-time "20160613:15:05:40" no-fill t)]
  [21
   (creator "address@hidden" create-time "20171019:22:09:06" no-fill t)]
+ [30
+  (creator "address@hidden" create-time "20171114:21:36:09" no-fill t)]
  [8
   (creator "address@hidden" create-time "20160526:02:56:59" no-fill t)]
- [10
-  (creator "address@hidden" create-time "20160530:15:10:18" no-fill t)]
- nil nil nil nil nil nil nil nil nil]
+ nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]
diff --git a/MANIFEST b/MANIFEST
index 438bca8..aed31f7 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -29,7 +29,7 @@ man/hkey-help.txt   - Summarizes Smart Key behaviors in 
different contexts
 hmouse-info.el      - Walks through Info networks using one key
 hmouse-drv.el       - Smart Key/Mouse driver functions
 hmouse-key.el       - Setup Smart Key mouse bindings
-hmouse-mod.el       - Action Key acts as CONTROL modifier and Assist Key as 
META modifier (Optional)
+hmouse-mod.el       - Action Key acts as CONTROL modifier and Assist Key as 
META modifier (Unused)
 hmouse-sh.el        - System-dependent Smart Mouse Key bindings
 hmouse-tag.el       - Smart Key support of programming language tags location
 hycontrol.el        - Interactive sizing, moving, replicating and deleting of 
windows and frames
diff --git a/Makefile b/Makefile
index 8324b99..7a95c1a 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@
 #   USAGE:     For those installing GNU Hyperbole, use:
 #                   make help
 #
-#               To build only the output formats of the Hyperbole manual:
+#               To build only the output formats of the Hyperbole MANUAL:
 #                   make doc
 #
 #               To assemble a Hyperbole Emacs package for testing:
@@ -54,7 +54,7 @@
 
 # This ver setup won't work under any make except GNU make, so set it manually.
 #HYPB_VERSION = "`head -3 hversion.el | tail -1 | sed -e 's/.*|\(.*\)|.*/\1/'`"
-HYPB_VERSION = 6.0.2g
+HYPB_VERSION = 7.0.0
 
 # Emacs executable used to byte-compile .el files into .elc's.
 # Possibilities include: emacs, infodock, xemacs, etc.
@@ -250,7 +250,7 @@ TAGS: $(EL_TAGS)
 version: doc
        @ echo ""
        @ echo "Any fgrep output means the version number has not been updated 
in that file."
-       fgrep -L $(HYPB_VERSION) Makefile HY-ABOUT HY-ANNOUNCE 
HY-ANNOUNCE-SHORT HY-NEWS README.md hversion.el hyperbole.el hyperbole-pkg.el 
man/hyperbole.texi man/version.texi
+       fgrep -L $(HYPB_VERSION) Makefile HY-ABOUT HY-NEWS README.md 
hversion.el hyperbole.el hyperbole-pkg.el man/hyperbole.texi man/version.texi
        @ echo ""
 
 # Build the Info, HTML and Postscript versions of the user manual and 
README.md.html.
@@ -318,19 +318,21 @@ $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.sig: 
$(pkg_dir)/hyperbole-$(HYPB_VERSIO
 
 $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar: $(HYPERBOLE_FILES)
        make version
-       $(RM) -r $(pkg_hyperbole)
+       cd $(pkg_dir) && $(RM) -fr $(pkg_hyperbole) 
$(pkg_hyperbole)-$(HYPB_VERSION)
        cd .. && COPYFILE_DISABLE=1 $(TAR) -clf $(pkg_dir)/h.tar hyperbole
        cd $(pkg_dir) && COPYFILE_DISABLE=1 $(TAR) xf h.tar && cd 
$(pkg_hyperbole) && $(MAKE) packageclean
        cd $(pkg_hyperbole) && make kotl/kotl-autoloads.el && chmod 755 
topwin.py && \
        cd $(pkg_dir) && $(RM) h.tar; \
-         COPYFILE_DISABLE=1 $(TAR) -clf 
$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar hyperbole
+         mv $(pkg_hyperbole) $(pkg_hyperbole)-$(HYPB_VERSION) && \
+         COPYFILE_DISABLE=1 $(TAR) -clf 
$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar hyperbole-$(HYPB_VERSION)
        $(INSTALL) HY-ABOUT HY-ANNOUNCE HY-NEWS HY-WHY.kotl INSTALL README 
$(pkg_dir)/; chmod 644 $(pkg_dir)/*.tar
 
 pkgclean: packageclean
 packageclean:
        if [ -d $(pkg_hyperbole) ]; then \
-         cd $(pkg_hyperbole) && $(RM) -r .git* videos ChangeLog.* *autoloads.* 
*.elc TAGS TODO* .DS_Store \
-           core .place* ._* .*~ *~ *\# *- *.orig *.rej .nfs* CVS .cvsignore 
GNUmakefile.id; fi
+         cd $(pkg_hyperbole) && $(RM) -r .git* videos ChangeLog.* *autoloads.* 
*.elc TAGS TODO* HY-ANNOUNCE-* .DS_Store \
+           core .place* ._* .*~ *~ *\# *- *.orig *.rej .nfs* CVS .cvsignore 
GNUmakefile.id \
+           && gsed '/\f/,/\f/{/\f/!d}' .hypb | tail +2 > .hypb2 && rm -f .hypb 
&& mv .hypb2 .hypb; fi # Filter out unneeded TODO file hbut data from .hypb
        if [ -d $(pkg_hyperbole)/kotl ]; then \
          cd $(pkg_hyperbole)/kotl && $(RM) -r *autoloads.* *.elc TAGS TODO* 
.DS_Store \
            core .place* ._* .*~ *~ *\# *- *.orig *.rej .nfs* CVS .cvsignore; fi
diff --git a/README.md b/README.md
index 7cd42b1..b424475 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# GNU Hyperbole 6.0.2g - The Everyday Hypertextual Information Manager
+# GNU Hyperbole 7.0.0 - The Everyday Hypertextual Information Manager
 
 <!-- START doctoc generated TOC -->
 **Table of Contents**
diff --git a/README.md.html b/README.md.html
index e1cfbbf..edec72a 100644
--- a/README.md.html
+++ b/README.md.html
@@ -1,5 +1,5 @@
 <h1>
-<a 
id="user-content-gnu-hyperbole-602g---the-everyday-hypertextual-information-manager"
 class="anchor" 
href="#gnu-hyperbole-602g---the-everyday-hypertextual-information-manager" 
aria-hidden="true"><span aria-hidden="true" class="octicon 
octicon-link"></span></a>GNU Hyperbole 6.0.2g - The Everyday Hypertextual 
Information Manager</h1>
+<a 
id="user-content-gnu-hyperbole-700---the-everyday-hypertextual-information-manager"
 class="anchor" 
href="#gnu-hyperbole-700---the-everyday-hypertextual-information-manager" 
aria-hidden="true"><span aria-hidden="true" class="octicon 
octicon-link"></span></a>GNU Hyperbole 7.0.0 - The Everyday Hypertextual 
Information Manager</h1>
 
 <p><strong>Table of Contents</strong></p>
 <ul>
diff --git a/_hypb b/_hypb
index 58ad652..a3c7217 100644
Binary files a/_hypb and b/_hypb differ
diff --git a/hact.el b/hact.el
index 93b82a6..67e79da 100644
--- a/hact.el
+++ b/hact.el
@@ -212,8 +212,8 @@ When optional SYM is given, returns the name for that 
symbol only, if any."
    ((and (autoloadp def) (not (eq (nth 4 def) 'keymap)))
     ;; Force autoload to get function signature.
     (setq def (autoload-do-load def))
-    (if (not autoloadp def)
-       (action:params-emacs def)))))
+    (unless (autoloadp def)
+      (action:params-emacs def)))))
 
 (defun action:params (action)
   "Returns unmodified ACTION parameter list.
diff --git a/hactypes.el b/hactypes.el
index fc007b8..7145949 100644
--- a/hactypes.el
+++ b/hactypes.el
@@ -498,10 +498,11 @@ Optional OPOINT is point to return to in BUF-NAME after 
displaying summary."
            (t (if opoint (goto-char opoint))
               (hypb:error "(rfc-toc): Invalid buffer name: %s" buf-name))))
   (let ((sect-regexp "^[ \t]*[1-9][0-9]*\\.[0-9.]*[ \t]+[^ \t\n\r]")
-       (temp-buffer-show-function 'switch-to-buffer))
+       (temp-buffer-show-function 'switch-to-buffer)
+       occur-buffer)
     (hpath:display-buffer (current-buffer))
     (occur sect-regexp)
-    (set-buffer "*Occur*")
+    (setq occur-buffer (set-buffer "*Occur*"))
     (rename-buffer (format "*%s toc*" buf-name))
     (re-search-forward "^[ ]*[0-9]+:" nil t)
     (beginning-of-line)
diff --git a/hbut.el b/hbut.el
index bc07b95..8198af7 100644
--- a/hbut.el
+++ b/hbut.el
@@ -255,7 +255,7 @@ represent the output of particular document formatters."
                pos (1+ pos)))
        lbl)))
 
-(defun    ebut:label-p (&optional as-label start-delim end-delim pos-flag 
one-line-flag)
+(defun    ebut:label-p (&optional as-label start-delim end-delim pos-flag 
two-lines-flag)
   "Returns key for Hyperbole button label that point is within.
 Returns nil if not within a label.  Assumes point is within first line
   of button label, if at all.
@@ -264,7 +264,7 @@ is returned rather than the key derived from the label.  
START-DELIM
 and END-DELIM are strings that override default button delimiters.
 With POS-FLAG non-nil, returns list of label-or-key,
 but-start-position, but-end-position.  Positions include delimiters.
-With ONE-LINE-FLAG non-nil, constrains label search to a single line."
+With TWO-LINES-FLAG non-nil, constrains label search to two lines."
   (let ((opoint (point))
        (npoint)
        (quoted "\\(^\\|[^\\{]\\)")
@@ -297,10 +297,10 @@ With ONE-LINE-FLAG non-nil, constrains label search to a 
single line."
                  (forward-char -2))
              (error (goto-char (1- opoint))))
          (goto-char (1- opoint)))
-       (if one-line-flag
-           (save-excursion
-             (end-of-line)
-             (setq ebut:max-len (- (point) start))))
+       (when two-lines-flag
+         (save-excursion
+           (forward-line 2)
+           (setq ebut:max-len (- (point) start))))
        (and (< (point) (+ start ebut:max-len))
             (re-search-forward (concat quoted (regexp-quote end-delim))
                                (+ start ebut:max-len) t)
diff --git a/hib-kbd.el b/hib-kbd.el
index 2b19913..339930a 100644
--- a/hib-kbd.el
+++ b/hib-kbd.el
@@ -239,7 +239,8 @@ Allows for multiple key sequences strung together."
   (let ((regexp (format "\\(%s\\S-*\\)\\s-\\(.*%s\\)"
                        start-delim end-delim))
        (start 0)
-       (end))
+       (end)
+       (substring))
     (while (string-match regexp string start)
       (setq start (match-beginning 0)
            end (match-end 0)
diff --git a/hibtypes.el b/hibtypes.el
index f5e0974..c908cc5 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -311,7 +311,7 @@ must have an attached file."
       (cond ((markdown-link-p) 
             (condition-case ()
                 ;; Follows a reference link to its referent.
-                (progn (markdown-jump)
+                (progn (markdown-do)
                        (when (/= opoint (point))
                          (setq npoint (point))
                          (goto-char opoint)
@@ -498,14 +498,14 @@ http://cscope.sf.net.  Otherwise, does nothing."
 
 (defib text-toc ()
   "Jumps to the text file section referenced by a table of contents entry at 
point.
-File name must contain README and there must be a `Table of Contents' or
-`Contents' label on a line by itself (it may begin with an asterisk),
-preceding the table of contents.  Each toc entry must begin with some
-whitespace followed by one or more asterisk characters.  Each file section
-name line must start with one or more asterisk characters at the very
-beginning of the line."
+File name must contain DEMO, README or TUTORIAL and there must be a `Table
+of Contents' or `Contents' label on a line by itself (it may begin with
+an asterisk), preceding the table of contents.  Each toc entry must begin
+with some whitespace followed by one or more asterisk characters.  Each
+file section name line must start with one or more asterisk characters at
+the very beginning of the line."
   (let (section)
-    (if (and (string-match "README" (buffer-name))
+    (if (and (string-match "DEMO\\|README\\|TUTORIAL" (buffer-name))
             (save-excursion
               (beginning-of-line)
               ;; Entry line within a TOC
@@ -932,7 +932,9 @@ GNUS is a news and mail reader."
 (defib Info-node ()
   "Makes a \"(filename)nodename\" button display the associated Info node.
 Also makes a \"(filename)itemname\" button display the associated Info index 
item.
-Examples are \"(hyperbole)Implicit Buttons\" and ``(hyperbole)C-c /''."
+Examples are \"(hyperbole)Implicit Buttons\" and ``(hyperbole)C-c /''.
+
+Activates only if point is within the first line of the Info-node name."
   (let* ((node-ref-and-pos (or (hbut:label-p t "\"" "\"" t t)
                               ;; Typical GNU Info references; note
                               ;; these are special quote marks, not the
diff --git a/hlvar.el b/hlvar.el
index 7d07754..a6d2eed 100644
--- a/hlvar.el
+++ b/hlvar.el
@@ -44,7 +44,7 @@ for current buffer."
            (and (search-forward "Local Variables:" nil t)
                 (setq local-start (match-beginning 0))
                 (or (and (not (string-match "^19\\." emacs-version))
-                         (not inhibit-local-variables))
+                         (not (inhibit-local-variables-p)))
                     force
                     (if (string-match "^19\\." emacs-version)
                         (cond ((eq enable-local-variables t) t)
diff --git a/hmouse-drv.el b/hmouse-drv.el
index 902d4fe..cccc888 100644
--- a/hmouse-drv.el
+++ b/hmouse-drv.el
@@ -398,20 +398,20 @@ Return non-nil iff associated help documentation is 
found."
                          "there is no matching context"))
                    (terpri)
 
-                   (mapcar (lambda (c)
-                             (if (> (length calls) 1)
-                                 ;; Is an 'or' set of calls
-                                 (princ "'OR' "))
-                             (princ "CALLS ") (princ (if (consp c) c (list c)))
-                             (when (and (fboundp (setq call (if (consp c) (car 
c) c)))
-                                        (setq doc (documentation call)))
-                               (princ " WHICH")
-                               (princ (if (string-match 
"\\`[a-zA-Z]*[a-rt-zA-RT-Z]+s[ [:punct:]]" doc)
-                                          ":" " WILL:"))
-                               (terpri) (terpri)
-                               (princ (replace-regexp-in-string "^" "  " doc 
nil t))
-                               (terpri) (terpri)))
-                           calls)
+                   (mapc (lambda (c)
+                           (if (> (length calls) 1)
+                               ;; Is an 'or' set of calls
+                               (princ "'OR' "))
+                           (princ "CALLS ") (princ (if (consp c) c (list c)))
+                           (when (and (fboundp (setq call (if (consp c) (car 
c) c)))
+                                      (setq doc (documentation call)))
+                             (princ " WHICH")
+                             (princ (if (string-match 
"\\`[a-zA-Z]*[a-rt-zA-RT-Z]+s[ [:punct:]]" doc)
+                                        ":" " WILL:"))
+                             (terpri) (terpri)
+                             (princ (replace-regexp-in-string "^" "  " doc nil 
t))
+                             (terpri) (terpri)))
+                         calls)
 
                    (when (memq cmd-sym '(hui:hbut-act hui:hbut-help))
                      (princ (format "BUTTON SPECIFICS:\n\n%s\n"
@@ -776,7 +776,7 @@ compute the actual release location and include that."
              (not (= (length event) 3)))
          event
        (let ((pos (event-end event))
-             coords window-and-char-coords)
+             coords window window-and-char-coords)
          (when (and ev-type-str (string-match "drag-mouse" ev-type-str)
                     ;; end of drag event; If drag crossed frames, the location
                     ;; will contain the frame of the depress point and
diff --git a/hpath.el b/hpath.el
index a67413e..d26678d 100644
--- a/hpath.el
+++ b/hpath.el
@@ -945,6 +945,7 @@ See the documentation of the `hpath:rfc' variable."
 
 (defun hpath:substitute-value (path)
   "Substitutes matching value for Emacs Lisp variables and environment 
variables in PATH and returns PATH."
+  ;; Uses free variables `match' and `start' from `hypb:replace-match-string'.
   (substitute-in-file-name
     (hypb:replace-match-string
       "\\$\{[^\}]+}"
@@ -1072,21 +1073,20 @@ to it."
 ;; available.
 (defun hpath:handle-urls ()
   (let ((remote-fs-package (hpath:remote-available-p)))
-      (progn
-       ;; www-url functions are defined in "hsys-www.el".
-       (put 'expand-file-name   remote-fs-package   'www-url-expand-file-name)
-       (put 'find-file-noselect remote-fs-package   
'www-url-find-file-noselect)
-       ;; Necessary since Dired overrides other file-name-handler-alist
-       ;; settings.
-       (put 'expand-file-name   'dired 'www-url-expand-file-name)
-       (put 'find-file-noselect 'dired 'www-url-find-file-noselect)
+    ;; www-url functions are defined in "hsys-www.el".
+    (put 'expand-file-name   remote-fs-package   'www-url-expand-file-name)
+    (put 'find-file-noselect remote-fs-package   'www-url-find-file-noselect)
+    ;; Necessary since Dired overrides other file-name-handler-alist
+    ;; settings.
+    (put 'expand-file-name   'dired 'www-url-expand-file-name)
+    (put 'find-file-noselect 'dired 'www-url-find-file-noselect)
 
-       (if (not (fboundp 'hyperb:substitute-in-file-name))
-           (progn
+    (unless (fboundp 'hyperb:substitute-in-file-name)
+      (progn
 
 ;; Overload `substitute-in-file-name' to eliminate truncation of URL prefixes 
 ;; such as http://.
-(or (fboundp 'hyperb:substitute-in-file-name)
+(unless (fboundp 'hyperb:substitute-in-file-name)
 (defalias 'hyperb:substitute-in-file-name
   (symbol-function 'substitute-in-file-name)))
 
@@ -1102,7 +1102,7 @@ If `/~' appears, all of FILENAME through that `/' is 
discarded."
        filename)
       (substring filename (match-beginning 2))
     (hyperb:substitute-in-file-name filename)))
-)))))
+))))
 
 (defun hpath:enable-find-file-urls ()
   "Enable the use of ftp and www Urls as arguments to `find-file' commands."
diff --git a/hui-menu.el b/hui-menu.el
index 4948c24..bf179b4 100644
--- a/hui-menu.el
+++ b/hui-menu.el
@@ -166,11 +166,6 @@ Return t if cutoff, else nil."
 ;;; Public variables
 ;;; ************************************************************************
 
-;; Ensure that this variable is defined to avert any error within
-;; the Customize menu.
-;; (defvar highlight-headers-follow-url-netscape-new-window nil
-;;   "*Whether to make Netscape create a new window when a URL is sent to it.")
-
 (defconst hui-menu-about
   (vector (concat "About-Hyperbole-"
                  (if (= (aref hyperb:version 0) ?0)
@@ -317,9 +312,11 @@ REBUILD-FLAG is non-nil, in which case the menu is 
rebuilt."
                 ;; (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]
+                ["Manual"         (id-info "(hyperbole)Top") t]
+                ["What-is-New?"   (hypb:display-file-with-logo
+                                   (expand-file-name "HY-NEWS" hyperb:dir)) t]
+                ["Why-Use?"       (find-file
+                                   (expand-file-name "HY-WHY.kotl" 
hyperb:dir)) t]
                 "----"
                 ["Remove-This-Menu"
                  (progn
diff --git a/hui-mini.el b/hui-mini.el
index fb93b05..fb6734e 100644
--- a/hui-mini.el
+++ b/hui-mini.el
@@ -548,6 +548,8 @@ constructs.  If not given, the top-level Hyperbole menu is 
used."
           "Summarizes Smart Key mouse or keyboard handling.")
          ("Types/"       (menu . types)
           "Provides documentation on Hyperbole types.")
+         ("WhyUse"       (find-file (expand-file-name "HY-WHY.kotl" 
hyperb:dir))
+          "Lists use cases for Hyperbole Hyperbole.")
         ))
        '(ebut .
         (("EButton>")
diff --git a/hui-mouse.el b/hui-mouse.el
index 0a22855..123ca16 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -1012,7 +1012,8 @@ Assumes Hyperbole has already checked that helm is 
active."
                               nil)))))
             (if hkey-debug
                 (message "(HyDebug): In smart-helm-assist, key to execute is: 
{%s}; binding is: %s"
-                         (if key (key-description key) "Help" (if key binding 
"None"))))))
+                         (if key (key-description key) "Help")
+                         (if key (key-binding key) "None")))))
       (smart-helm-to-minibuffer))
     (if key (call-interactively (key-binding (kbd key))))))
 
diff --git a/hui-window.el b/hui-window.el
index 627e13c..d8dd4ad 100644
--- a/hui-window.el
+++ b/hui-window.el
@@ -607,7 +607,7 @@ Value returned is nil if not a vertical line drag, 'up if 
drag moved up or
     (hmouse-drag-vertically-within-emacs)))
 
 (defun hmouse-drag-window-side ()
-  "Returns non-nil if Action Key was dragged from a window side divider.
+  "Returns non-nil if Action Key was dragged from a window side divider and 
released in the same window.
 If free variable `assist-flag' is non-nil, uses Assist Key."
   (cond ((featurep 'xemacs)
         ;; Depress events in scrollbars or in non-text area of buffer are
@@ -619,10 +619,11 @@ If free variable `assist-flag' is non-nil, uses Assist 
Key."
                                action-key-depress-args))
                (release-args (if assist-flag assist-key-release-args
                                action-key-release-args))
-               (w (smart-window-of-coords depress-args))
-               (right-side-ln (and w (1- (nth 2 (window-edges w)))))
-               (last-press-x   (and depress-args (hmouse-x-coord 
depress-args)))
-               (last-release-x (and release-args (hmouse-x-coord 
release-args))))
+               (wd (smart-window-of-coords depress-args))
+               (wr (smart-window-of-coords release-args))
+               (right-side-ln (and wd (1- (nth 2 (window-edges wd)))))
+               (last-press-x   (and wd depress-args (hmouse-x-coord 
depress-args)))
+               (last-release-x (and wr release-args (hmouse-x-coord 
release-args))))
           (and last-press-x last-release-x right-side-ln
                (/= last-press-x last-release-x)
                (not (<= (abs (- right-side-ln (frame-width))) 5))
diff --git a/hui.el b/hui.el
index fe33f5d..d1e9368 100644
--- a/hui.el
+++ b/hui.el
@@ -91,7 +91,7 @@ label."
       (hattr:set 'hbut:current 'action
                 (and hui:ebut-prompt-for-action (hui:action actype))))
     (ebut:operate lbl nil)
-    (when (called-interactively-p)
+    (when (called-interactively-p 'interactive)
       (hui:ebut-message nil))))
 
 (defun hui:ebut-delete (but-key &optional key-src)
@@ -178,7 +178,7 @@ Signals an error when no such button is found in the 
current buffer."
       (hattr:set 'hbut:current 'action
                 (and hui:ebut-prompt-for-action (hui:action actype))))
     (ebut:operate lbl new-lbl)
-    (if (called-interactively-p)
+    (when (called-interactively-p 'interactive)
        (hui:ebut-message t))))
 
 (defun hui:ebut-rename (curr-label new-label)
diff --git a/hversion.el b/hversion.el
index b933e1a..2e0b217 100644
--- a/hversion.el
+++ b/hversion.el
@@ -23,7 +23,7 @@
 ;;; Public variables
 ;;; ************************************************************************
 
-(defconst hyperb:version "6.0.2g" "GNU Hyperbole revision number.")
+(defconst hyperb:version "7.0.0" "GNU Hyperbole revision number.")
 
 ;;;###autoload
 (defvar hyperb:microcruft-os-p
diff --git a/hycontrol.el b/hycontrol.el
index 0af4097..f4e72dd 100644
--- a/hycontrol.el
+++ b/hycontrol.el
@@ -475,6 +475,8 @@ associated key: quit {q}, abort {C-g}, or toggle {t}.")
 
 (defvar hycontrol--frame-widths-pointer nil)
 (defvar hycontrol--frame-heights-pointer nil)
+(defvar hycontrol--buffer-list-pointer nil)
+
 (defvar hycontrol--initial-which-key-inhibit nil
   "Stores value of `which-key-inhibit' flag from \"which-key\" package upon 
entry to HyControl, if any.")
 
@@ -948,11 +950,12 @@ nothing and return nil."
 
 (defun hycontrol-virtual-numeric-keypad (arg)
   (catch 'quit
-    (while (and (setq e (read-char hycontrol--vnk-string))
-               (not (when (memq e '(?q ?\C-g)) (throw 'quit nil)))
-               (or (not (numberp e)) (< e ?0) (> e ?9)))
-      (beep))
-    (hycontrol-numeric-keypad (- e ?0) arg)))
+    (let (e)
+      (while (and (setq e (read-char hycontrol--vnk-string))
+                 (not (when (memq e '(?q ?\C-g)) (throw 'quit nil)))
+                 (or (not (numberp e)) (< e ?0) (> e ?9)))
+       (beep))
+      (hycontrol-numeric-keypad (- e ?0) arg))))
 
 (defun hycontrol-frame-to-screen-edges (&optional arg)
   "Cycle the selected frame's position clockwise through the middle of edges 
and corners of the screen; once per call.
@@ -1002,12 +1005,12 @@ Accepts optional arguments FRAME, X-ORIGIN, and 
Y-ORIGIN (in pixels) to use when
     (when (> (hycontrol-frame-width frame) max-width)
       ;; Adjust frame size to fit within screen
       (set-frame-width frame (min (hycontrol-frame-width frame) max-width) nil 
t)
-      (if hycontrol-debug (hycontrol-message hycontrol-debug "(HyDebug): 
"Screen (X,Y): %d, %d; Frame Edges (L,T,R,B): %s"
+      (if hycontrol-debug (hycontrol-message hycontrol-debug "(HyDebug): 
Screen (X,Y): %d, %d; Frame Edges (L,T,R,B): %s"
                                              (display-pixel-width) 
(display-pixel-height) (hycontrol-frame-edges frame))))
     (when (> (hycontrol-frame-height frame) max-height)
       ;; Adjust frame size to fit within screen
       (set-frame-height frame (min (hycontrol-frame-height frame) max-height) 
nil t)
-      (if hycontrol-debug (hycontrol-message hycontrol-debug "(HyDebug): 
"Screen (X,Y): %d, %d; Frame Edges (L,T,R,B): %s"
+      (if hycontrol-debug (hycontrol-message hycontrol-debug "(HyDebug): 
Screen (X,Y): %d, %d; Frame Edges (L,T,R,B): %s"
                                   (display-pixel-width) (display-pixel-height) 
(hycontrol-frame-edges frame))))
     ;; Ensure entire frame is positioned onscreen, keeping the
     ;; original frame origin coordinates if possible.
@@ -1016,7 +1019,7 @@ Accepts optional arguments FRAME, X-ORIGIN, and Y-ORIGIN 
(in pixels) to use when
                             (- (display-pixel-width) (hycontrol-frame-width 
frame) hycontrol-screen-right-offset))
                        (min (max 0 y-origin)
                             (- (display-pixel-height) (hycontrol-frame-height 
frame) hycontrol-screen-bottom-offset)))
-    (if hycontrol-debug (hycontrol-message hycontrol-debug "(HyDebug): "Screen 
(X,Y): %d, %d; Frame Edges (L,T,R,B): %s"
+    (if hycontrol-debug (hycontrol-message hycontrol-debug "(HyDebug): Screen 
(X,Y): %d, %d; Frame Edges (L,T,R,B): %s"
                                            (display-pixel-width) 
(display-pixel-height) (hycontrol-frame-edges frame)))))
 
 
@@ -1369,7 +1372,7 @@ Heights are given in screen percentages by the list
           (fg (face-foreground 'mode-line)))
       (set-face-foreground 'mode-line bg)
       (set-face-background 'mode-line fg))
-    (redraw-modeline t)))
+    (force-mode-line-update t)))
 
 (defun hycontrol-windows-grid-buffer-list ()
   "Return the existing frame's buffer list with any marked items prepended.
@@ -1700,7 +1703,7 @@ See its documentation for more information."
   "Toggle whether HyControl displays key binding help in the minibuffer."
   (interactive)
   (setq hycontrol-help-flag (not hycontrol-help-flag))
-  (unless (and hycontrol-help-flag (called-interactively-p))
+  (unless (and hycontrol-help-flag (called-interactively-p 'interactive))
     (message "(HyControl): Minibuffer help is off; use {%s} to turn it on"
             (hycontrol-help-key-description))))
 
diff --git a/hypb.el b/hypb.el
index 16739f7..673bed9 100644
--- a/hypb.el
+++ b/hypb.el
@@ -229,7 +229,7 @@ Global keymap is used unless optional KEYMAP is given."
 FILE is temporarily read into a buffer to determine the major mode if 
necessary."
   (let ((existing-flag (get-file-buffer file))
        (buf (find-file-noselect file)))
-    (prog1 (if buf (save-excursion (set-buffer buf) major-mode))
+    (prog1 (when buf (save-excursion (set-buffer buf) major-mode))
       (unless (or existing-flag (null buf))
        (kill-buffer buf)))))
 
@@ -518,10 +518,9 @@ Otherwise treat \\ in NEWTEXT string as special:
   \\\\ means insert one \\.
 NEWTEXT may instead be a function of one argument (the string to replace in)
 that returns a replacement string."
-  (if (not (stringp str))
-      (error "(hypb:replace-match-string): 2nd arg must be a string: %s" str))
-  (if (or (stringp newtext) (hypb:functionp newtext))
-      nil
+  (unless (stringp str)
+    (error "(hypb:replace-match-string): 2nd arg must be a string: %s" str))
+  (unless (or (stringp newtext) (hypb:functionp newtext))
     (error "(hypb:replace-match-string): 3rd arg must be a string or function: 
%s"
           newtext))
   (let ((rtn-str "")
diff --git a/hyperbole-pkg.el b/hyperbole-pkg.el
index 77b1daa..8aa4b58 100644
--- a/hyperbole-pkg.el
+++ b/hyperbole-pkg.el
@@ -1,8 +1,8 @@
 ;; -*- no-byte-compile: t -*-
-(define-package "hyperbole" "6.0.2g" "GNU Hyperbole: The Everyday Hypertextual 
Information Manager"
+(define-package "hyperbole" "7.0.0" "GNU Hyperbole: The Everyday Hypertextual 
Information Manager"
   '((emacs "24.4"))
   :url "http://www.gnu.org/software/hyperbole";
   :keywords '("comm" "convenience" "files" "frames" "hypermedia" "languages"
              "mail" "matching" "mouse" "multimedia" "outlines" "tools" "wp"))
 
-(setq byte-compile-warnings '(not interactive-p find-tag))
+(setq byte-compile-warnings '(not interactive-only find-tag free-vars 
unresolved))
diff --git a/hyperbole.el b/hyperbole.el
index 29cb67d..1a617e2 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -6,7 +6,7 @@
 ;; Maintainer:       Bob Weiner <address@hidden> and Mats Lidell 
<address@hidden>
 ;; Created:          06-Oct-92 at 11:52:51
 ;; Released:         24-Oct-17
-;; Version:          6.0.2g
+;; Version:          7.0.0
 ;; Keywords:         comm, convenience, files, frames, hypermedia, languages, 
mail, matching, mouse, multimedia, outlines, tools, wp
 ;; Package:          hyperbole
 ;; Package-Requires: ((emacs "24.4"))
diff --git a/hyrolo-demo.el b/hyrolo-demo.el
index 2b218cd..626f372 100644
--- a/hyrolo-demo.el
+++ b/hyrolo-demo.el
@@ -18,6 +18,12 @@
 (require 'hyrolo-logic)
 
 ;;; ************************************************************************
+;;; Public variables
+;;; ************************************************************************
+
+(defvar hyrolo-demo-save-key nil)
+
+;;; ************************************************************************
 ;;; Public functions
 ;;; ************************************************************************
 
@@ -75,8 +81,8 @@ single argument."
 ;;; Key Bindings
 ;;; ************************************************************************
 
-(defconst hyrolo-demo-save-key (unless (eq (key-binding "\C-x4r") 
#'hyrolo-demo-fgrep)
-                                (key-binding "\C-x4r")))
+(unless (eq (key-binding "\C-x4r") #'hyrolo-demo-fgrep)
+  (setq hyrolo-demo-save-key (key-binding "\C-x4r")))
 
 (global-set-key "\C-x4r" 'hyrolo-demo-fgrep)
 
diff --git a/hyrolo.el b/hyrolo.el
index 6116271..f8b6fc3 100644
--- a/hyrolo.el
+++ b/hyrolo.el
@@ -876,7 +876,7 @@ Output looks like so:
        (hyrolo-kill-buffers-after-use (not (get-buffer 
google-contacts-buffer-name))))
     (call-interactively (if arg 'hyrolo-fgrep 'hyrolo-grep))
     (read-only-mode 0)
-    (re-search-forward rolo-entry-regexp nil t)
+    (re-search-forward hyrolo-entry-regexp nil t)
     (beginning-of-line)
     (set-buffer-modified-p nil)
     (read-only-mode 1)))
diff --git a/hywconfig.el b/hywconfig.el
index b05f710..271ed4b 100644
--- a/hywconfig.el
+++ b/hywconfig.el
@@ -82,13 +82,13 @@ NAME, confirms whether or not to replace it."
       (error "(hywconfig-add-by-name): `name' argument is not a string: %s" 
name))
   (let ((set:equal-op  (lambda (key elt) (equal key (car elt))))
        (wconfig-names (hywconfig-get-names)))
-    (if (or (not (called-interactively-p))
+    (if (or (not (called-interactively-p 'interactive))
            (not (set:member name wconfig-names))
            (y-or-n-p
             (format "Replace existing `%s' window configuration: " name)))
        (progn (hywconfig-set-names (set:replace name 
(current-window-configuration)
                                                 wconfig-names))
-              (if (called-interactively-p)
+              (if (called-interactively-p 'interactive)
                   (message
                    (substitute-command-keys
                     (format "Window configuration `%s' saved.  Use 
{\\[hywconfig-restore-by-name]} to restore." name))))))))
@@ -104,7 +104,7 @@ NAME, confirms whether or not to replace it."
         (error "(hywconfig-delete-by-name): `name' argument is not a string: 
%s" name))
        (t (let ((set:equal-op (lambda (key elt) (equal key (car elt)))))
             (hywconfig-set-names (set:remove name (hywconfig-get-names)))
-            (if (called-interactively-p)
+            (if (called-interactively-p 'interactive)
                 (message "Window configuration `%s' has been deleted." 
name))))))
 
 ;;;###autoload
@@ -119,7 +119,7 @@ NAME, confirms whether or not to replace it."
        (t (let ((wconfig (set:get name (hywconfig-get-names))))
             (if wconfig
                 (progn (hywconfig-set-window-configuration wconfig)
-                       (if (called-interactively-p)
+                       (if (called-interactively-p 'interactive)
                            (message "Window configuration `%s' is now active." 
name)))
               (error "(hywconfig-restore-by-name): No window configuration for 
this frame named `%s'" name))))))
 
@@ -148,7 +148,7 @@ Then deletes this new configuration from the ring."
 Use {\\[hywconfig-yank-pop]} to restore it at a later time."
   (interactive)
   (ring-insert (hywconfig-get-ring) (current-window-configuration))
-  (if (called-interactively-p)
+  (if (called-interactively-p 'interactive)
       (message
        (substitute-command-keys
        "Window configuration saved.  Use {\\[hywconfig-yank-pop]} to 
restore."))))
diff --git a/kotl/kexport.el b/kotl/kexport.el
index dd793e3..1e9dc09 100644
--- a/kotl/kexport.el
+++ b/kotl/kexport.el
@@ -4,7 +4,7 @@
 ;;
 ;; Orig-Date:    26-Feb-98
 ;;
-;; Copyright (C) 1998-2016  Free Software Foundation, Inc.
+;; Copyright (C) 1998-2017  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
 ;;
 ;; This file is part of GNU Hyperbole.
@@ -113,9 +113,9 @@ pattern may be:
 ;;; ************************************************************************
 
 ;;;###autoload
-(defun kexport:html (export-from output-to &optional soft-newlines-p)
+(defun kexport:html (export-from output-to &optional soft-newlines-flag)
   "Export a koutline buffer or file in EXPORT-FROM to html format in OUTPUT-TO.
-By default, this retains newlines within cells as they are.  With optional 
prefix arg, SOFT-NEWLINES-P, 
+By default, this retains newlines within cells as they are.  With optional 
prefix arg, SOFT-NEWLINES-FLAG, 
 hard newlines are not used.  Also converts Urls and Klinks into Html 
hyperlinks.
 STILL TODO:
   Make delimited pathnames into file links (but not if within klinks).
@@ -170,13 +170,13 @@ STILL TODO:
                                 title)))
 
     (princ "<HTML><HEAD>\n\n")
-    (princ "<A NAME=\"top\"></A><A NAME=\"0\"></A>\n")
+    (princ "<A ID=\"top\"></A><A ID=\"0\"></A>\n")
     (princ (format "<TITLE>%s</TITLE>\n" title))
     (if kexport:html-description
-       (princ (format "<META NAME=\"description\" CONTENT=\"%s\">\n"
+       (princ (format "<META ID=\"description\" CONTENT=\"%s\">\n"
                       kexport:html-description)))
     (if kexport:html-keywords
-       (princ (format "<META NAME=\"keywords\" CONTENT=\"%s\">\n"
+       (princ (format "<META ID=\"keywords\" CONTENT=\"%s\">\n"
                       kexport:html-keywords)))
     (princ "</HEAD>\n\n")
     (princ (format "<BODY %s>\n\n" kexport:html-body-attributes))
@@ -196,24 +196,23 @@ STILL TODO:
           (setq i (1- i)))
         (princ "<TABLE><TR>\n")
         (setq label (kcell-view:label))
-        (princ (format "<A NAME=\"%s\"></A>" label))
-        (princ (format "<A NAME=\"%s\"></A>\n" (kcell-view:idstamp)))
-        (princ "<TD WIDTH=2% VALIGN=top>\n")
+        (princ (format "<A ID=\"%s\"></A>" label))
+        (princ (format "<A ID=\"%s\"></A>\n" (kcell-view:idstamp)))
+        (princ "<TD WIDTH=2% VALIGN=top><PRE>\n")
         (princ (format
-                "<FONT %s>%s%s</FONT></TD>\n"
+                "<FONT %s>%s%s</FONT></PRE></TD>\n"
                 kexport:label-html-font-attributes
                 label separator))
         (princ "<TD>")
         (setq contents (kcell-view:contents))
         (if (string-match "\\`\\(address@hidden&*=+|/A-Za-z0-9 ]+\\):.*\\S-"
                           contents)
-            (princ (format "<A NAME=\"%s\"></A>"
+            (princ (format "<A ID=\"%s\"></A>"
                            (substring contents 0 (match-end 1)))))
         (setq contents (kexport:html-markup contents))
-        (or soft-newlines-p
-            (setq contents (hypb:replace-match-string
-                            "\n" contents "<BR>\n")))
-        (princ contents)
+        (if soft-newlines-flag
+            (princ contents)
+          (princ "<PRE>") (princ contents) (princ "</PRE>"))
         (princ "</TD>\n")
         (princ "</TR></TABLE>")
         (setq i level)
@@ -260,10 +259,10 @@ Works exclusively within a call to 
`hypb:replace-match-string'."
         (last-str-char (length string))
         (last-url-char (length url)))
     (while (memq (aref url (1- last-url-char))
-                '(?. ?, ?? ?# ?! ?* ?( ?)))
+                '(?. ?, ?? ?# ?! ?* ?\( ?\)))
       (setq last-url-char (1- last-url-char)))
     (while (memq (aref string (1- last-str-char))
-                '(?. ?, ?? ?# ?! ?* ?( ?)))
+                '(?. ?, ?? ?# ?! ?* ?\( ?\)))
       (setq last-str-char (1- last-str-char)))
     (format "<A HREF=\"%s\">%s</A>%s"
            (substring url 0 last-url-char)
diff --git a/kotl/kimport.el b/kotl/kimport.el
index de483b3..702a19c 100644
--- a/kotl/kimport.el
+++ b/kotl/kimport.el
@@ -4,7 +4,7 @@
 ;;
 ;; Orig-Date:    15-Nov-93 at 11:57:05
 ;;
-;; Copyright (C) 1993-2016  Free Software Foundation, Inc.
+;; Copyright (C) 1993-2017  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
 ;;
 ;; This file is part of GNU Hyperbole.
@@ -62,6 +62,9 @@ cells as the initial set of children of the current cell, if 
any.
    .kotl - imported as a structured koutline
    .aug  - imported as an Augment post-numbered outline.")
 
+(defconst kimport:star-heading "^\\(\\*+\\)"
+  "Regular expression matching a star outline heading with the number of stars 
given by groupoing 1.")
+
 ;;; ************************************************************************
 ;;; Public functions
 ;;; ************************************************************************
@@ -260,13 +263,13 @@ an explanation of where imported cells are placed.
     (outline-show-all)
     (save-excursion
       (goto-char (point-min))
-      ;; If initial text in buffer is not an star outline node, add a star to
+      ;; If initial text in buffer is not a star outline node, add a star to
       ;; make it one, so it is not deleted from the import.
-      (if (not (looking-at "[ \t]*\\*"))
+      (unless (looking-at kimport:star-heading)
          (insert "* "))
       (goto-char (point-min))
       ;; Total number of top-level cells.
-      (setq total (count-matches "^[ \t]*\\*[ \t\n\r]"))
+      (setq total (count-matches (concat kimport:star-heading "[ \t\n\r]")))
       (if initially-empty-output
          nil
        ;; Insert first cell as sibling of current cell.
@@ -612,7 +615,7 @@ COUNT of inserted entries starts at 0.  TOTAL is the total 
number of entries
 in IMPORT-FROM, used to show a running tally of the imported entries."
   (set-buffer import-from)
   (let ((start (point))
-       (hyrolo-entry-regexp "^[ \t]*\\(\\*+\\)")
+       (hyrolo-entry-regexp kimport:star-heading)
        subtree-p end contents node-level child-label)
     ;; While find cells at import-level or deeper ...
     (while (and (re-search-forward hyrolo-entry-regexp nil t)
diff --git a/kotl/kotl-autoloads.el b/kotl/kotl-autoloads.el
index e5b0b75..3b33e73 100644
--- a/kotl/kotl-autoloads.el
+++ b/kotl/kotl-autoloads.el
@@ -1,22 +1,22 @@
 ;;; kotl-autoloads.el --- automatically extracted autoloads
 ;;
-;; Copyright (C) 2016  Free Software Foundation, Inc.
+;; Copyright (C) 2017  Free Software Foundation, Inc.
 ;;
 ;;; Code:
 
 
-;;;### (autoloads nil "kexport" "kexport.el" (22452 42110 0 0))
+;;;### (autoloads nil "kexport" "kexport.el" (23052 37373 0 0))
 ;;; Generated autoloads from kexport.el
 
 (autoload 'kexport:html "kexport" "\
 Export a koutline buffer or file in EXPORT-FROM to html format in OUTPUT-TO.
-By default, this retains newlines within cells as they are.  With optional 
prefix arg, SOFT-NEWLINES-P, 
+By default, this retains newlines within cells as they are.  With optional 
prefix arg, SOFT-NEWLINES-FLAG, 
 hard newlines are not used.  Also converts Urls and Klinks into Html 
hyperlinks.
 STILL TODO:
   Make delimited pathnames into file links (but not if within klinks).
   Copy attributes stored in cell 0 and attributes from each cell.
 
-\(fn EXPORT-FROM OUTPUT-TO &optional SOFT-NEWLINES-P)" t nil)
+\(fn EXPORT-FROM OUTPUT-TO &optional SOFT-NEWLINES-FLAG)" t nil)
 
 ;;;***
 
@@ -41,7 +41,7 @@ View an existing kotl version-2 file FILE-NAME in a read-only 
mode.
 
 ;;;***
 
-;;;### (autoloads nil "kimport" "kimport.el" (22415 50714 79447 574000))
+;;;### (autoloads nil "kimport" "kimport.el" (23051 38597 0 0))
 ;;; Generated autoloads from kimport.el
 
 (defvar kimport:mode-alist '((t . kimport:text) (outline-mode . 
kimport:star-outline)) "\
diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el
index 878ecec..7f1b766 100644
--- a/kotl/kotl-mode.el
+++ b/kotl/kotl-mode.el
@@ -4,7 +4,7 @@
 ;;
 ;; Orig-Date:    6/30/93
 ;;
-;; Copyright (C) 1993-2016  Free Software Foundation, Inc.
+;; Copyright (C) 1993-2017  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
 ;;
 ;; This file is part of GNU Hyperbole.
diff --git a/kotl/kview.el b/kotl/kview.el
index 6be5616..d5e7164 100644
--- a/kotl/kview.el
+++ b/kotl/kview.el
@@ -4,7 +4,7 @@
 ;;
 ;; Orig-Date:    6/30/93
 ;;
-;; Copyright (C) 1993-2016  Free Software Foundation, Inc.
+;; Copyright (C) 1993-2017  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
 ;;
 ;; This file is part of GNU Hyperbole.
diff --git a/kotl/kvspec.el b/kotl/kvspec.el
index e670d24..98dfc5f 100644
--- a/kotl/kvspec.el
+++ b/kotl/kvspec.el
@@ -4,7 +4,7 @@
 ;;
 ;; Orig-Date:    21-Oct-95 at 15:17:07
 ;;
-;; Copyright (C) 1995-2016  Free Software Foundation, Inc.
+;; Copyright (C) 1995-2017  Free Software Foundation, Inc.
 ;; See the "../HY-COPY" file for license information.
 ;;
 ;; This file is part of GNU Hyperbole.
diff --git a/man/hyperbole.css b/man/hyperbole.css
index 25c7519..fc36761 100644
--- a/man/hyperbole.css
+++ b/man/hyperbole.css
@@ -259,7 +259,7 @@ span.float-right > span {
 
 code, tt {
     margin: 0 2px;
-    padding: 0 5px;
+    padding: 0 0px;
     white-space: nowrap;
     border: 1px solid #eaeaea;
     background-color: #f8f8f8;
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 105e50b..a774f55 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
 <html>
 <!-- This manual is for GNU Hyperbole
-(Edition 6.0.2g, Published November 6, 2017).
+(Edition 7.0.0, Published November 15, 2017).
 
 Copyright (C) 1989-2017  Free Software Foundation, Inc.
 
@@ -338,8 +338,8 @@ WITHOUT ANY WARRANTY, without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
-Edition 6.0.2g
-Printed November 6, 2017.
+Edition 7.0.0
+Printed November 15, 2017.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -782,7 +782,7 @@ Next: <a href="#Smart-Keys" accesskey="n" rel="next">Smart 
Keys</a>, Previous: <
 <h2 class="chapter">1 Introduction</h2>
 
 <p>This edition of the GNU Hyperbole Manual is for use with any version
-6.0.2g or greater of GNU Hyperbole.  Hyperbole runs atop GNU Emacs 24.3
+7.0.0 or greater of GNU Hyperbole.  Hyperbole runs atop GNU Emacs 24.3
 or higher.  It will trigger an error if your Emacs is older.
 </p>
 <p>This chapter summarizes the structure of the rest of the manual,
@@ -1246,6 +1246,7 @@ Next: <a href="#Smart-Key-Argument-Selection" 
accesskey="n" rel="next">Smart Key
 <a name="index-button-activation"></a>
 <a name="index-activation"></a>
 <a name="index-button-help"></a>
+<a name="index-help_002c-button"></a>
 <p>The Action Key generally selects entities, creates links and
 activates buttons.  The Assist Key generally provides help,
 such as reporting on a button&rsquo;s attributes, or serves a complementary
@@ -2074,6 +2075,8 @@ Next: <a href="#Global-Buttons" accesskey="n" 
rel="next">Global Buttons</a>, Pre
 <a name="index-button_002c-explicit-1"></a>
 <a name="index-button-label"></a>
 <a name="index-button-name"></a>
+<a name="index-label_002c-button"></a>
+<a name="index-name_002c-button"></a>
 <p>Hyperbole creates and manages <em>explicit buttons</em> which perform
 specific actions when activated (typically through a button press).
 They look like this &lsquo;<samp>&lt;(fake button)&gt;</samp>&rsquo;.  They 
are quickly
@@ -2142,6 +2145,7 @@ Next: <a href="#Implicit-Buttons" accesskey="n" 
rel="next">Implicit Buttons</a>,
 <a name="index-global-button-1"></a>
 <a name="index-button_002c-global-1"></a>
 <a name="index-button-label-1"></a>
+<a name="index-label_002c-button-1"></a>
 <p>Access to explicit buttons depends upon the information on your screen
 since they are embedded within particular buffers.  Sometimes it is
 useful to activate buttons without regard to the information with which
@@ -3057,6 +3061,7 @@ Next: <a href="#Utilizing-Explicit-Buttons" accesskey="n" 
rel="next">Utilizing E
 <h3 class="section">3.6 Button Type Precedence</h3>
 
 <a name="index-button-precedence"></a>
+<a name="index-precedence_002c-buttons"></a>
 <a name="index-button-label-overlap"></a>
 <p>Explicit buttons always take precedence over implicit buttons.  Thus, if
 a button selection is made which falls within both an explicit and
@@ -3146,14 +3151,15 @@ Next: <a href="#By-Menu" accesskey="n" rel="next">By 
Menu</a>, Previous: <a href
 <a name="Creation-Via-Action-Key-Drags"></a>
 <h4 class="subsubsection">3.7.1.1 Creation Via Action Key Drags</h4>
 
-<a name="index-explicit-button_002c-creation"></a>
-<a name="index-button_002c-creation"></a>
-<a name="index-link_002c-creation"></a>
+<a name="index-explicit-button-creation"></a>
+<a name="index-button-creation"></a>
+<a name="index-creating-buttons"></a>
+<a name="index-link-creation"></a>
+<a name="index-creating-links"></a>
+<a name="index-direct-link-creation"></a>
+<a name="index-mouse-drag_002c-link-creation"></a>
 <a name="index-drag"></a>
 <a name="index-Action-Key-drag"></a>
-<a name="index-creating-a-link"></a>
-<a name="index-mouse-drag_002c-link-creation"></a>
-<a name="index-direct-link-creation"></a>
 <p>The most efficient way to create an explicit link button interactively
 is to use the Action Mouse Key to drag from a non-read-only button
 source window to a window showing its desired link referent.  More
@@ -3204,7 +3210,7 @@ Buffer without File      link-to-buffer-tmp
 <a name="index-C_002du-M_002do"></a>
 <a name="index-C_002dx-o"></a>
 <a name="index-hkey_002doperate"></a>
-<a name="index-Action-Key-drag-emulation"></a>
+<a name="index-emulation_002c-Action-Key-drag"></a>
 <a name="index-keyboard-drag-emulation"></a>
 <p>If you run Emacs under a window system and there is no prior key
 binding on <kbd>{M-o}</kbd> when you load Hyperbole, then you can emulate
@@ -3255,7 +3261,7 @@ label again and delimit it yourself or copy and paste the 
button with
 its delimiters.  Hyperbole will interpret all occurrences of the same
 delimited label within a buffer as the same button.
 </p>
-<a name="index-link_002c-creation-1"></a>
+<a name="index-link_002c-creation"></a>
 <p>If you create link buttons using the Hyperbole menus, the best
 technique is to place on screen both the source buffer for the button
 and the buffer to which it will link.  Mark the region of text to use
@@ -3273,8 +3279,8 @@ Next: <a href="#Deletion" accesskey="n" 
rel="next">Deletion</a>, Previous: <a hr
 <a name="Renaming-1"></a>
 <h4 class="subsection">3.7.2 Renaming</h4>
 
-<a name="index-explicit-button_002c-renaming"></a>
-<a name="index-button_002c-renaming"></a>
+<a name="index-explicit-button-renaming"></a>
+<a name="index-button-renaming"></a>
 <p>Once an explicit button has been created, its label text must be
 treated specially.  Any inter-word spacing within the label may be
 freely changed, as may happen when a paragraph is refilled, but a
@@ -3311,8 +3317,8 @@ Next: <a href="#Modification" accesskey="n" 
rel="next">Modification</a>, Previou
 <a name="Deletion-1"></a>
 <h4 class="subsection">3.7.3 Deletion</h4>
 
-<a name="index-explicit-button_002c-deleting"></a>
-<a name="index-button_002c-deleting"></a>
+<a name="index-explicit-button-deletion"></a>
+<a name="index-button-deletion"></a>
 <p>Ebut/Delete works similarly to the Rename command but deletes the
 selected button.  The button&rsquo;s delimiters are removed to confirm the
 deletion.  If the delete command is invoked with a prefix argument, then
@@ -3334,10 +3340,10 @@ Next: <a href="#Searching-and-Summarizing" 
accesskey="n" rel="next">Searching an
 <a name="Modification-1"></a>
 <h4 class="subsection">3.7.4 Modification</h4>
 
-<a name="index-explicit-button_002c-modifying"></a>
-<a name="index-button_002c-modifying"></a>
+<a name="index-explicit-button-modification"></a>
+<a name="index-button-modification"></a>
 <a name="index-Smart-Mouse-Key-drag"></a>
-<a name="index-button_002c-attributes"></a>
+<a name="index-button-attributes"></a>
 <p>Ebut/Modify prompts you with each of the elements from the button&rsquo;s
 attributes list and allows you to modify each in turn.  Ebut/Edit does
 the exact same thing and is there for people who prefer that term.
@@ -3357,9 +3363,9 @@ Next: <a href="#Buttons-in-Mail" accesskey="n" 
rel="next">Buttons in Mail</a>, P
 <a name="Searching-and-Summarizing-1"></a>
 <h4 class="subsection">3.7.5 Searching and Summarizing</h4>
 
-<a name="index-explicit-button_002c-summarizing"></a>
-<a name="index-button_002c-summarizing"></a>
-<a name="index-button_002c-help"></a>
+<a name="index-explicit-button-summary"></a>
+<a name="index-button-summary"></a>
+<a name="index-button-help-1"></a>
 <p>The Ebut/Help menu may be used to summarize either a single explicit
 button or all such buttons within a buffer.  The buttons summarized may
 then be activated directly from the summary.
@@ -3370,8 +3376,8 @@ the button at point.  Ebut/Help/OrderedButs summarizes 
the buttons in
 alphabetical order.  All of these summary commands eliminate duplicate
 occurrences of buttons from their help displays.
 </p>
-<a name="index-explicit-button_002c-searching"></a>
-<a name="index-button_002c-searching"></a>
+<a name="index-explicit-button-searching"></a>
+<a name="index-button-searching"></a>
 <p>Ebut/Search prompts for a search pattern and searches across all the
 locations in which you have previously created explicit buttons.  It
 asks you whether to match to any part of a button label or to whole
@@ -3405,8 +3411,8 @@ Because this involves complex changes to mail support 
functions, this
 feature is disabled by default.  Use the Cust/Msg-Toggle-Ebuts
 minibuffer menu item to enable it.
 </p>
-<a name="index-button_002c-mailing"></a>
-<a name="index-button_002c-posting"></a>
+<a name="index-button-mailing"></a>
+<a name="index-button-posting"></a>
 <a name="index-mailing-buttons"></a>
 <a name="index-posting-buttons"></a>
 <a name="index-mail-reader"></a>
@@ -3502,7 +3508,7 @@ Previous: <a href="#Buttons-in-Mail" accesskey="p" 
rel="prev">Buttons in Mail</a
 <a name="Buttons-in-News-1"></a>
 <h4 class="subsection">3.7.7 Buttons in News</h4>
 
-<a name="index-button_002c-posting-1"></a>
+<a name="index-button-posting-1"></a>
 <a name="index-news-reader_002fposter"></a>
 <a name="index-posting-news"></a>
 <a name="index-Gnus-1"></a>
@@ -3742,6 +3748,7 @@ access to popular web search engines.
                    is given, limit search to only .el and .el.gz
                    files.  Set <code>hypb:rgrep-command</code> to change the
                    grep command or options.
+
 </li><li> LocateFiles -      Prompt for a pattern and display a list of all 
                    matching pathnames found throughout the file
                    system.  On Mac OS X, this uses Spotlight
@@ -3749,17 +3756,22 @@ access to popular web search engines.
                    the <code>locate</code> command.  Within the resulting
                    *Locate* buffer, Find/Grep-Files will find matching lines
                    within only these paths (files and directories).
+
 </li><li> MatchFileBuffers - Show numbered line matches for regexp in all 
file-based buffers.
+
 </li><li> OccurHere -        Show numbered line matches for regexp from this 
buffer.
+
 </li><li> RemoveLines -      Following point, remove all lines that match 
regexp.
+
 </li><li> SaveLines -        Following point, keep only lines that match 
regexp.
-</li><li> <a name="index-menu_002c-Find_002fWeb"></a>
+<a name="index-menu_002c-Find_002fWeb"></a>
 <a name="index-menu_002c-Web"></a>
 <a name="index-searching-the-web"></a>
 <a name="index-web-search"></a>
 <a name="index-C_002dc-_002f"></a>
 <a name="index-hyperbole_002dweb_002dsearch_002dbrowser_002dfunction"></a>
-Web/ -             Select a search engine and term and search with them.
+
+</li><li> Web/ -             Select a search engine and term and search with 
them.
                    Hyperbole binds the key <kbd>{C-c /}</kbd> for quick
                    access to this menu, if it is not already bound
                    prior to Hyperbole&rsquo;s initialization.  The 
Cust/Web-Search
@@ -3767,11 +3779,13 @@ Web/ -             Select a search engine and term and 
search with them.
                    which determines whether web search results are displayed
                    within Emacs or with an external web browser.  A short
                    video introduction to the Find/Web menu may be
-                   found at <a 
href="https://youtu.be/8lMlJed0-OM";>https://youtu.be/8lMlJed0-OM</a>. The
-                   Find/Web menu looks like this:
+                   found at <a 
href="https://youtu.be/8lMlJed0-OM";>https://youtu.be/8lMlJed0-OM</a>.
+
+<p>The Find/Web menu looks like this:
+</p>
 <div class="smallexample">
-<pre class="smallexample">Web&gt;  Amazon Bing Dictionary Elisp Facebook 
Google Hub(git) Images
-      Maps RFCs StackOverflow Twitter Wikipedia Youtube
+<pre class="smallexample">Web&gt;  Amazon Bing Dictionary Elisp Facebook 
Google Hub(git)
+      Images Maps RFCs StackOverflow Twitter Wikipedia Youtube
 </pre></div>
 </li></ul>
 
@@ -3780,13 +3794,12 @@ Web/ -             Select a search engine and term and 
search with them.
 </dd>
 <dt><strong>Gbut/</strong></dt>
 <dd><p>All global button commands.  Global buttons are accessed by name
-rather than by direct selection.  The window-system-based Hyperbole
-menu also includes an activation menu item for each global button.
-</p>
+rather than by direct selection.  The Hyperbole menubar menu also
+includes an activation menu item for each global button.
 <a name="index-menu-item_002c-Back_002dto_002dPrior_002dLocation"></a>
 <a name="index-menu-item_002c-Hist"></a>
 <a name="index-history"></a>
-</dd>
+</p></dd>
 <dt><strong>Hist</strong></dt>
 <dd><p>Return to previous positions in the button traversal history.
 </p>
@@ -3808,13 +3821,13 @@ a Hyperbole discussion mailing list.
 <a name="index-menu_002c-Kotl"></a>
 </dd>
 <dt><strong>Kotl/</strong></dt>
-<dd><p>Autonumbered, structured outliner and hyper-node manager commands.
+<dd><p>Autonumbered, structured outliner commands with per-node hyperlink 
anchors.
 See <a href="#Koutliner">Koutliner</a>.
 </p>
 <a name="index-menu_002c-Rolo"></a>
 </dd>
 <dt><strong>Rolo/</strong></dt>
-<dd><p>Hierarchical, multi-file rolo lookup and edit commands.
+<dd><p>Hierarchical, multi-file contact manager lookup and edit commands.
 See <a href="#HyRolo">HyRolo</a>.
 </p>
 <a name="index-menu_002c-Screen"></a>
@@ -3826,8 +3839,8 @@ See <a href="#HyRolo">HyRolo</a>.
 <a name="index-menu_002c-WinConfig"></a>
 </dd>
 <dt><strong>Win/</strong></dt>
-<dd><p>Window configuration management, such as adding and restoring window
-configurations by name.  See <a href="#Window-Configurations">Window 
Configurations</a>.
+<dd><p>Window configuration management commands, such as adding and restoring
+window configurations by name.  See <a href="#Window-Configurations">Window 
Configurations</a>.
 </p>
 </dd>
 </dl>
@@ -4256,7 +4269,7 @@ buffer.
 selected window.
 </p>
 <a name="index-swapping"></a>
-<a name="index-buffer_002c-swapping"></a>
+<a name="index-buffer_002c-swap-1"></a>
 <a name="index-screen_002c-_007e"></a>
 <a name="index-_007e"></a>
 </dd>
@@ -4267,9 +4280,7 @@ frame.  In FRAMES mode, the second frame must have a 
single window.
 </p>
 <a name="index-zooming"></a>
 <a name="index-window_002c-zoom"></a>
-<a name="index-zoom-window"></a>
 <a name="index-frame_002c-zoom"></a>
-<a name="index-zoom-frame"></a>
 <a name="index-zoom_002dfrm_002eel"></a>
 <a name="index-screen_002c-Z"></a>
 <a name="index-Z"></a>
@@ -6765,10 +6776,10 @@ Next: <a href="#Programmatic-Button-Creation" 
accesskey="n" rel="next">Programma
 <a name="Operational-and-Storage-Formats-1"></a>
 <h4 class="subsection">9.3.2 Operational and Storage Formats</h4>
 
-<a name="index-explicit-button_002c-formats"></a>
-<a name="index-explicit-button_002c-storage"></a>
+<a name="index-explicit-button-formats"></a>
+<a name="index-explicit-button-storage"></a>
 <a name="index-storage-manager"></a>
-<a name="index-button-attributes"></a>
+<a name="index-button-attributes-1"></a>
 <a name="index-hbut_003acurrent-1"></a>
 <p>Hyperbole uses a terse format to store explicit buttons and a more
 meaningful one to show users and to manipulate during editing.  The
@@ -6799,7 +6810,7 @@ Previous: <a href="#Operational-and-Storage-Formats" 
accesskey="p" rel="prev">Op
 <a name="Programmatic-Button-Creation-1"></a>
 <h4 class="subsection">9.3.3 Programmatic Button Creation</h4>
 
-<a name="index-explicit-button_002c-creation-1"></a>
+<a name="index-explicit-button_002c-creation"></a>
 <p>A common need when developing with Hyperbole is to create or to modify
 explicit buttons without user interaction.  For example, an application
 might require the addition of an explicit summary button to a file for
@@ -7951,7 +7962,6 @@ To disable highlighting, change this setting in 
<samp>hsettings.el</samp> or
 use Hyperbole menu item, Cust/All-Options, and select the Hyperbole
 Buttons group to edit its options.
 </p>
-<a name="index-button-highlighting_002c-forcing"></a>
 <a name="index-hproperty_003abut_002dcreate"></a>
 <p>If you read in a file with explicit buttons before you load Hyperbole,
 these buttons won&rsquo;t be highlighted.  Load Hyperbole and then use
@@ -12153,7 +12163,6 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a 
href="#index-action-1">action</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Action-Types">Action Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Action-Key">Action 
Key</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Smart-Keys">Smart 
Keys</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Action-Key-drag">Action Key 
drag</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-Action-Key-drag-emulation">Action Key drag 
emulation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-Action-Key_002c-cell-argument">Action Key, cell 
argument</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-Action-Key_002c-hide-or-show-cell">Action Key, hide or show 
cell</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Action-Key_002c-klink">Action 
Key, klink</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Links">Links</a></td></tr>
@@ -12223,7 +12232,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-buffer_002c-bury">buffer, 
bury</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-buffer_002c-copy">buffer, 
copy</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Displaying-Buffers">Displaying Buffers</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-buffer_002c-swap">buffer, 
swap</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Swapping-Buffers">Swapping Buffers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-buffer_002c-swapping">buffer, 
swapping</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-buffer_002c-swap-1">buffer, 
swap</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-buffer_002c-unbury">buffer, 
unbury</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-bug-tracking">bug 
tracking</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-bury-buffer">bury 
buffer</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline 
Clicks</a></td></tr>
@@ -12232,11 +12241,14 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-button-action">button 
action</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Action-Types">Action 
Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-activation">button 
activation</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-Operations">Smart Key Operations</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-attribute">button 
attribute</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-button-attributes">button 
attributes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Operational-and-Storage-Formats">Operational and Storage 
Formats</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-attributes">button 
attributes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Modification">Modification</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-attributes-1">button 
attributes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Operational-and-Storage-Formats">Operational and Storage 
Formats</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-category">button 
category</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons">Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-click">button 
click</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Hyperbole-Buttons">Smart Key - Hyperbole 
Buttons</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-creation">button 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-data">button 
data</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-button-data-saving">button data 
saving</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-button-deletion">button 
deletion</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Deletion">Deletion</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-demo">button 
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-button-emphasis">button 
emphasis</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Colors">Button Colors</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-button-file_002c-directory">button file, 
directory</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Files">Button Files</a></td></tr>
@@ -12245,37 +12257,33 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-button-files">button 
files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Button-Files">Button 
Files</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-flashing">button 
flashing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Colors">Button Colors</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-help">button 
help</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-Operations">Smart Key Operations</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-help-1">button 
help</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-highlighting">button 
highlighting</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-button-highlighting-1">button 
highlighting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Colors">Button Colors</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-button-highlighting_002c-forcing">button highlighting, 
forcing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Colors">Button Colors</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-instance">button 
instance</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Menu">By 
Menu</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-key">button 
key</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Label-Normalization">Button Label Normalization</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-label">button 
label</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-button-label-1">button 
label</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Global-Buttons">Global 
Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-label-2">button 
label</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Label-Normalization">Button Label Normalization</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-label-overlap">button 
label overlap</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Type-Precedence">Button Type Precedence</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-mailing">button 
mailing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-modification">button 
modification</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Modification">Modification</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-name">button 
name</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-button-posting">button 
posting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-posting-1">button 
posting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-News">Buttons in News</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button-precedence">button 
precedence</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Type-Precedence">Button Type Precedence</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-attributes">button, 
attributes</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Modification">Modification</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-creation">button, 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-deleting">button, 
deleting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Deletion">Deletion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-renaming">button 
renaming</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Renaming">Renaming</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-searching">button 
searching</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button-summary">button 
summary</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button_002c-explicit">button, 
explicit</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons">Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button_002c-explicit-1">button, 
explicit</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-button_002c-global">button, 
global</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons">Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button_002c-global-1">button, 
global</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Global-Buttons">Global Buttons</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-help">button, 
help</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button_002c-implicit">button, 
implicit</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons">Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button_002c-implicit-1">button, 
implicit</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-button_002c-mailing">button, 
mailing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-modifying">button, 
modifying</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Modification">Modification</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-button_002c-moving">button, 
moving</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-button_002c-multiple-lines">button, multiple 
lines</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Label-Normalization">Button Label Normalization</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-posting">button, 
posting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-posting-1">button, 
posting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-News">Buttons in News</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-renaming">button, 
renaming</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Renaming">Renaming</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-searching">button, 
searching</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-button_002c-split-across-lines">button, split across 
lines</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Label-Normalization">Button Label Normalization</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-button_002c-summarizing">button, 
summarizing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-byte-compiler-error">byte 
compiler error</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Concept-Index_cp_letter-C">C</a></th><td></td><td></td></tr>
@@ -12349,7 +12357,8 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-copy-region">copy 
region</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-Thing-Selection">Smart Key Thing Selection</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-copying">copying</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-create_002dtime-attribute">create-time 
attribute</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-creating-a-link">creating a 
link</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-creating-buttons">creating 
buttons</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-creating-links">creating 
links</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-creator-attribute">creator 
attribute</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Cell-Attributes">Cell Attributes</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-credits">credits</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Top">Top</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-cross-referencing">cross 
referencing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Koutliner-History">Koutliner History</a></td></tr>
@@ -12439,6 +12448,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-Emacs-Lisp-variables">Emacs Lisp 
variables</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Link-Variable-Substitution">Link Variable Substitution</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-emacs-outline">emacs 
outline</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-Emacs-support">Emacs 
support</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Colors">Button Colors</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-emulation_002c-Action-Key-drag">emulation, Action Key 
drag</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-enabling-URLs-in-find_002dfile">enabling URLs in 
find-file</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Using-URLs-with-Find_002dFile">Using URLs with Find-File</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-end-of-line-click">end of line 
click</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Smart-Scrolling">Smart Key - Smart 
Scrolling</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-Engelbart">Engelbart</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Koutliner-History">Koutliner History</a></td></tr>
@@ -12451,15 +12461,15 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a 
href="#index-expanding">expanding</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-explicit-button">explicit 
button</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons">Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-explicit-button-1">explicit 
button</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-explicit-button_002c-creation">explicit button, 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-creation-1">explicit button, 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Programmatic-Button-Creation">Programmatic Button Creation</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-deleting">explicit button, 
deleting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Deletion">Deletion</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-formats">explicit button, 
formats</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Operational-and-Storage-Formats">Operational and Storage 
Formats</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-modifying">explicit button, 
modifying</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Modification">Modification</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-renaming">explicit button, 
renaming</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Renaming">Renaming</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-searching">explicit button, 
searching</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-storage">explicit button, 
storage</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Operational-and-Storage-Formats">Operational and Storage 
Formats</a></td></tr>
-<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-summarizing">explicit button, 
summarizing</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-creation">explicit button 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-deletion">explicit button 
deletion</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Deletion">Deletion</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-formats">explicit button 
formats</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Operational-and-Storage-Formats">Operational and Storage 
Formats</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-modification">explicit button 
modification</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Modification">Modification</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-renaming">explicit button 
renaming</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Renaming">Renaming</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-searching">explicit button 
searching</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-storage">explicit button 
storage</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Operational-and-Storage-Formats">Operational and Storage 
Formats</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button-summary">explicit button 
summary</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-explicit-button_002c-creation">explicit button, 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Programmatic-Button-Creation">Programmatic Button Creation</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-exporting">exporting</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Exporting">Exporting</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-exporting-an-outline">exporting 
an outline</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-external-klink">external 
klink</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Links">Links</a></td></tr>
@@ -12531,6 +12541,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><th><a name="Concept-Index_cp_letter-H">H</a></th><td></td><td></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-hashtag">hashtag</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-help-buffer">help 
buffer</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Help-Buffers">Smart Key - Help Buffers</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-help_002c-button">help, 
button</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-Operations">Smart Key Operations</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-help_002c-menu-items">help, menu 
items</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-help_002c-Smart-Key">help, Smart 
Key</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-Operations">Smart Key Operations</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-hide-levels">hide 
levels</a>:</td><td>&nbsp;</td><td valign="top"><a href="#View-Specs">View 
Specs</a></td></tr>
@@ -12694,6 +12705,8 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-label-type_002c-idstamps">label 
type, idstamps</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#View-Specs">View Specs</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-label-type_002c-legal">label 
type, legal</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Autonumbering">Autonumbering</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-label-type_002c-legal-1">label 
type, legal</a>:</td><td>&nbsp;</td><td valign="top"><a href="#View-Specs">View 
Specs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-label_002c-button">label, 
button</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-label_002c-button-1">label, 
button</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Global-Buttons">Global Buttons</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-legal-labels">legal 
labels</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Autonumbering">Autonumbering</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-level">level</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-level-1">level</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#View-Specs">View Specs</a></td></tr>
@@ -12701,9 +12714,9 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a 
href="#index-link">link</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Links">Links</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-link-action-types">link action 
types</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Action-Types">Action 
Types</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-link-button">link 
button</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-link-creation">link 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-link-display">link 
display</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Referent-Display">Referent Display</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-link_002c-creation">link, 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Dragging">By 
Dragging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-link_002c-creation-1">link, 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Menu">By 
Menu</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-link_002c-creation">link, 
creation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#By-Menu">By 
Menu</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-link_002c-display-function">link, 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-link_002c-pathname">link, 
pathname</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-link_002c-pathname-line-and-column">link, pathname line and 
column</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
@@ -12852,6 +12865,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a 
href="#index-multiplier">multiplier</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Concept-Index_cp_letter-N">N</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-name_002c-button">name, 
button</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-named-window-configuration">named window 
configuration</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Window-Configurations">Window Configurations</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-news">news</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-news-comment">news 
comment</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-News">Buttons in News</a></td></tr>
@@ -12923,6 +12937,7 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a href="#index-popup-menu">popup 
menu</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Menus">Menus</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-posting-buttons">posting 
buttons</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-posting-news">posting 
news</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Buttons-in-News">Buttons in News</a></td></tr>
+<tr><td></td><td valign="top"><a 
href="#index-precedence_002c-buttons">precedence, 
buttons</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Button-Type-Precedence">Button Type Precedence</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-programming-interface">programming 
interface</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Embedding-Hyperbole">Embedding Hyperbole</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-promotion">promotion</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-proportional-scrolling">proportional 
scrolling</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Glossary">Glossary</a></td></tr>
@@ -13193,8 +13208,6 @@ Previous: <a href="#Function" accesskey="p" 
rel="prev">Function</a>, Up: <a href
 <tr><td></td><td valign="top"><a 
href="#index-yanking-2">yanking</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited 
Things</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 <tr><th><a name="Concept-Index_cp_letter-Z">Z</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-zoom-frame">zoom 
frame</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-zoom-window">zoom 
window</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td></td><td valign="top"><a 
href="#index-zooming">zooming</a>:</td><td>&nbsp;</td><td valign="top"><a 
href="#HyControl">HyControl</a></td></tr>
 <tr><td colspan="4"> <hr></td></tr>
 </table>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index fb7f152..3682d9d 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index cd5c288..d74d0e4 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 877f757..5c5e513 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -151,8 +151,8 @@ WITHOUT ANY WARRANTY, without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
 
 <PRE>
-Edition 6.0.2g
-Printed November 6, 2017.
+Edition 7.0.0
+Printed November 15, 2017.
 
   Published by the Free Software Foundation, Inc.
   Author:    Bob Weiner
@@ -176,7 +176,7 @@ Printed November 6, 2017.
 
 @center The Everyday Hypertextual Information Manager
 
address@hidden Edition 6.0.2g, November 6, 2017.
address@hidden Edition 7.0.0, November 15, 2017.
 
 @sp 2
 @noindent
@@ -460,7 +460,7 @@ Smart Keyboard Keys
 @chapter Introduction
 
 This edition of the GNU Hyperbole Manual is for use with any version
-6.0.2g or greater of GNU Hyperbole.  Hyperbole runs atop GNU Emacs 24.3
+7.0.0 or greater of GNU Hyperbole.  Hyperbole runs atop GNU Emacs 24.3
 or higher.  It will trigger an error if your Emacs is older.
 
 This chapter summarizes the structure of the rest of the manual,
@@ -891,6 +891,7 @@ file.  For example, @code{(add-hook 'hyperbole-init-hook 
(lambda ()
 @cindex button activation
 @cindex activation
 @cindex button help
address@hidden help, button
 The Action Key generally selects entities, creates links and
 activates buttons.  The Assist Key generally provides help,
 such as reporting on a button's attributes, or serves a complementary
@@ -1535,6 +1536,8 @@ it, @pxref{Smart Key Operations}.
 @cindex button, explicit
 @cindex button label
 @cindex button name
address@hidden label, button
address@hidden name, button
 Hyperbole creates and manages @dfn{explicit buttons} which perform
 specific actions when activated (typically through a button press).
 They look like this @samp{<(fake button)>}.  They are quickly
@@ -1597,6 +1600,7 @@ asking for help on a button.
 @cindex global button
 @cindex button, global
 @cindex button label
address@hidden label, button
 Access to explicit buttons depends upon the information on your screen
 since they are embedded within particular buffers.  Sometimes it is
 useful to activate buttons without regard to the information with which
@@ -2424,6 +2428,7 @@ Lisp can evaluate.
 @section   Button Type Precedence
 
 @cindex button precedence
address@hidden precedence, buttons
 @cindex button label overlap
 Explicit buttons always take precedence over implicit buttons.  Thus, if
 a button selection is made which falls within both an explicit and
@@ -2486,14 +2491,15 @@ Hyperbole menus.
 @node By Dragging, By Menu, Creation, Creation
 @subsubsection Creation Via Action Key Drags
 
address@hidden explicit button, creation
address@hidden button, creation
address@hidden link, creation
address@hidden explicit button creation
address@hidden button creation
address@hidden creating buttons
address@hidden link creation
address@hidden creating links
address@hidden direct link creation
address@hidden mouse drag, link creation
 @cindex drag
 @cindex Action Key drag
address@hidden creating a link
address@hidden mouse drag, link creation
address@hidden direct link creation
 The most efficient way to create an explicit link button interactively
 is to use the Action Mouse Key to drag from a non-read-only button
 source window to a window showing its desired link referent.  More
@@ -2544,7 +2550,7 @@ Buffer without File      link-to-buffer-tmp
 @kindex C-u M-o
 @kindex C-x o
 @findex hkey-operate
address@hidden Action Key drag emulation
address@hidden emulation, Action Key drag 
 @cindex keyboard drag emulation
 If you run Emacs under a window system and there is no prior key
 binding on @bkbd{M-o} when you load Hyperbole, then you can emulate
@@ -2602,8 +2608,8 @@ Selection}, to select the link referent.
 @node Renaming, Deletion, Creation, Utilizing Explicit Buttons
 @subsection  Renaming
 
address@hidden explicit button, renaming
address@hidden button, renaming
address@hidden explicit button renaming
address@hidden button renaming
 Once an explicit button has been created, its label text must be
 treated specially.  Any inter-word spacing within the label may be
 freely changed, as may happen when a paragraph is refilled, but a
@@ -2634,8 +2640,8 @@ file: @code{(global-set-key "\C-c\C-r" 'hui:ebut-rename)}.
 @node Deletion, Modification, Renaming, Utilizing Explicit Buttons
 @subsection  Deletion
 
address@hidden explicit button, deleting
address@hidden button, deleting
address@hidden explicit button deletion
address@hidden button deletion
 Ebut/Delete works similarly to the Rename command but deletes the
 selected button.  The button's delimiters are removed to confirm the
 deletion.  If the delete command is invoked with a prefix argument, then
@@ -2651,10 +2657,10 @@ prefer no confirmation.
 @node Modification, Searching and Summarizing, Deletion, Utilizing Explicit 
Buttons
 @subsection  Modification
 
address@hidden explicit button, modifying
address@hidden button, modifying
address@hidden explicit button modification
address@hidden button modification
 @cindex Smart Mouse Key drag
address@hidden button, attributes
address@hidden button attributes
 Ebut/Modify prompts you with each of the elements from the button's
 attributes list and allows you to modify each in turn.  Ebut/Edit does
 the exact same thing and is there for people who prefer that term.
@@ -2668,9 +2674,9 @@ the keyboard.  @xref{Creation}.
 @node Searching and Summarizing, Buttons in Mail, Modification, Utilizing 
Explicit Buttons
 @subsection  Searching and Summarizing
 
address@hidden explicit button, summarizing
address@hidden button, summarizing
address@hidden button, help
address@hidden explicit button summary
address@hidden button summary
address@hidden button help
 The Ebut/Help menu may be used to summarize either a single explicit
 button or all such buttons within a buffer.  The buttons summarized may
 then be activated directly from the summary.
@@ -2681,8 +2687,8 @@ the button at point.  Ebut/Help/OrderedButs summarizes 
the buttons in
 alphabetical order.  All of these summary commands eliminate duplicate
 occurrences of buttons from their help displays.
 
address@hidden explicit button, searching
address@hidden button, searching
address@hidden explicit button searching
address@hidden button searching
 Ebut/Search prompts for a search pattern and searches across all the
 locations in which you have previously created explicit buttons.  It
 asks you whether to match to any part of a button label or to whole
@@ -2710,8 +2716,8 @@ Because this involves complex changes to mail support 
functions, this
 feature is disabled by default.  Use the Cust/Msg-Toggle-Ebuts
 minibuffer menu item to enable it.
 
address@hidden button, mailing
address@hidden button, posting
address@hidden button mailing
address@hidden button posting
 @cindex mailing buttons
 @cindex posting buttons
 @cindex mail reader
@@ -2804,7 +2810,7 @@ described in @ref{Smart Key Argument Selection}.
 @node Buttons in News,  , Buttons in Mail, Utilizing Explicit Buttons
 @subsection  Buttons in News
 
address@hidden button, posting
address@hidden button posting
 @cindex news reader/poster
 @cindex posting news
 @cindex Gnus
@@ -3038,6 +3044,7 @@ GrepFiles -        Show numbered line matches for a 
regexp in all
                    is given, limit search to only .el and .el.gz
                    files.  Set @code{hypb:rgrep-command} to change the
                    grep command or options.
+
 @item
 LocateFiles -      Prompt for a pattern and display a list of all 
                    matching pathnames found throughout the file
@@ -3046,12 +3053,16 @@ LocateFiles -      Prompt for a pattern and display a 
list of all
                    the @code{locate} command.  Within the resulting
                    *Locate* buffer, Find/Grep-Files will find matching lines
                    within only these paths (files and directories).
+
 @item
 MatchFileBuffers - Show numbered line matches for regexp in all file-based 
buffers.
+
 @item
 OccurHere -        Show numbered line matches for regexp from this buffer.
+
 @item
 RemoveLines -      Following point, remove all lines that match regexp.
+
 @item
 SaveLines -        Following point, keep only lines that match regexp.
 @cindex menu, Find/Web
@@ -3060,6 +3071,7 @@ SaveLines -        Following point, keep only lines that 
match regexp.
 @cindex web search
 @kindex C-c /
 @vindex hyperbole-web-search-browser-function
+
 @item
 Web/ -             Select a search engine and term and search with them.
                    Hyperbole binds the key @bkbd{C-c /} for quick
@@ -3069,12 +3081,14 @@ Web/ -             Select a search engine and term and 
search with them.
                    which determines whether web search results are displayed
                    within Emacs or with an external web browser.  A short
                    video introduction to the Find/Web menu may be
-                   found at @url{https://youtu.be/8lMlJed0-OM}. The
-                   Find/Web menu looks like this:
+                   found at @url{https://youtu.be/8lMlJed0-OM}.
+
+                   The Find/Web menu looks like this:
+
 @smallexample
 @noindent
-Web>  Amazon Bing Dictionary Elisp Facebook Google Hub(git) Images
-      Maps RFCs StackOverflow Twitter Wikipedia Youtube
+Web>  Amazon Bing Dictionary Elisp Facebook Google Hub(git)
+      Images Maps RFCs StackOverflow Twitter Wikipedia Youtube
 @end smallexample
 @end itemize
 
@@ -3082,9 +3096,8 @@ Web>  Amazon Bing Dictionary Elisp Facebook Google 
Hub(git) Images
 @cindex menu, Gbut
 @item Gbut/
 All global button commands.  Global buttons are accessed by name
-rather than by direct selection.  The window-system-based Hyperbole
-menu also includes an activation menu item for each global button.
-
+rather than by direct selection.  The Hyperbole menubar menu also
+includes an activation menu item for each global button.
 @cindex menu item, Back-to-Prior-Location
 @cindex menu item, Hist
 @cindex history
@@ -3106,12 +3119,12 @@ a Hyperbole discussion mailing list.
 @cindex menu, Koutline
 @cindex menu, Kotl
 @item Kotl/
-Autonumbered, structured outliner and hyper-node manager commands.
+Autonumbered, structured outliner commands with per-node hyperlink anchors.
 @xref{Koutliner}.
 
 @cindex menu, Rolo
 @item Rolo/
-Hierarchical, multi-file rolo lookup and edit commands.
+Hierarchical, multi-file contact manager lookup and edit commands.
 @xref{HyRolo}.
 
 @cindex menu, Screen
@@ -3121,8 +3134,8 @@ Window, frame and buffer display control commands.  
@xref{HyControl}.
 @cindex menu, Window-Configurations
 @cindex menu, WinConfig
 @item Win/
-Window configuration management, such as adding and restoring window
-configurations by name.  @xref{Window Configurations}.
+Window configuration management commands, such as adding and restoring
+window configurations by name.  @xref{Window Configurations}.
 
 @end table
 
@@ -3464,7 +3477,7 @@ Unbury the bottom buffer in the buffer list and display 
it in the
 selected window.
 
 @cindex swapping
address@hidden buffer, swapping
address@hidden buffer, swap
 @kindex screen, ~
 @kitem ~
 Swap two buffers between the selected window or frame and one other.
@@ -3473,9 +3486,7 @@ frame.  In FRAMES mode, the second frame must have a 
single window.
 
 @cindex zooming
 @cindex window, zoom
address@hidden zoom window
 @cindex frame, zoom
address@hidden zoom frame
 @findex zoom-frm.el
 @kindex screen, Z
 @kitem Z
@@ -5580,8 +5591,8 @@ intervention is required.
 @node Operational and Storage Formats, Programmatic Button Creation, Button 
Label Normalization, Explicit Button Technicalities
 @subsection  Operational and Storage Formats
 
address@hidden explicit button, formats
address@hidden explicit button, storage
address@hidden explicit button formats
address@hidden explicit button storage
 @cindex storage manager
 @cindex button attributes
 @vindex hbut:current
@@ -6612,7 +6623,6 @@ To disable highlighting, change this setting in 
@file{hsettings.el} or
 use Hyperbole menu item, Cust/All-Options, and select the Hyperbole
 Buttons group to edit its options.
 
address@hidden button highlighting, forcing
 @findex hproperty:but-create
 If you read in a file with explicit buttons before you load Hyperbole,
 these buttons won't be highlighted.  Load Hyperbole and then use
diff --git a/man/version.texi b/man/version.texi
index d0caa08..f9a2794 100644
--- a/man/version.texi
+++ b/man/version.texi
@@ -1,4 +1,4 @@
address@hidden UPDATED November 6, 2017
address@hidden UPDATED November 15, 2017
 @set UPDATED-MONTH Nov 2017
address@hidden EDITION 6.0.2g
address@hidden VERSION 6.0.2g
address@hidden EDITION 7.0.0
address@hidden VERSION 7.0.0



reply via email to

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