ANNOUNCE: GNU Hyperbole 6.0.1 for Emacs 24.4 - 25 is released

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

ANNOUNCE: GNU Hyperbole 6.0.1 for Emacs 24.4 - 25 is released

Robert Weiner-2
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 first public release in 2016.  Hyperbole has
been greatly expanded and modernized for use with the latest Emacs 25
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.  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, "", 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 2016.

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.

*                          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 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;

* 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).

The GNU Hyperbole project home page gives a more extensive description:

*                          Package Installation

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:

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.

Otherwise, to download and install the Hyperbole package, add the following
lines to your personal Emacs initialization file, typically "~/.emacs".

(require 'package)
(setq package-enable-at-startup nil) ;; Prevent double loading of libraries
(unless (package-installed-p 'hyperbole)
  (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;

   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.

   use a specific Hyperbole command such as an Action Key click {M-RET} on
   a pathname to display the associated file or directory.

Use {C-h h d d} for an interactive demonstration of standard Hyperbole
button capabilities.

{C-h h k e} offers a interactive demonstration of the Koutliner,
Hyperbole's multi-level autonumbered hypertextual outliner.

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

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:

"man/"   - online Info browser version
"man/hyperbole.html"   - web HTML version
"man/hyperbole.pdf"    - printable version
"man/hyperbole.texi"   - source form

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:

*                           User Quotes

  *** MAN I love Hyperbole!!!  Wow! ***

                        -- Ken Olstad
                           Cheyenne Software, Inc.


  I *love* koutlines.

                        -- Bob Glickstein
                           Z-Code Software Corporation


  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


   The Hyperbole system provides a nice interface to exploring corners of
   Unix that I didn't know existed before.

                        -- Craig Smith

*                 What's New in GNU Hyperbole

NOTE: Version 6.0.1 is the first public release by the author, Bob Weiner,
since version 4.18.  All version 5 releases made this year were test releases,
so you should look through all of the V5 news items to understand all that is
new in V6 as well.  In other words, all news items listed below are new for

*                            V6.0.0 - V6.0.1


    - The Hyperbole contact manager has been renamed to HyRolo and all of its
      identifiers now begin with hyrolo-.  If you had a custom value of
      `rolo-file-list' in your ~/.emacs file, you should rename it to


    - Removed the {RET} key bindings of the Action Key in read-only modes since
      it was not consistent across all modes and probably was little used.  It
      also could interfere with mode-specific usage of this key.  Just use the
      standard Action Key bindings.


    - Implicit mail address buttons are recognized in many more programming
      modes.  See the value of `mail-address-mode-list'.


    - Hyperbole is now integrated with the Emacs option customization system,
      allowing for interactive editing and permanent setting of many Hyperbole
      options.  Use {M-x customize-browse RET} and find the Hyperbole group
      under Applications.  Hyperbole's options are divided into logical
      subgroups such as Rolo and Koutliner.  See "(emacs)Easy Customization"
      for details on the customization system and "(hyperbole)Configuration"
      for Hyperbole specifics.

    - Renamed any Hyperbole hook variables that had a colon in their names to
      use a hyphen instead.

    - hsite.el is now included in the Hyperbole package rather than generated.
      Use the Hyperbole customization variables to change anything in there
      rather than editing the file manually as before.


    - Similarly, the commands from the Win/ menu from Wconfig have been renamed
      to begin with hywconfig- and the library is now called hywconfig.el.

*                                   V5.15


    - New Implicit Button Type, debbugs-gnu-mode: When on a GNU Debbugs listing
      entry in debbugs-gnu-mode, an Action Key press displays the discussion of
      the selected issue; an Assist Key press pretty prints the status of the
      issue to a window below the listing window.  This augments the
      debbugs-gnu-query implicit button type from V5.14 which recognizes
      bug/issue ids and queries in any buffer.

    - Initial Org Mode Support: The new implicit button type, org-mode, follows
      Org mode hyperlinks and cycles display views of Org mode outline headings.
      When on a heading, the Action Key cycles the view of the subtree at point
      and the Assist Key cycles the view of all headings in the buffer.

      Suggest other good ideas for Smart Key actions on Org entities and we'll
      likely implement them.

    - Links to Info Manual Index Items: You can now drag between windows with
      the Action Mouse Key depressed to an Info Manual index menu entry to
      create an explicit button link to it (or use {C-h h e c} with an action
      type of link-to-Info-index-item).  Then the button will always take you
      to the line in the manual referenced by that index item.  This also works
      with other Info menu items and cross-references.  Implicit buttons that
      reference index items work too, like "(hyperbole)C-c C-m"!  And when you
      are creating the link, full completion of the file name (within
      parentheses) and the index item name is provided; just type ? to list
      completions after typing a few characters.  Since Emacs and most GNU
      programs include Info manuals, you now ​have ​a simple way to link to and
​      ​jump​ ​to any marked item within any manual.
      Previously, when creating a link to an Info manual node, Hyperbole
      would ignore cross-references and menu items and just link directly
      to the node rather than anything it referenced.  To get that behavior
      now, simply link to a place in the node that does not reference another

    - Link Button Creation: Hyperbole now shows you what you linked to at
      global or explicit link button creation time.  Previously, it showed you
      only the type of the link.  So if you drag across windows from a button
      label to an Info index item now, you will know that the link goes to the
      index item entry and not to the index node containing the item reference.

    - New Implicit Button Type, pathname-line-and-column: A whitespace or quote
      delimited existing pathname followed by a :line-num and an optional
      :column-num displays the path at line-num and column-num.  So
      "~/.emacs:10:40" shows your Emacs initialization file at line 10 and
      column 40.  The column number is optional.​

    - GNU Info Manual Key Sequences: Previously, Hyperbole recognized​ ​key
      sequences delimited by curly braces only, {}.  Now it recognizes​ the​
      ​quotation ​marks used in GNU Info manuals as well and can execute them
      with an Action Key press within Info buffers.

    - Imenu Item Recognition: When the Emacs imenu library is in use and an
      identifier menu has been generated for the current buffer, an Action Key
      press on an identifier at point jumps to the identifier definition
      within the current buffer; an Assist Key press prompts with completion
      for an identifier defined within the buffer and then jumps to its


    - Smart Key Debugging: Added a section, "(hyperbole)Smart Key Debugging",
      to the Hyperbole Manual, documenting the usage of the Customize Menu
      option, Toggle-Smart-Key-Debug (minibuffer menu Cust/Debug-Toggle,
      {C-h h c d}).


    - Toggle Hyperbole Keys: The new command, {M-x hyperbole-toggle-bindings
      RET}, toggles Hyperbole mouse and keyboard keys off and on.  This is not
      bound to a key because it will make Hyperbole unusable until the keys are
      re-established with another toggle.  This forces you to know what you are
      doing before you utilize this feature.


    - Minibuffer Keyboard Direct Selection:  You have always been able to click
      with your mouse on a minibuffer menu item to directly select it.  Now
      Hyperbole has the keys {TAB} or {M-f} to move to the next menu item and
      {Shift-TAB}, {M-TAB} or {M-b} to move to the previous item, with each
      cycling back when it reaches the end or beginning of the menu.  The
      fastest way to select minibuffer menu items from the keyboard remains
      typing the first letter (case-insensitive) of the menu item.

    - Minibuffer Menu Navigation Changes: A press of {RET} with point at the
      end of a menu, quits from the menu.  {RET} with point in a menu prefix
      (before the '>' character), returns to the top-level Hyperbole menu.
      Clicks of the Action Mouse Key do the same thing, so now you can
      navigate and quit from menus with just the Action Mouse Key.

*                               V5.13 and V5.14


    - Instant Bug Lookups and Queries: New Gnu Debbugs bug/issue tracking
      implicit button type, debbugs-gnu-query, that jumps to the description
      and discussion of issues by issue number and displays an issue's status.
      This works for the GNU Hyperbole issue tracker as well as many other GNU
      projects.  All of these button formats may be embedded within any text:

                bug#id-number, bug# id-number, bug #id-number or bug id-number

      Note that `issue' or `debbugs' may be used in place of `bug'.

      See the documentation at the start of "hib-debbugs.el" for more

    - During the creation of link-to-Info-node explicit buttons with an
      argument of the type (filename)nodename, full completion is offered for
      both the filename and the node name; just type ? to list completions
      after typing a few characters.  You now can drop the .info suffix from
      filenames as well, so "(hyperbole)Smart Keys" works fine as a node

    - Implicit links from the output of the UNIX apropos command now work
      properly in Emacs 25.

    - Implicit pathname matches now handle compressed Emacs Lisp files found
      anywhere within the directories of `load-path' and do not try to expand
      paths that begin with a ~.

    - New variable, `hpath:info-suffix', is a regular expression of Info
      filename suffixes which may be ommitted when using parenthesized Info
      filenames in links; this allows for compressed Info file matches and Info
      pathnames of the form "(Hyperbole)" to work.  That displays the top node
      of the Hyperbole Manual in the Info browser.

    - Pathnames ending in .mp3, .wav or .ogg are played as music files rather
      than displayed if your Emacs has support for this.  Modify the value of
      the variable, `hpath:internal-display-alist' to add more formats.

    - New per-window system association list variables determine what if any
      file types within Hyperbole hyperlinks are displayed by external programs
      outside of Emacs.  See the values of and documentation for:
      `hpath:external-display-alist-macos', `hpath:external-display-alist-mswindows',
      and `hpath:external-display-alist-x'.

    - Added support for &, ~, and ^ as identifier characters in Lisp tags and
      removed #.


    - DEMO File: Major updates to reflect the latest Hyperbole features.  Added
      sections on HyControl, Creating and Modifying Explicit Buttons and
      Path Suffixes and Variables.  Try it out with {C-h h d d}.

    - Hyperbole Manual
        - Updated all screenshots in the manual; thanks to Mats L.
        - In the "(hyperbole)Internal Viewers" section, added a description of
          the file formats supported by the default setting of the
          `hpath:internal-display-alist' variable.
        - Added sections "(hyperbole)Smart Key Modifiers" and
          "(hyperbole)Smart Key Modeline".
        - Added a "(hyperbole)Glossary" entry for Chord Keyboard.
        - In "(hyperbole)Smart Key Thing Selection", added documentation of the
          {C-c RET} key for syntactical region marking and the {C-c .} key for
          delimited thing jumping between start and end.
        - In the Cust/ menu section of "(hyperbole)Menus" which lists all
          Hyperbole key bindings, indicated which keys are bound only if not
            bound prior to loading Hyperbole.


    - Frame placement calculations now account for window system decorations
      around frame, leading to improved placement offsets around screen edges.
      See the documentation for `hycontrol-set-screen-offsets'.


    - On the Hyperbole menubar menu, the Types submenu which shows
      documentation for Hyperbole types has been moved below the Documentation
      menu to match the Hyperbole minibuffer menu location.  Also added a Types
      menu item under the Explicit-Button menu to match the one under the
      Implicit-Button menu.

    - On the Hyperbole Customize/Change-Key-Bindings menubar menu, renamed
      these entries and added Mark-Think-Key.  Similar updates done to the
      minibuffer menu.


    - An Action Key press on a Hyperbole minibuffer menu key sequence now
      invokes the associated menu action.  Try it with {C-h h d g} to see the
      Hyperbole glossary.  An Assist Key press shows help for the menu item.

    - Changed the `assist-key-default-function' which applies in an unrecognized
      context to trigger an error by default to match the behavior of the
      Action Key.  Its prior value, toggle display of or hide the Smart Key
      summary, is performed by an Assist Key click in the right of a modeline
      or via minibuffer menu with {C-h h d s}.

    - Point is now left within the Smart Key summary by default and it is in
      help mode so you can page through it with SPC and DEL keys and then quit
      from it with {q}.

    - A click of the Action Mouse Key within an inactive minibuffer menu
      displays the Hyperbole minibuffer menu, allowing you to invoke menu
      entries with the mouse.  A click of the Assist Key in the same place
      displays the buffer, window and frame jump menu just as does a click
      within the middle of a modeline since it is easy to miss by a little and
      click on one or the other.  These behaviors are controlled by the new
      variables, `action-key-minibuffer-function' and

    - Distributed Window System Support: Previously, Hyperbole supported mouse
      control only on the screen on which it was launched.  If you used
      emacsclient or other means to create a frame on another screen or outside
      of a terminal, that frame would not have Hyperbole mouse support even
      though it was under a window system.  Now each frame receives mouse
      support whenever its window system has mouse support.

    - Improved support for using the Action and Assist Mouse Keys as Control-
      and Meta- modifier keys, mainly for use with a chord keyboard or to
      balance hand use to reduce carpal tunnel stress.  Made `hmouse-mod-mode'
      a regular minor mode.  See "(hyperbole)Smart Key Modifiers" for more


    - Fixed entry sorting to work with Emacs 25.

*                                   V5.12


    - Prevented keyword matches as identifiers in Java, C++, C, Objective-C
      and Python.

    - Prevented @ annotation matches when matching to Java identifiers/tags.

    - In Info documentation browsing mode, added support for index nodes and
      for fixed header line and text-property-based breadcrumb header lines
      now used in Emacs, so the Action Key can now follow links associated
      with all of these entities.

    - In compilation buffers, e.g. {M-x make RET}, if an error line has a
      relative pathname which Hyperbole cannot resolve, it will prompt
      for the directory in which to resolve the path.


    - Added printable hyperbole.pdf version of the Hyperbole Manual.

    - DEMO file: Updated horizontal and vertical drag exercises to
      correspond to current Hyperbole behavior.

    - Added chapter on HyControl, window, frame and buffer control.

    - In the Hyperbole Manual Glossary, added Buffer, Frame, HyControl
      and Window definitions.

    - Added additional Q&A in an appendix.

    - Clarified and fixed Smart Key modeline behavior documentation.

    - Made example text larger for easier reading.

    - Added Screen definition to the Glossary.


    - Hyperbole now includes the fastest, easiest-to-use Emacs window and frame
      management system available; we call it HyControl.  If you use a lot of
      Emacs windows or frames (typically, window system windows), this is for
      you.  HyControl lets you interactively adjust the current layout of your
      windows and frames down to the pixel-level if desired.  You keep
      adjusting the location, size and display elements of your windows and
      frames until they look as you like and then you simply quit HyControl and
      go back to work.

    - Expanded Hyperbole menu of buffers by major mode to allow for
      `hui-menu-max-list-length' number of buffers, by default, 24.

    - Made a right to left horizontal drag from near a right-side window divider
      properly shrink the window width under Emacs 25.


    - The Hyperbole Screen submenu provides access to HyControl as well as the
      key binding {C-c \}.

    - Removed {C-c C-t} hmouse-toggle-bindings key binding.  This
      should be used rarely, so force use of {M-x hmouse-toggle-bindings RET).

    - Updated "hmouse-mod.el" library for Emacs 25; it allows using the Smart
      Mouse Keys as Control and Meta modifiers when desired.


    - Improved recognition of Klinks, preventing false matches.

    - Added missing {C-c C-i}/{C-c TAB} binding mentioned in the EXAMPLE.kotl
      file; sets cell attributes.

    - {C=t} Transpose characters - Added error checks at the beginning of cells
      and end of lines for times when there are not 2 chars to transpose.

    - Improved {M-s} interactive string searching for rolo match buffer strings.
      Made {C-u M-s} to a regexp search for rolo match buffer strings.

    - Documented the {l} hyrolo-locate command in the Hyperbole manual.

    - The format of the rolo entry date added to new entries is now configurable
      via the variable, `hyrolo-date-format'.  It uses the formatting
      strings listed in the documentation of the function `format-time-string'.

    - All rolo find and search commands are now case-insensitive.

    - Using a numeric prefix argument with rolo find commands now
      properly limits the number of matches to a maximum of that number.

    - If the Big Brother Database (BBDB) is loaded before the rolo, its
      `bbdb-file' is added to the list of files searched by the rolo.
      You can manually added this file to `hyrolo-file-list' as well and
      its format will automatically be handled by the rolo.

*                                   V5.11


    - Improved support for remote pathname access (outside local


    - Much faster and better lookup of active Emacs Lisp identifiers
      when the Action Key is pressed over one.  Face definitions are
      also found now.  TAGS files are used only if the identifier has
      not been loaded within the current Emacs session.


    - Proper support for isearch temporary display of invisible text
      when it contains a search match.  {C-s}, interactive search,
      expands and contracts text dynamically to show any search
      results, just as it does in the regular Emacs outline mode.  You
      can toggle whether such searches include invisible/hidden text
      (the default) or not.  Use the
      Customize/Toggle-Isearch-Invisible-Text menubar item or the
      Cust/Isearch-Invisible minibuffer menu item to toggle this


    - New variable, `inhibit-hyperbole-messaging' with default value
      of t inhibits Hyperbole's support for explicit buttons within
      mail and news buffers.  When t, Hyperbole will not alter
      messaging mode hooks nor overload functions from these packages,
      preventing potential incompatibilities.

      If you want to use Hyperbole buttons in mail and news buffers,
      use the new Customize/Toggle-Messaging-Explicit-Buttons menubar
      item or the minibuffer menu Cust/Msg-Toggle-Ebuts item.  These
      not only change the variable value but also add or remove the
      setup hooks as necessary.

    - New {o} key binding for an overview of all Rolo matches at all
      levels, one line per entry.

    - {t} top-level cells command works in all cases now.

    - {Shift-TAB} added as an additional key to move backwards one
      Rolo match.

    - Improved operation of {l} and {M-s C-s} commands that search for
      occurrences of match strings and allow extending the search term.

    - Support for looking up contacts in the Big Brother Database
      (BBDB) file of email addresses, when that package is used.
      The functions, hyrolo-grep-bbdb finds regular expression matches
      and hyrolo-fgrep-bbdb finds string matches.  All regular Rolo
      match buffer commands may then be applied. The {e} command for
      editing an entry signals an error when applied to the BBDB file,


    - The Assist Key when pressed in the middle portion of a modeline
      now pops up a very useful menu of display-oriented commands.
      Jump to buffers categorized by major mode, to windows by buffer
      name, or to frames by name.  Manage your windows and frames
      quickly with this menu as well.  Another can't live without
      feature.  This comes from the new file, hui-jmenu.el.

    - Added Python etags support for jumping to Python definitions.
      With the separate OO-Browser package, definition location is
      much better than just with etags.
      See "(hyperbole)Smart Key - Python Source Code" for help.

    - The Hyperbole Manual Smart Key Reference appendix now has a
      subsection for each context, allowing quick reference of a
      particular Smart Key context.  Also, added documentation for
      delimited thing selection, copying and moving.

    - New function, hyperbole-popup-menu, to display the Hyperbole
      menubar menu at the mouse point (or the left of the menubar when
      running on a dumb terminal).  This is useful as a setting
      of `action-key-default-function' if you want some undefined
      Action Key context to popup this menu in order to use Hyperbole

*                                   V5.10


    - Hyperbole now downloads, builds and installs as a regular
      Emacs package (but from a special archive location while pre-testing).

    - Automatic time-zone handling under MS Windows (already existed
      for UNIX-like operating systems).  Plus support for 3 mouse
      buttons under Windows.


    - Updated the extended find-file commands which handle http (www) and ftp
      URLs to support the Tramp library included with newer versions of Emacs.
      Use the menu item Hyperbole/Customization/Find-File-Accepts-URLs to
      enable or to disable this.  See "(hyperbole)Using URLs with Find-File"
      for details.


    - Editing commands that normally delete/replace an active region
      now do this in the Koutline.  If a region extends beyond one
      cell, an error is triggered or if `kotl-mode:shrink-region-flag'
      is set to t, the Koutliner automatically shrinks the region to
      the first cell within the region and then continues the editing

    - Updated yanking and other editing commands for improved
      compatibility with Emacs 25.

    - Internal improvements to many tree handling, filling and view
      changing commands.

    - New Shift-TAB key binding to demote trees (shift them up a
      level), for compatibility with other outliners.


    - The new Find/Locate-Files menu item (minibuffer menu
      Find/LocateFiles) prompts for a pattern and displays a list of
      all matching pathnames found throughout the file system.  On Mac
      OS X, this uses Spotlight (the mdfind command); on UNIX, it uses
      the `locate' command.  Within the result *Locate* buffer, you
      can then use the Find/Grep-Files menu item to find matching
      lines within only these paths (files and directories).


    - Action Key now ignores JavaScript keywords when searching for
      identifiers to match.

    - Commands that interactively prompt for a Koutline cell label now
      offer completion and require a match to a visible outline cell.
      This helps prevent operating on an invisible cell unintentionally.


    - Selection of open/close matched tag pairs and jumping between
      them now works in web-mode, which supports multiple web
      languages within one file (previously only html-mode was
      supported).  Also, can now select chained identifiers like:
      parent.child.subchild in html and web modes with the {C-c
      RETURN} thing selection key.

    - Can now select comments when at a comment start; try it with
      the Action Key.

    - Can now select Lisp symbols with colons in them within help
      buffers since they often appear there.


    - hyperb:init-hook renamed to hyperbole-init-hook, a more standard name.
      See the GNU Hyperbole Manual for its usage.

*                                   V5.09


    - The Window-Configuration menu (minibuffer Win/ menu) now stores and
      restores frame-specific window configurations, allowing each frame to be
      dedicated to different types of work or groups of buffers.


    - Installation is greatly simplified.  A single emacs initialization line
      of the form:  

        (require 'hyperbole (expand-file-name "hyperbole" "<HYPERBOLE-DIR>/")

      loads and initializes Hyperbole.  Please change your site-wide or
      personal initialization to this.  (No more setting of hyperb:dir and
      load-path nor copying of hsite-ex.el to hsite.el is required; Hyperbole
      does this for you).


    - A new Customize Menu option, Toggle-Smart-Key-Debug (minibuffer menu
      Cust/Debug-Toggle, {C-h h c d}), displays a message in the minibuffer
      every time the Action Key or Assist Key is pressed, showing the context
      of the press and its associated action, allowing you to easily see
      what is happening whenever you use a Smart Key.

      These messages are all prefaced with "(HyDebug)" and are accumulated in
      the *Messages* buffer for later viewing.

    - Smart Keys work in any completion buffer now, e.g. the ido.el completion

    - Horizontal and vertical mouse drags within a single window, that do not
      begin on a thing delimiter, are now simpler and more consistent.  An
      Action Key drag splits the window either below (horizontal drag) or
      side-by-side (vertical drag).  An Assist Key drag deletes the window.

    - Hyperbole no longer uses the right mouse button, so it is free for popup menus.
      The Assist Mouse Key is always on the Shift-Right mouse button as well as
      on a C-u prefix to the Action Mouse Key.

    - A new setting, `hmouse-middle-flag', when set to t (true) before Hyperbole
      is loaded adds the middle mouse key as an Action Key.  InfoDock does this
      by default.

    - ibuffer-mode, the dired-like menu listing for buffers, is now supported
      by the Smart Keys; it behaves similarly to that of Buffer-menu-mode.

    - Xref item listing mode is now supported by the Smart Keys; The Action
      Key displays an xref file line or just a file containing an xref.
      The Assist Key displays the same but leaves point in the listing buffer.
      Xref is a built-in Emacs package that displays definitions and
      cross-references of identifier strings.  It is similar to etags, but
      more general.


    - Now compatible with the latest version of outline.el (using invisible overlays).

    - All menus for the Hyperbole auto-numbered outliner, called the Koutliner,
      now begin with 'K'.  Some used to start with 'O'.  To edit the example
      Koutline, use {C-h h k e}.

    - {C-c C-a}  - Show-all, expand all cells nihe current view.
      {C-c C-o}  - Overview, show only first line of outline cells.
      {C-c C-t}  - Top-level, hide all cells below level 1 and show
                   only the first line of each level 1 cell.

      By default, these commands no longer affect the display of blank lines
      between cells.  But if given a prefix argument, they toggle blank
      lines display for quick view changes.

    - Values of `user-mail-address' or `message-user-fqdn' are now
      used to set the creator and modifier names in Koutline cells.


    - The menu item that composes mail to the bug-hyperbole mail list now
      includes any (HyDebug) messages output when the Hyperbole configuration
      option, hkey-debug is enabled (via the Customize Menu or via
      {C-h h c d}).

*                                   V5.08


    - Added web version of the Hyperbole Manual.


    - Action Key presses on Texinfo menu items and @node item references now
      display the associated Texinfo node.  @code and @var references to Emacs
      Lisp identifiers now show the documentation for the identifiers.  As
      before, cross-references and file includes show the referenced items;
      keyboard key sequences invoke their associated bindings.

    - Action Key press on an Emacs push button activates the button.  An Assist
      Key press shows help for the button.


    - Delimited things, including lists, comments, strings, arrays/vectors,
      sets, functions and markup pair tags (e.g. <div> </div>), may now be
      selected, copied or moved with the Action and Assist mouse and keyboard
      keys whenever point is on the first character of the starting or ending
      delimiter.  For strings and comments, point must be on the first line.

    - New {C-c .} binding that jumps between the start and end delimiters of
      delimited things.  Try it on matching markup tag pairs in HTML and SGML
      modes.  If point is not immediately before or after a delimiter, this
      generally does nothing.

    - New {C-c RET} binding selects bigger and bigger syntactical units within
      a buffer with each successive invocation.  Double clicks of the left
      mouse button do the same thing.  Try it, you'll like it.

*                                   V5.07


    - Support for the latest pre-releases of Emacs 25 and new versions of


    - URL handling updated along with customization menus to support most
      popular web browsers in use.

    - Action Key on a mailto: URI starts composing mail to that address.

    - When testing file formats/suffixes for an external viewer in
      which to display the file, as a fallback, a MIME system mailcap
      file is used to find additional possible viewers.  See
      "" for information on mailcap files.

    - Jump to JavaScript identifier definitions.

    - History, {C-h h h}, now restores full multi-window and multi-frame display
      configurations (within a single Emacs session), rather than just returning
      to a prior location in a buffer.

    - Type {q} in a Hyperbole Help buffer hide that buffer and return to your prior


    - By default, Hyperbole now removes any mode-specific, local key
      bindings that conflict with the global Smart Key bindings
      (typically {Meta-Return}). Use the Customize/Toggle-Override-Local-Keys
      to disable (or re-enable) this feature.


    - When running under InfoDock, its Go and Options menus now appear within
      the Koutliner menu.

    - With a prefix argument, Koutlines are exported to HTML with soft newlines
      rather than hard newlines, so text will flow based on browser window size.
      This option will remove line-by-line formatting within a cell, however.


    - New Find menu which can reduce a buffer to just matching or non-matching
      lines, run the 'grep' or 'fgrep' utilities on a file directory tree, or
      list matching lines in the current buffer or across all buffers with
      attached files.

    - Renamed Customization menu to Customize.

    - New Customize/Change-Key-Bindings menu lets you rebind any Hyperbole
      keys for your current emacs session.

-- The End --