[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 671408e 38/53: Prep and bug fixes for next ma
From: |
Robert Weiner |
Subject: |
[elpa] externals/hyperbole 671408e 38/53: Prep and bug fixes for next major release; fixed Smart Mouse Key point location issue; renamed to kotl/kotl-autoloads.el |
Date: |
Wed, 15 Nov 2017 22:47:06 -0500 (EST) |
branch: externals/hyperbole
commit 671408ee961cbcc78d9c3523852791204fa329b4
Author: Bob Weiner <address@hidden>
Commit: Bob Weiner <address@hidden>
Prep and bug fixes for next major release; fixed Smart Mouse Key point
location issue; renamed to kotl/kotl-autoloads.el
* man/hyperbole.texi (Version): Updated to 6.0.2g and rebuilt output
formats.
* hui-window.el (hmouse-prior-active-region): Changed to call use-region-p
rather than active-region-p, for a tighter test.
This is used as a predicate; fixed bug that moved point, causing Smart
Key release logic to use the wrong point.
* hmouse-key.el (hmouse-add-unshifted-smart-keys): Removed GNU Emacs-only
dependencies.
* kotl/kotl-autoloads.el: Renamed from kotl/kotl-loaddefs.el to match
package autoload naming scheme.
* hmouse-sh.el (hmouse-unshifted-setup): In Info-mode, Emacs uses
key-translation-map to link mouse-1 to do whatever
mouse-2 does but because Hyperbole uses both down and up bindings on
mouse2, this does not work. So we rebind
mouse-1 and double-mouse-1 in Info mode to be actual Action Mouse Keys
(which makes them follow Info
links/cross-references properly, doing a superset of what they did
before).
(hmouse-posn-set-point): Added to handle frames rather than
windows returned by some events; used in
hmouse-move-point-emacs.
* hui-mouse.el (hmouse-tag): Added require of hmouse-info and hmouse-tag
for smart-info, smart-lisp etc. when autoload
file is not available.
* hmouse-sh.el (hmouse-bind-key-emacs):
hui-select.el (hui-select-initialize): Added missing double-down-* and
triple-down-* bindings.
2017-10-31 Bob Weiner <address@hidden>
* hyperbole.el (hyperb:init): Added an "Initializing Hyperbole..." message
at the beginning of this function.
Removed 'Hyperbole loading' message at the beginning of this file since
Emacs load function outputs a similar
message. Moved Hyperbole 'ready for action' message here rather than
at the end of this file since Hyperbole
initialization may be deferred until after Emacs initializaton time.
Hyperbole init. is complete only after
this function is run.
2017-10-30 Bob Weiner <address@hidden>
* man/hyperbole.texi (Glossary): Removed mention of old remote file access
packages: ange-ftp and EFS. Use Tramp only
now.
(Searching and Summarizing): Renamed from Location.
* hpath.el (hpath:remote-at-p): Fixed to return /ftp: pre-pended to ftp
paths since Tramp requires it.
* hibtypes.el (mail-address): Made lower priority than pathname so when an
email-like address@hidden is part of a remote
pathname, this won't trigger.
* hpath.el (hpath:rfc): Prepended /ftp: to value so tramp recognizes it as
a remote file path.
* man/hyperbole.texi (Smart Mouse Key Modifiers):
hmouse-mod.el: Disabled this feature since it conflicts with present
Emacs bindings of Control- and Meta- mouse keys.
* hui-mini.el (Doc/Manifest):
hui-menu.el (Documentation/Manifest): Changed to use
hypb:display-file-with-logo so can quit after viewing.
* hversion.el (id-browse-file): Changed alias from find-file-read-only to
view-file.
hui-mini.el (Doc/SmartKeys): Changed command used to match that used when
same doc is displayed with a click at the right
of a modeline.
* man/hyperbole.texi (Smart Keys): Added section on Smart Mouse Key Drags
to match those in the DEMO file.
(Global Key Bindings): Replaced hkey-toggle-bindings
with proper reference to
hyperbole-toggle-bindings.
(Smart Key Bindings): Included
hyperbole-toggle-bindings (toggles keyboard and mouse keys)
rather than hmouse-toggle-bindings (toggles only mouse keys); moved the
latter to the Global Key Bindings appendix.
---
Changes | 61 ++
DEMO | 60 +-
HY-ABOUT | 15 +-
HY-ANNOUNCE | 4 +-
HY-ANNOUNCE-SHORT | 4 +-
HY-NEWS | 4 +-
Makefile | 14 +-
README | 2 +-
README.md | 4 +-
README.md.html | 4 +-
hactypes.el | 10 +-
hib-doc-id.el | 2 +-
hib-social.el | 6 +-
hibtypes.el | 115 ++-
hmouse-drv.el | 4 +-
hmouse-key.el | 12 +-
hmouse-mod.el | 9 +
hmouse-sh.el | 63 +-
hpath.el | 9 +-
hui-menu.el | 2 +-
hui-mini.el | 4 +-
hui-mouse.el | 12 +-
hui-select.el | 2 +
hui-window.el | 8 +-
hversion.el | 4 +-
hypb.el | 2 +-
hyperbole-pkg.el | 2 +-
hyperbole.el | 29 +-
kotl/{kotl-loaddefs.el => kotl-autoloads.el} | 6 +-
dir => man/dir | 0
man/hyperbole.html | 1378 +++++++++++++++-----------
man/hyperbole.info | Bin 463350 -> 474100 bytes
man/hyperbole.pdf | Bin 817430 -> 824446 bytes
man/hyperbole.texi | 1107 ++++++++++++---------
man/version.texi | 8 +-
35 files changed, 1747 insertions(+), 1219 deletions(-)
diff --git a/Changes b/Changes
index bb3720c..f62427c 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,64 @@
+2017-11-01 Bob Weiner <address@hidden>
+
+* man/hyperbole.texi (Version): Updated to 6.0.2g and rebuilt output formats.
+
+* hui-window.el (hmouse-prior-active-region): Changed to call use-region-p
rather than active-region-p, for a tighter test.
+ This is used as a predicate; fixed bug that moved point, causing Smart Key
release logic to use the wrong point.
+
+* hmouse-key.el (hmouse-add-unshifted-smart-keys): Removed GNU Emacs-only
dependencies.
+
+* kotl/kotl-autoloads.el: Renamed from kotl/kotl-loaddefs.el to match package
autoload naming scheme.
+
+* hmouse-sh.el (hmouse-unshifted-setup): In Info-mode, Emacs uses
key-translation-map to link mouse-1 to do whatever
+ mouse-2 does but because Hyperbole uses both down and up bindings on
mouse2, this does not work. So we rebind
+ mouse-1 and double-mouse-1 in Info mode to be actual Action Mouse Keys
(which makes them follow Info
+ links/cross-references properly, doing a superset of what they did before).
+ (hmouse-posn-set-point): Added to handle frames rather than
windows returned by some events; used in
+ hmouse-move-point-emacs.
+
+* hui-mouse.el (hmouse-tag): Added require of hmouse-info and hmouse-tag for
smart-info, smart-lisp etc. when autoload
+ file is not available.
+
+* hmouse-sh.el (hmouse-bind-key-emacs):
+ hui-select.el (hui-select-initialize): Added missing double-down-* and
triple-down-* bindings.
+
+2017-10-31 Bob Weiner <address@hidden>
+
+* hyperbole.el (hyperb:init): Added an "Initializing Hyperbole..." message at
the beginning of this function.
+ Removed 'Hyperbole loading' message at the beginning of this file since
Emacs load function outputs a similar
+ message. Moved Hyperbole 'ready for action' message here rather than at
the end of this file since Hyperbole
+ initialization may be deferred until after Emacs initializaton time.
Hyperbole init. is complete only after
+ this function is run.
+
+2017-10-30 Bob Weiner <address@hidden>
+
+* man/hyperbole.texi (Glossary): Removed mention of old remote file access
packages: ange-ftp and EFS. Use Tramp only
+ now.
+ (Searching and Summarizing): Renamed from Location.
+
+* hpath.el (hpath:remote-at-p): Fixed to return /ftp: pre-pended to ftp paths
since Tramp requires it.
+
+* hibtypes.el (mail-address): Made lower priority than pathname so when an
email-like address@hidden is part of a remote
+ pathname, this won't trigger.
+
+* hpath.el (hpath:rfc): Prepended /ftp: to value so tramp recognizes it as a
remote file path.
+
+* man/hyperbole.texi (Smart Mouse Key Modifiers):
+ hmouse-mod.el: Disabled this feature since it conflicts with present Emacs
bindings of Control- and Meta- mouse keys.
+
+* hui-mini.el (Doc/Manifest):
+ hui-menu.el (Documentation/Manifest): Changed to use
hypb:display-file-with-logo so can quit after viewing.
+
+* hversion.el (id-browse-file): Changed alias from find-file-read-only to
view-file.
+ hui-mini.el (Doc/SmartKeys): Changed command used to match that used when
same doc is displayed with a click at the right
+ of a modeline.
+
+* man/hyperbole.texi (Smart Keys): Added section on Smart Mouse Key Drags to
match those in the DEMO file.
+ (Global Key Bindings): Replaced hkey-toggle-bindings with
proper reference to
+ hyperbole-toggle-bindings.
+ (Smart Key Bindings): Included hyperbole-toggle-bindings
(toggles keyboard and mouse keys)
+ rather than hmouse-toggle-bindings (toggles only mouse keys); moved the
latter to the Global Key Bindings appendix.
+
2017-10-27 Bob Weiner <address@hidden>
* man/hyperbole.css: Added to format HTML version of the Hyperbole manual like
the Hyperbole web page, greatly improving
diff --git a/DEMO b/DEMO
index bfa6a51..7134893 100644
--- a/DEMO
+++ b/DEMO
@@ -148,9 +148,9 @@ generated it.
* Koutliner
-A unique feature of Hyperbole for those who like to outline thoughts and be
-able to easily identify each outline entry and hyperlink to it is the
-Koutliner.
+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
@@ -172,12 +172,13 @@ alphabetical order the Koutliner commands which are bound
to keys.
Hyperbole includes the fastest, easiest-to-use Emacs window and frame
management system available, HyControl, found under the Hyperbole Screen
-menu. If you use a lot of Emacs windows or frames (typically, window system
-windows) then this tool is for you. A long video demonstrating most of
-HyControl's features is available at https://youtu.be/M3-aMh1ccJk.
+menu, {C-h h s}. If you use a lot of Emacs windows or frames (native
+window system windows), then this tool is for you. A long video
+demonstrating most of HyControl's features is available at
+https://youtu.be/M3-aMh1ccJk.
HyControl interactively adjusts the layout of your windows and frames down
-to the pixel-level if desired. You adjust the location, size and display
+to the pixel-level, if desired. You adjust the location, size and display
elements of your windows and frames until they look as you like and then
simply quit HyControl and go back to work. It has smart features for laying
out large grids of windows, avoiding having frames cover graphical toolbars
@@ -185,6 +186,10 @@ anchored at the edges of your screen, and allows you to
quickly set numeric
arguments to apply to operations, like resizing a frame to a percentage of
your screen size.
+There are two submodes of HyControl: one for controlling windows and one
+for controlling frames, although a number of commands are available in both
+modes where they are useful.
+
Hyperbole binds {C-c \} to invoke HyControl windows control; otherwise, the
Hyperbole minibuffer menu item, Screen/WindowsControl {C-h h s w}, will do
the same thing.
@@ -432,7 +437,7 @@ link to and jump to any marked item within any manual.
If you use the standard Emacs library "tramp.el" for working with remote
files and directories, then remote pathnames of the form:
- /address@hidden:/path
+ /protocol:address@hidden:/path
will be recognized by Hyperbole.
@@ -440,11 +445,10 @@ Once you have Tramp configured for loading and are on the
Internet, you can
click on any of the following to jump to the ftp site of Hyperbole tarball
distributions:
- "/address@hidden:/pub/gnu/hyperbole/"
- ftp.gnu.org:/pub/gnu/hyperbole/
+ /ftp:address@hidden:/pub/gnu/hyperbole/
-You can see that for Tramp pathnames, Hyperbole recognizes them with or
-without the double quote delimiters.
+For Tramp pathnames, Hyperbole recognizes them with or without double quote
+delimiters.
If you enable the Hyperbole option to use URLs when finding files with
the {C-x C-f} (find-file) command via the {C-h h c f} key sequence, then
@@ -824,6 +828,7 @@ USENET news messages has not yet been updated for use with
Emacs 24 and 25,
so these features are disabled by default. If you want to try them knowing
this, {C-h h c m} will toggle this feature on and off.
+
* Smart Mouse Keys
If you use Emacs with mouse support under the macOS window system, the X
@@ -875,7 +880,7 @@ somewhere outside of the thing, either within the same
window or within
another window. The thing will be copied to the point of release. If you
want to move a thing, simply perform the same drag but with the Assist
Mouse Key. Ensure that you do not move any explicit buttons from one
-buffer to another as that does not presently work.
+buffer to another as that does not work.
Try out some of these operations in HTML or source code files to see
how they can speed your editing.
@@ -940,7 +945,7 @@ the windows to change the buffer that it displays, so you
can tell the windows
apart. Then delete either one of the windows with a horizontal drag of the
Assist Key within the window. If you split windows many times and then
delete a number of the windows, you'll be left with windows of differing
-heights. Use {C-x +} to re-balance the heights of the remaining windows, so
+heights. Use {C-x +} to re-balance the sizes of the remaining windows, so
they are fairly even.
Now try a side-by-side window split. Drag vertically with the Action Key by
@@ -974,8 +979,7 @@ resize the frame to move the bottom up.
*** Swapping Buffers
Swapping buffer locations is quick and easy with Hyperbole. Simply drag from
-one window to another with the Assist Key (remember the Action Key creates
-buttons when you use the same drag).
+one window to another with the Assist Key (not the Action Key).
Split the current window into two, one above the other. Drag the upper
modeline so that one window is clearly bigger than the other. Now switch to
@@ -998,13 +1002,6 @@ If you want a new window where you release (so the
original destination window's
buffer stays onscreen), just drag to a window's modeline; that window will be
split before the buffer is displayed.
-*** Displaying File and Buffer Items
-
-You can do the same thing with items in dired, buffer menu and ibuffer menus
-rather than buffers themselves. Drag with the Action Mouse Key and the
selected
-item will be displayed in any Emacs window in which you release. Drag outside
-Emacs and it will be displayed in a new frame.
-
*** Cloning Windows
To clone a window with its buffer to a new frame, simply drag the Action Mouse
@@ -1014,16 +1011,21 @@ thing with the Assist Mouse Key and the original window
will be deleted as well,
unless it is the only window in that frame. Create a few windows and try these
actions.
-*** Summary
+*** Displaying File and Buffer Items
+
+You can do the same thing with items in dired, buffer menu and ibuffer menus
+rather than buffers themselves. Drag with the Action Mouse Key and the
selected
+item will be displayed in any Emacs window in which you release. Drag outside
+Emacs and it will be displayed in a new frame.
So now you can rapidly put a bunch of buffers and files on your screen wherever
you like. Typically, a brief visual pulse is shown first at the source item
and
then in the whole destination window, to help you see that the transfer has
been
-made. An Assist Key Drag will move the window with the item list to the
-destination, just as it does for other windows. Practice these drags as they
-will prove very beneficial across time.
+made. An Assist Key Drag will move the the item list buffer to the destination
+(swapping buffers), just as it does with other buffers. Practice these drags
as
+they will prove very beneficial across time.
-** Saving and Restoring Window Configurations
+** Window Configuration Drags
A window configuration consists of the set of windows within a single Emacs
frame. This includes their locations, buffers, and scrolled positions of
@@ -1104,7 +1106,7 @@ and dired modes too! Try it now.
Alternatively, you may display the buffer menu, use its {m} command to mark
buffers and then use the address@hidden command to display the marked buffers
in a grid
of popup windows whose number of rows and columns you specify at the prompt
-or via a prefix argument. This also works in ibuffer and dired modes.
+or via a prefix argument. This also works in ibuffer-menu and dired modes.
An Assist Key click in the blank center portion of a modeline pops up
a menu of convenient screen commands that lets you select buffers
diff --git a/HY-ABOUT b/HY-ABOUT
index 9fa6a0e..8812ff6 100644
--- a/HY-ABOUT
+++ b/HY-ABOUT
@@ -3,7 +3,7 @@
Designed and Written by Bob Weiner
Maintained by Mats Lidell and Bob Weiner
https://www.gnu.org/software/hyperbole/
- Version 6.0.2f
+ Version 6.0.2g
GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is
an efficient and programmable hypertextual information management
@@ -27,13 +27,12 @@ explains the many ways it differs from and is complementary
to Org mode.
Hyperbole consists of five parts:
- 1. 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.
+ 1. Buttons and Smart Keys: Hyperbole hyperlink and other kinds of
+ 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
diff --git a/HY-ANNOUNCE b/HY-ANNOUNCE
index 622cf5c..33eae11 100644
--- a/HY-ANNOUNCE
+++ b/HY-ANNOUNCE
@@ -1,5 +1,5 @@
To: address@hidden, address@hidden, address@hidden
-ANNOUNCE: GNU Hyperbole 7.0.0 is released for Emacs 24.4 and above
+ANNOUNCE: GNU Hyperbole 6.0.2g is released for Emacs 24.4 and above
The GNU Hyperbole home page, https://www.gnu.org/software/hyperbole,
contains a number of screenshots of Hyperbole and its menus and links to
@@ -41,7 +41,7 @@ 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 V7.0.0
+* What's New in GNU Hyperbole V6.0.2g
===========================================================================
See "https://git.savannah.gnu.org/cgit/hyperbole.git/tree/HY-NEWS".
diff --git a/HY-ANNOUNCE-SHORT b/HY-ANNOUNCE-SHORT
index 1142cf8..878c83d 100644
--- a/HY-ANNOUNCE-SHORT
+++ b/HY-ANNOUNCE-SHORT
@@ -1,5 +1,5 @@
To: address@hidden, address@hidden, address@hidden
-ANNOUNCE: GNU Hyperbole 7.0.0 is released for Emacs 24.4 and above
+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:
@@ -16,7 +16,7 @@ Hyperbole includes an interactive demo to introduce you to
its features and a
detailed reference manual.
===========================================================================
-* What's New in GNU Hyperbole V7.0.0
+* What's New in GNU Hyperbole V6.0.2g
===========================================================================
See "https://git.savannah.gnu.org/cgit/hyperbole.git/tree/HY-NEWS".
diff --git a/HY-NEWS b/HY-NEWS
index 6ea63ad..4308d0e 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -2,14 +2,14 @@
by Bob Weiner
===========================================================================
-* V7.0.0
+* V6.0.2g
===========================================================================
(See the "Changes" file for even more details of changes).
BUTTONS
- - a
+ -
DOCUMENTATION
diff --git a/Makefile b/Makefile
index 78596b7..49ee53a 100644
--- a/Makefile
+++ b/Makefile
@@ -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.2f
+HYPB_VERSION = 6.0.2g
# Emacs executable used to byte-compile .el files into .elc's.
# Possibilities include: emacs, infodock, xemacs, etc.
@@ -275,10 +275,10 @@ README.md.html: README.md
# Generate a Hyperbole package suitable for distribution via the Emacs package
manager.
pkg: package
-package: git-pull doc kotl/kotl-loaddefs.el
$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.sig
+package: git-pull doc kotl/kotl-autoloads.el
$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.sig
# Generate and distribute a Hyperbole release to GNU ELPA and ftp.gnu.org.
-# One step in this is to generate an autoloads file for the Koutliner,
kotl/kotl-loaddefs.el.
+# One step in this is to generate an autoloads file for the Koutliner,
kotl/kotl-autoloads.el.
release: package git-push $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.gz elpa ftp
@ echo; echo "Hyperbole $(HYPB_VERSION) released to elpa and
ftp.gnu.org successfully."
@@ -303,9 +303,9 @@ elpa-test: package
ftp: package
cd $(pkg_dir) && $(GNUFTP) hyperbole-$(HYPB_VERSION).tar.gz
-kotl/kotl-loaddefs.el: $(EL_KOTL)
- $(EMACS) $(BATCHFLAGS) -eval '(progn (let ((generated-autoload-file
(expand-file-name "kotl/kotl-loaddefs.el"))) (update-directory-autoloads
(expand-file-name "kotl/"))))' && $(RM) kotl/kotl-loaddefs.el~
-# $(EMACS) $(BATCHFLAGS) -eval '(progn (let ((generated-autoload-file
(expand-file-name "kotl/kotl-loaddefs.el"))) (update-directory-autoloads
(expand-file-name "kotl/"))))' && sed -i '3 i ;; Copyright (C) 2017 Free
Software Foundation, Inc.\n;;' $@ && $(RM) kotl/kotl-loaddefs.el~
+kotl/kotl-autoloads.el: $(EL_KOTL)
+ $(EMACS) $(BATCHFLAGS) -eval '(progn (let ((generated-autoload-file
(expand-file-name "kotl/kotl-autoloads.el"))) (update-directory-autoloads
(expand-file-name "kotl/"))))' && $(RM) kotl/kotl-autoloads.el~
+# $(EMACS) $(BATCHFLAGS) -eval '(progn (let ((generated-autoload-file
(expand-file-name "kotl/kotl-autoloads.el"))) (update-directory-autoloads
(expand-file-name "kotl/"))))' && sed -i '3 i ;; Copyright (C) 2017 Free
Software Foundation, Inc.\n;;' $@ && $(RM) kotl/kotl-autoloads.el~
# Used for ftp.gnu.org tarball distributions.
$(pkg_dir)/hyperbole-$(HYPB_VERSION).tar.gz:
@@ -321,7 +321,7 @@ $(pkg_dir)/hyperbole-$(HYPB_VERSION).tar: $(HYPERBOLE_FILES)
$(RM) -r $(pkg_hyperbole)
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-loaddefs.el && chmod 755
topwin.py && \
+ 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
$(INSTALL) HY-ABOUT HY-ANNOUNCE HY-NEWS HY-WHY.kotl INSTALL README
$(pkg_dir)/; chmod 644 $(pkg_dir)/*.tar
diff --git a/README b/README
index 56f1571..580afbc 100644
--- a/README
+++ b/README
@@ -37,7 +37,7 @@ Hyperbole lets you:
1. Quickly create hyperlink buttons either from the keyboard or by dragging
between a source and destination window with a mouse button depressed.
-Later activate buttons by pressing/clicking on them or by giving the name of
+Later, activate buttons by pressing/clicking on them or by giving the name of
the button.
2. Activate many kinds of `implicit buttons' recognized by context within
diff --git a/README.md b/README.md
index bac50f6..7cd42b1 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# GNU Hyperbole 6.0.2f - The Everyday Hypertextual Information Manager
+# GNU Hyperbole 6.0.2g - The Everyday Hypertextual Information Manager
<!-- START doctoc generated TOC -->
**Table of Contents**
@@ -34,7 +34,7 @@ Hyperbole lets you:
1. Quickly create hyperlink buttons either from the keyboard or by dragging
between a source and destination window with a mouse button depressed.
- Later activate buttons by pressing/clicking on them or by giving the
+ Later, activate buttons by pressing/clicking on them or by giving the
name of the button.
2. Activate many kinds of `implicit buttons` recognized by context
diff --git a/README.md.html b/README.md.html
index 84a5df2..e1cfbbf 100644
--- a/README.md.html
+++ b/README.md.html
@@ -1,5 +1,5 @@
<h1>
-<a
id="user-content-gnu-hyperbole-602f---the-everyday-hypertextual-information-manager"
class="anchor"
href="#gnu-hyperbole-602f---the-everyday-hypertextual-information-manager"
aria-hidden="true"><span aria-hidden="true" class="octicon
octicon-link"></span></a>GNU Hyperbole 6.0.2f - The Everyday Hypertextual
Information Manager</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>
<p><strong>Table of Contents</strong></p>
<ul>
@@ -32,7 +32,7 @@ the number of keyboard/mouse keys you'll need to work
efficiently.</p>
<li>
<p>Quickly create hyperlink buttons either from the keyboard or by dragging
between a source and destination window with a mouse button depressed.
-Later activate buttons by pressing/clicking on them or by giving the
+Later, activate buttons by pressing/clicking on them or by giving the
name of the button.</p>
</li>
<li>
diff --git a/hactypes.el b/hactypes.el
index b3ca154..fc007b8 100644
--- a/hactypes.el
+++ b/hactypes.el
@@ -244,7 +244,7 @@ Use `link-to-file' instead for a permanent link."
(hpath:find directory))
(defact link-to-ebut (key-file key)
- "Performs action given by another button, specified by KEY-FILE and KEY."
+ "Performs action given by another explicit button, specified by KEY-FILE and
KEY."
(interactive
(let (but-file but-lbl)
(while (cond ((setq but-file
@@ -285,8 +285,9 @@ Use `link-to-file' instead for a permanent link."
(describe-symbol symbol)))))
(defact link-to-file (path &optional point)
- "Displays file given by PATH scrolled to optional POINT.
-With POINT, buffer is displayed with POINT at window top."
+ "Displays a file given by PATH scrolled to optional POINT.
+If POINT is given, the buffer is displayed with POINT at the top of
+the window."
(interactive
(let ((prev-reading-p hargs:reading-p)
(existing-buf t)
@@ -439,8 +440,7 @@ Returns t if found, signals an error if not."
(defact link-to-rfc (rfc-num)
"Retrieves and displays an Internet rfc given by RFC-NUM.
-RFC-NUM may be a string or an integer. Requires a remote file
-access library, such as Tramp, for ftp file retrievals."
+RFC-NUM may be a string or an integer."
(interactive "nRFC number to retrieve: ")
(if (or (stringp rfc-num) (integerp rfc-num))
(hpath:find (hpath:rfc rfc-num))))
diff --git a/hib-doc-id.el b/hib-doc-id.el
index fb9d04d..5445ad3 100644
--- a/hib-doc-id.el
+++ b/hib-doc-id.el
@@ -143,7 +143,7 @@ signalled."
delim-doc-id)))))))
(defib doc-id ()
- "Displays an index entry for a site-specific document given its id.
+ "Displays a document from a local document library given its id.
Ids must be delimited by `doc-id-start' and `doc-id-end' and must
match the function stored in `doc-id-p'."
(and (not (bolp))
diff --git a/hib-social.el b/hib-social.el
index ac46cc5..2a00a75 100644
--- a/hib-social.el
+++ b/hib-social.el
@@ -282,7 +282,7 @@ REF-KIND-STR is either \"#\" for a hashtag reference or
\"@\" for a username ref
;; Don't make this a defact or its arguments may be improperly expanded as
pathnames.
(defun github-reference (reference &optional user project)
"Display the Github entity associated with REFERENCE and optional USER and
PROJECT.
-REFERENCE is a string of the form:
+REFERENCE is a string of one of the following forms:
<ref-item>
<user>/<project>/<ref-item>
<project>/<ref-item>
@@ -455,7 +455,7 @@ Return t if built, nil otherwise."
;; Don't make this a defact or its arguments may be improperly expanded as
pathnames.
(defun git-reference (reference &optional project)
"Display the git entity associated with REFERENCE and optional PROJECT.
-REFERENCE is of the form:
+REFERENCE is a string of one of the following forms:
<ref-item>
/?<project>/<ref-item>
or /<project>.
@@ -568,7 +568,7 @@ PROJECT value is provided, it defaults to the value of
("branches" (format shell-cmd-to-format
project-dir "branch -la" ""))
("commits" (format shell-cmd-to-format
project-dir "log --abbrev-commit --pretty=oneline" ""))
("tags" (format shell-cmd-to-format
project-dir "tag -l" ""))
- (t (format shell-cmd-to-format
project-dir "show" reference))))
+ (_ (format shell-cmd-to-format
project-dir "show" reference))))
(with-help-window (format "*git%s%s %s%s%s*"
(if (equal project
"") "" " ")
project ref-type
diff --git a/hibtypes.el b/hibtypes.el
index 65b365d..a373448 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -70,6 +70,56 @@
(require 'hsys-org)
;;; ========================================================================
+;;; Composes mail, in another window, to the e-mail address at point.
+;;; ========================================================================
+
+(defvar mail-address-mode-list
+ '(emacs-lisp-mode lisp-interaction-mode lisp-mode scheme-mode c-mode
+ c++-mode html-mode java-mode js2-mode objc-mode python-mode
+ smalltalk-mode fundamental-mode text-mode indented-text-mode web-mode)
+ "List of major modes in which mail address implicit buttons are active.")
+
+(defun mail-address-at-p ()
+ "Return e-mail address, a string, that point is within or nil."
+ (let ((case-fold-search t))
+ (save-excursion
+ (skip-chars-backward "^ \t\n\r\f\"\'(){}[];:<>|")
+ (and (or (looking-at mail-address-regexp)
+ (looking-at (concat "mailto:" mail-address-regexp)))
+ (save-match-data
+ (string-match mail-address-tld-regexp (match-string-no-properties
1)))
+ (match-string-no-properties 1)))))
+
+(defib mail-address ()
+ "If on an e-mail address in a specific buffer type, compose mail to that
address in another window.
+Applies to any major mode in `mail-address-mode-list', the HyRolo match buffer,
+any buffer attached to a file in `hyrolo-file-list', or any buffer with
+\"mail\" or \"rolo\" (case-insensitive) within its name."
+ (if (let ((case-fold-search t))
+ (or
+ (and (memq major-mode mail-address-mode-list)
+ (not (string-match "-Elements\\'" (buffer-name)))
+ ;; Don't want this to trigger within an OOBR-FTR buffer.
+ (not (string-match "\\`\\(OOBR.*-FTR\\|oobr.*-ftr\\)"
+ (buffer-name)))
+ (not (string-equal "*Implementors*" (buffer-name))))
+ (and
+ (string-match "mail\\|rolo" (buffer-name))
+ ;; Don't want this to trigger in a mail/news summary buffer.
+ (not (or (hmail:lister-p) (hnews:lister-p))))
+ (if (boundp 'hyrolo-display-buffer)
+ (equal (buffer-name) hyrolo-display-buffer))
+ (and buffer-file-name
+ (boundp 'hyrolo-file-list)
+ (set:member (current-buffer)
+ (mapcar 'get-file-buffer hyrolo-file-list)))))
+ (let ((address (mail-address-at-p)))
+ (if address
+ (progn
+ (ibut:label-set address (match-beginning 1) (match-end 1))
+ (hact 'mail-other-window nil address))))))
+
+;;; ========================================================================
;;; Displays files and directories when a valid pathname is activated.
;;; ========================================================================
@@ -421,8 +471,8 @@ pathname line or line preceding it, jumps to the associated
file."
(defib cscope ()
"Jumps to C/C++ source line associated with Cscope C analyzer output line.
Requires pre-loading of the cscope.el Lisp library available from the Emacs
-Lisp archives and the commercial cscope program available from UNIX System
-Laboratories. Otherwise, does nothing."
+Lisp archives and the open source cscope program available from
+http://cscope.sf.net. Otherwise, does nothing."
(and (boundp 'cscope:bname-prefix) ;; (featurep 'cscope)
(stringp cscope:bname-prefix)
(string-match (regexp-quote cscope:bname-prefix)
@@ -503,10 +553,9 @@ spaces and then another non-space, non-parenthesis,
non-brace character."
(defib rfc ()
"Retrieves and displays an Internet rfc referenced at point.
-Requires a remote file access library, such as Tramp, for ftp
-file retrievals. The following formats are recognized: RFC822,
-rfc-822, and RFC 822. The `hpath:rfc' variable specifies the
-location from which to retrieve RFCs."
+The following formats are recognized: RFC822, rfc-822, and RFC 822. The
+`hpath:rfc' variable specifies the location from which to retrieve RFCs.
+Requires the Emacs builtin Tramp library for ftp file retrievals."
(let ((case-fold-search t)
(rfc-num nil))
(and (not (memq major-mode '(dired-mode monkey-mode)))
@@ -778,56 +827,6 @@ Patch applies diffs to source code."
(hact 'link-to-file-line file line)))))
;;; ========================================================================
-;;; Composes mail, in another window, to the e-mail address at point.
-;;; ========================================================================
-
-(defvar mail-address-mode-list
- '(emacs-lisp-mode lisp-interaction-mode lisp-mode scheme-mode c-mode
- c++-mode html-mode java-mode js2-mode objc-mode python-mode
- smalltalk-mode fundamental-mode text-mode indented-text-mode web-mode)
- "List of major modes in which mail address implicit buttons are active.")
-
-(defib mail-address ()
- "If on an e-mail address in a specific buffer type, mail to that address in
another window.
-Applies to any major mode in `mail-address-mode-list', the HyRolo match buffer,
-any buffer attached to a file in `hyrolo-file-list', or any buffer with
-\"mail\" or \"rolo\" (case-insensitive) within its name."
- (if (let ((case-fold-search t))
- (or
- (and (memq major-mode mail-address-mode-list)
- (not (string-match "-Elements\\'" (buffer-name)))
- ;; Don't want this to trigger within an OOBR-FTR buffer.
- (not (string-match "\\`\\(OOBR.*-FTR\\|oobr.*-ftr\\)"
- (buffer-name)))
- (not (string-equal "*Implementors*" (buffer-name))))
- (and
- (string-match "mail\\|rolo" (buffer-name))
- ;; Don't want this to trigger in a mail/news summary buffer.
- (not (or (hmail:lister-p) (hnews:lister-p))))
- (if (boundp 'hyrolo-display-buffer)
- (equal (buffer-name) hyrolo-display-buffer))
- (and buffer-file-name
- (boundp 'hyrolo-file-list)
- (set:member (current-buffer)
- (mapcar 'get-file-buffer hyrolo-file-list)))))
- (let ((address (mail-address-at-p)))
- (if address
- (progn
- (ibut:label-set address (match-beginning 1) (match-end 1))
- (hact 'mail-other-window nil address))))))
-
-(defun mail-address-at-p ()
- "Return e-mail address, a string, that point is within or nil."
- (let ((case-fold-search t))
- (save-excursion
- (skip-chars-backward "^ \t\n\r\f\"\'(){}[];:<>|")
- (and (or (looking-at mail-address-regexp)
- (looking-at (concat "mailto:" mail-address-regexp)))
- (save-match-data
- (string-match mail-address-tld-regexp (match-string-no-properties
1)))
- (match-string-no-properties 1)))))
-
-;;; ========================================================================
;;; Displays Texinfo or Info node associated with Texinfo @xref, @pxref or
@ref at point.
;;; ========================================================================
@@ -929,8 +928,8 @@ GNUS is a news and mail reader."
;;; ========================================================================
(defib Info-node ()
- "Makes \"(filename)nodename\" buttons display the associated Info node.
-Also makes \"(filename)itemname\" buttons display the associated Info index
item."
+ "Makes a \"(filename)nodename\" button display the associated Info node.
+Also makes a \"(filename)itemname\" button display the associated Info index
item."
(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/hmouse-drv.el b/hmouse-drv.el
index 5433f27..43fcfe4 100644
--- a/hmouse-drv.el
+++ b/hmouse-drv.el
@@ -794,7 +794,7 @@ compute the actual release location and include that."
(list (car event) (nth 2 event))))))
(defun hmouse-save-region (&optional frame)
- "Save any active region within the current buffer.
+ "Save to `hkey-region' and return any active region within the current
buffer.
Under InfoDock and XEmacs, `zmacs-region' must be t; under GNU Emacs,
`transient-mark-mode' must be t or the function does nothing."
(if (cond
@@ -866,7 +866,7 @@ down a windowful."))
;; of line to simplify repeated scrolls when using keyboard smart keys.
;;
;; These functions may also be used to test whether the scroll action would
-;; be successful, no action is taken if it would fail (because the beginning
+;; be successful: no action is taken if it would fail (because the beginning
;; or end of a buffer is already showing) and nil is returned.
;; t is returned whenever scrolling is performed.
diff --git a/hmouse-key.el b/hmouse-key.el
index 52b08d5..48a4ccc 100644
--- a/hmouse-key.el
+++ b/hmouse-key.el
@@ -11,7 +11,7 @@
;;
;;; Commentary:
;;
-;; Supports Mac OS X, X, NEXTSTEP and MS Windows window systems.
+;; Supports macOS, X, NEXTSTEP and MS Windows window systems.
;;
;; `hmouse-install' globally binds the Action and Assist Mouse Keys
;; to shifted mouse buttons and optionally binds the Action Mouse Key
@@ -115,13 +115,11 @@ Assist Key = shift-right mouse key."
"{Shift-Mouse-2} invokes"))))
(defun hmouse-add-unshifted-smart-keys ()
- "GNU Emacs only: binds [mouse-2] to the Action Key and [mouse-3] to the
Assist Key."
+ "Binds mouse-2 to the Action Key and mouse-3 to the Assist Key."
(interactive)
- (if hyperb:emacs-p
- (progn (hmouse-install t)
- (hmouse-bind-key-emacs 3 #'assist-key-depress-emacs
#'assist-mouse-key-emacs))
- (error "(hmouse-add-unshifted-smart-keys): Works under only GNU Emacs 19
or above")))
-
+ (require 'hyperbole)
+ (hmouse-unshifted-setup))
+
(defun hmouse-toggle-bindings ()
"Toggles between Smart Mouse Key settings and their prior bindings.
Under InfoDock, the first invocation of this command will make the middle
diff --git a/hmouse-mod.el b/hmouse-mod.el
index c6b2332..0c3df2b 100644
--- a/hmouse-mod.el
+++ b/hmouse-mod.el
@@ -11,6 +11,13 @@
;;; Commentary:
;;
+;; This is presently not used because Emacs binds Control and Meta
+;; mouse keys which interfere with this mode. To make this work,
+;; Hyperbole will first have to unbind those mouse keys before
+;; invoking this mode.
+;;
+;; ----
+;;
;; This defines a single minor mode, hmouse-mod-mode (Hmouse
;; Modifier mode) which makes the Action Mouse Key operate as a
;; Control- modifier key and the Assist Mouse Key operate as a Meta-
@@ -116,6 +123,8 @@ This stops the Smart Keys from acting as modifier keys."
(defun hmouse-mod-enable ()
"Creates `hmouse-mod--global-map' and installs it as the current global map.
It accounts for modifier Smart Keys."
+ (error "(hmouse-mod-mode): Don't use this; it conflicts with Emacs mouse
bindings.")
+
(setq hmouse-mod--global-map (copy-keymap global-map))
(substitute-key-definition
'self-insert-command 'hmouse-mod-insert-command hmouse-mod--global-map)
diff --git a/hmouse-sh.el b/hmouse-sh.el
index 7879d31..b93e6a0 100644
--- a/hmouse-sh.el
+++ b/hmouse-sh.el
@@ -37,31 +37,41 @@ Use nil as cmd values to unbind a key. Works under GNU
Emacs only."
depress-cmd
(nth (1- mouse-key-number)
'(
- ([down-mouse-1] [header-line down-mouse-1]
+ ([down-mouse-1]
+ [double-down-mouse-1] [triple-down-mouse-1]
+ [header-line down-mouse-1]
[left-fringe down-mouse-1]
[right-fringe down-mouse-1]
[vertical-line down-mouse-1]
[mode-line down-mouse-1])
- ([down-mouse-2] [header-line down-mouse-2]
+ ([down-mouse-2]
+ [double-down-mouse-2] [triple-down-mouse-2]
+ [header-line down-mouse-2]
[left-fringe down-mouse-2]
[right-fringe down-mouse-2]
[vertical-line down-mouse-2]
[mode-line down-mouse-2])
- ([down-mouse-3] [header-line down-mouse-3]
+ ([down-mouse-3]
+ [double-down-mouse-3] [triple-down-mouse-3]
+ [header-line down-mouse-3]
[left-fringe down-mouse-3]
[right-fringe down-mouse-3]
[vertical-line down-mouse-3]
[mode-line down-mouse-3])
- ([down-mouse-4] [header-line down-mouse-4]
+ ([down-mouse-4]
+ [double-down-mouse-4] [triple-down-mouse-4]
+ [header-line down-mouse-4]
[left-fringe down-mouse-4]
[right-fringe down-mouse-4]
[vertical-line down-mouse-4]
[mode-line down-mouse-4])
- ([down-mouse-5] [header-line down-mouse-5]
+ ([down-mouse-5]
+ [double-down-mouse-5] [triple-down-mouse-5]
+ [header-line down-mouse-5]
[left-fringe down-mouse-5]
[right-fringe down-mouse-5]
[vertical-line down-mouse-5]
@@ -292,7 +302,7 @@ These may be the bindings prior to initializing Hyperbole
or the Hyperbole bindi
[mode-line S-down-mouse-2] [mode-line
S-drag-mouse-2]
[mode-line S-mouse-2]
)
- ;; X, OS X or MS Windows
+ ;; X, macOS or MS Windows
'([S-down-mouse-2] [S-drag-mouse-2] [S-mouse-2]
[S-down-mouse-3] [S-drag-mouse-3] [S-mouse-3]
[S-double-mouse-2] [S-triple-mouse-2]
@@ -362,7 +372,7 @@ These may be the bindings prior to initializing Hyperbole
or the Hyperbole bindi
'(("emacs" .
(mapcar (lambda (key) (cons key (global-key-binding key)))
(if (not (eq window-system 'dps))
- ;; X, OS X or MS Windows
+ ;; X, macOS or MS Windows
'([down-mouse-2] [drag-mouse-2] [mouse-2]
[down-mouse-3] [drag-mouse-3] [mouse-3]
[double-mouse-2] [triple-mouse-2]
@@ -406,7 +416,21 @@ These may be the bindings prior to initializing Hyperbole
or the Hyperbole bindi
)))
)))))
-;; Based on functions from Emacs mouse.el.
+;; Based on a function from Emacs mouse.el.
+(defun hmouse-posn-set-point (position)
+ "Move point to POSITION, an event posn.
+Select the corresponding window as well."
+ (if (framep (posn-window position))
+ (progn (if (not (windowp (frame-selected-window (posn-window position))))
+ (error "Position not in text area of window"))
+ (select-window (frame-selected-window (posn-window position))))
+ (if (not (windowp (posn-window position)))
+ (error "Position not in text area of window"))
+ (select-window (posn-window position)))
+ (if (numberp (posn-point position))
+ (goto-char (posn-point position))))
+
+;; Based on a function from Emacs mouse.el.
(defun hmouse-move-point-emacs (event &optional promote-to-region)
"Move point to the position clicked on with the mouse.
This should be bound to a mouse click event type.
@@ -439,7 +463,7 @@ point determined by
`mouse-select-region-move-to-beginning'."
;; Select the ending frame only, not the window pressed within.
(select-frame (window-frame end-w-or-f))
(condition-case ()
- (posn-set-point (event-end event))
+ (hmouse-posn-set-point (event-end event))
(error (select-frame (window-frame end-w-or-f)))))))))
(defun hmouse-move-point-eterm (arg-list)
@@ -482,7 +506,7 @@ point determined by
`mouse-select-region-move-to-beginning'."
(progn
(hmouse-bind-shifted-key-emacs 1 #'action-key-depress-emacs
#'action-mouse-key-emacs)
(hmouse-bind-shifted-key-emacs 2 #'assist-key-depress-emacs
#'assist-mouse-key-emacs))
- ;; X, OS X or MS Windows
+ ;; X, macOS or MS Windows
(hmouse-bind-shifted-key-emacs 2 #'action-key-depress-emacs
#'action-mouse-key-emacs)
(hmouse-bind-shifted-key-emacs 3 #'assist-key-depress-emacs
#'assist-mouse-key-emacs)))
;;
@@ -536,13 +560,22 @@ With optional MIDDLE-KEY-ONLY-FLAG non-nil, binds only
the middle mouse key."
(interactive)
(cond ;; GNU Emacs
(hyperb:emacs-p
- ;; Get rid of Info-mode [mouse-2] binding since Hyperbole performs
- ;; a superset of what it does.
+ ;; In Info-mode, Emacs uses key-translation-map to link mouse-1 to
+ ;; do whatever mouse-2 does but because Hyperbole uses both down
+ ;; and up bindings on mouse2, this does work. So we rebind
+ ;; mouse-1 in Info mode to be an actual Action Mouse Key (which
+ ;; makes it follow Info links/cross-references properly, doing a
+ ;; superset of what it did before).
(var:add-and-run-hook 'Info-mode-hook
- (lambda () (define-key Info-mode-map [mouse-2] nil)))
+ (lambda ()
+ (define-key Info-mode-map [down-mouse-1]
'action-key-depress-emacs)
+ (define-key Info-mode-map [mouse-1]
'action-mouse-key-emacs)
+ (define-key Info-mode-map [double-down-mouse-1]
'action-key-depress-emacs)
+ (define-key Info-mode-map [double-mouse-1]
'action-mouse-key-emacs)
+ (define-key Info-mode-map [mouse-2] nil)))
;;
(unless (eq window-system 'dps)
- ;; X, OS X or MS Windows
+ ;; X, macOS or MS Windows
(hmouse-bind-key-emacs 2 #'action-key-depress-emacs
#'action-mouse-key-emacs)
(unless middle-key-only-flag
(hmouse-bind-key-emacs 3 #'assist-key-depress-emacs
#'assist-mouse-key-emacs))))
@@ -553,7 +586,7 @@ With optional MIDDLE-KEY-ONLY-FLAG non-nil, binds only the
middle mouse key."
;; system since it can have frames on ttys and windowed displays at
;; the same time.
;;
- ;; Get rid of Info-mode button 2 bindings since Hyperbole
+ ;; Get rid of Info-mode button 2 and possibly button 3 bindings since
Hyperbole
;; handles things in Info.
(var:add-and-run-hook 'Info-mode-hook
(lambda () (define-key Info-mode-map 'button2 nil)))
diff --git a/hpath.el b/hpath.el
index 11ba5cf..c28c8f7 100644
--- a/hpath.el
+++ b/hpath.el
@@ -53,8 +53,7 @@ possible suffixes."
(defcustom hpath:external-display-alist-macos (list (cons (format
"\\.\\(app\\|%s\\|adaptor\\|app\\|bshlf\\|clr\\|concur\\|create\\|diagram\\|dp\\|e?ps\\|frame\\|gif\\|locus\\|Mesa\\|nib\\|pdf\\|project\\|rtf\\|sense\\|tiff\\|tree\\)$"
hpath:external-open-office-suffixes)
"open"))
- "*An alist of (FILENAME-REGEXP . DISPLAY-PROGRAM-STRING-OR-LIST)
- elements for the Macintosh os x window system.
+ "*An alist of (FILENAME-REGEXP . DISPLAY-PROGRAM-STRING-OR-LIST) elements
for the macOS window system.
See the function `hpath:get-external-display-alist' for detailed format
documentation."
:type 'regexp
:group 'hyperbole-commands)
@@ -215,7 +214,7 @@ When embedded within a path, the format is ${variable}."
;;; Other public variables
;;; ************************************************************************
-(defvar hpath:rfc "/address@hidden:rfc/rfc%s.txt"
+(defvar hpath:rfc "/ftp:address@hidden:rfc/rfc%s.txt"
"*String to be used in the call: (hpath:rfc rfc-num)
to create a path to the RFC document for `rfc-num'.")
@@ -394,7 +393,7 @@ Always returns nil if (hpath:remote-available-p) returns
nil."
((looking-at hpath:url-regexp)
(if (string-equal (match-string-no-properties
hpath:protocol-grpn) "ftp")
(concat
- "/"
+ "/ftp:"
;; user
(if (match-beginning hpath:username-grpn)
(match-string-no-properties hpath:username-grpn)
@@ -412,7 +411,7 @@ Always returns nil if (hpath:remote-available-p) returns
nil."
(looking-at hpath:url-regexp3))
(if (string-equal (match-string-no-properties
hpath:hostname-grpn) "ftp")
(concat
- "/" user "@"
+ "/ftp:" user "@"
;; site
(hpath:delete-trailer
(match-string-no-properties hpath:sitename-grpn))
diff --git a/hui-menu.el b/hui-menu.el
index ba9395c..f6c5068 100644
--- a/hui-menu.el
+++ b/hui-menu.el
@@ -348,7 +348,7 @@ REBUILD-FLAG is non-nil, in which case the menu is rebuilt."
["Demonstration" (hypb:display-file-with-logo
(expand-file-name "DEMO" hyperb:dir)) t]
["Glossary" (id-info "(hyperbole)Glossary") t]
- ["Manifest" (find-file-read-only
+ ["Manifest" (hypb:display-file-with-logo
(expand-file-name "MANIFEST" hyperb:dir)) t]
["Smart-Key-Summary" (id-browse-file (hypb:hkey-help-file))
t]
("Types"
diff --git a/hui-mini.el b/hui-mini.el
index 4ab2ea4..12bf521 100644
--- a/hui-mini.el
+++ b/hui-mini.el
@@ -531,7 +531,7 @@ constructs. If not given, the top-level Hyperbole menu is
used."
("Demo" (hypb:display-file-with-logo
(expand-file-name "DEMO" hyperb:dir))
"Demonstrates Hyperbole features.")
- ("Files" (find-file-read-only
+ ("Files" (hypb:display-file-with-logo
(expand-file-name "MANIFEST" hyperb:dir))
"Summarizes Hyperbole system files. Click on an entry to view it.")
("Glossary"
@@ -542,7 +542,7 @@ constructs. If not given, the top-level Hyperbole menu is
used."
("New" (hypb:display-file-with-logo
(expand-file-name "HY-NEWS" hyperb:dir))
"Recent changes to Hyperbole.")
- ("SmartKeys" (find-file-read-only (hypb:hkey-help-file))
+ ("SmartKeys" (hkey-summarize 'current-window)
"Summarizes Smart Key mouse or keyboard handling.")
("Types/" (menu . types)
"Provides documentation on Hyperbole types.")
diff --git a/hui-mouse.el b/hui-mouse.el
index 964ca45..73d6da8 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -19,12 +19,12 @@
;; If you want to use your shift-middle mouse button to select Hyperbole menu
;; items and Hyperbole buttons, follow these instructions.
;;
-;; If you plan to use a mouse only with X windows (XEmacs, GNU Emacs
-;; 19, or InfoDock), Mac OS X, or NEXTSTEP, and you want to use the
+;; If you plan to use a mouse only with the X window system (XEmacs, GNU Emacs
+;; 19, or InfoDock), macOS, or NEXTSTEP, and you want to use the
;; shift-middle and shift-right buttons, you need not do any mouse
;; configuration. Your Emacs executable must have been built so as to
;; include the mouse support files for your window system, however. These
-;; are in the Emacs "src" directory: for X "x*.c".
+;; are in the Emacs "src" directory: for X - "x*.c", for macOS - "ns*.c".
;;
;; To use a different mouse key or a different window system, modify the
;; mouse key bindings in "hmouse-sh.el".
@@ -38,6 +38,10 @@
;;; ************************************************************************
(require 'hbut)
+(unless (fboundp 'smart-info)
+ (require 'hmouse-info))
+(unless (fboundp 'smart-c-at-tag-p)
+ (require 'hmouse-tag))
;;; ************************************************************************
;;; Public variables
@@ -1163,7 +1167,7 @@ VARIABLE-FLAG is non-nil, the variable definition is used
instead."
;;; ************************************************************************
;;; smart-info functions
;;; ************************************************************************
-;;; Autoloaded in "hmouse-info.el".
+;;; In "hmouse-info.el".
;;; ************************************************************************
;;; smart-man functions
diff --git a/hui-select.el b/hui-select.el
index 104107c..62b5cd3 100644
--- a/hui-select.el
+++ b/hui-select.el
@@ -243,7 +243,9 @@ Also, add language-specific syntax setups to aid in thing
selection."
(if hkey-init
(cond (hyperb:emacs-p
(transient-mark-mode 1)
+ (hkey-global-set-key [double-down-mouse-1] nil)
(hkey-global-set-key [double-mouse-1] 'hui-select-thing-with-mouse)
+ (hkey-global-set-key [triple-down-mouse-1] nil)
(hkey-global-set-key [triple-mouse-1]
'hui-select-thing-with-mouse))
((featurep 'xemacs)
(add-hook 'mouse-track-click-hook
#'hui-select-double-click-hook))))
diff --git a/hui-window.el b/hui-window.el
index fe9341f..a7c83df 100644
--- a/hui-window.el
+++ b/hui-window.el
@@ -284,13 +284,15 @@ part of InfoDock and not a part of Hyperbole)."
(ibuffer)))))
(defun hmouse-prior-active-region ()
+ "Return t iff there is a non-empty active region in buffer of the last Smart
Mouse Key release."
(when (setq hkey-value (if assist-flag assist-key-depress-prev-point
action-key-depress-prev-point))
- (with-current-buffer (marker-buffer hkey-value)
+ (save-excursion
+ (set-buffer (marker-buffer hkey-value))
;; Store and goto any prior value of point from the region
;; prior to the Smart Key depress, so we can return to it later.
(and (goto-char hkey-value)
- (region-active-p)
- (hmouse-save-region)))))
+ (hmouse-save-region)
+ t))))
(defun hmouse-dired-readin-hook ()
"Remove local `hpath:display-where' setting whenever re-read a dired
directory.
diff --git a/hversion.el b/hversion.el
index 0dc679f..b933e1a 100644
--- a/hversion.el
+++ b/hversion.el
@@ -23,7 +23,7 @@
;;; Public variables
;;; ************************************************************************
-(defconst hyperb:version "6.0.2f" "GNU Hyperbole revision number.")
+(defconst hyperb:version "6.0.2g" "GNU Hyperbole revision number.")
;;;###autoload
(defvar hyperb:microcruft-os-p
@@ -159,7 +159,7 @@ If nil after system initialization, no window system or
mouse support is availab
;;; ************************************************************************
(if (not (fboundp 'id-browse-file))
-(defalias 'id-browse-file 'find-file-read-only))
+(defalias 'id-browse-file 'view-file))
(unless (fboundp 'id-info)
(defun id-info (string)
diff --git a/hypb.el b/hypb.el
index 3bc087a..afb8f91 100644
--- a/hypb.el
+++ b/hypb.el
@@ -689,7 +689,7 @@ nor nil it means to not count the minibuffer window even if
it is active."
;;;###autoload
(defun hypb:display-file-with-logo (&optional file)
- "Display an optional text FILE with the Hyperbole banner prepended.
+ "Display an optional text FILE in help mode with the Hyperbole banner
prepended.
Without file, the banner is prepended to the current buffer."
(if file
;; A stub for this function is defined in hversion.el when not running
in InfoDock.
diff --git a/hyperbole-pkg.el b/hyperbole-pkg.el
index 26a4d4c..77b1daa 100644
--- a/hyperbole-pkg.el
+++ b/hyperbole-pkg.el
@@ -1,5 +1,5 @@
;; -*- no-byte-compile: t -*-
-(define-package "hyperbole" "6.0.2f" "GNU Hyperbole: The Everyday Hypertextual
Information Manager"
+(define-package "hyperbole" "6.0.2g" "GNU Hyperbole: The Everyday Hypertextual
Information Manager"
'((emacs "24.4"))
:url "http://www.gnu.org/software/hyperbole"
:keywords '("comm" "convenience" "files" "frames" "hypermedia" "languages"
diff --git a/hyperbole.el b/hyperbole.el
index e858b18..bd38911 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.2f
+;; Version: 6.0.2g
;; Keywords: comm, convenience, files, frames, hypermedia, languages,
mail, matching, mouse, multimedia, outlines, tools, wp
;; Package: hyperbole
;; Package-Requires: ((emacs "24.4"))
@@ -73,8 +73,6 @@
;;; Start Initializations
;;; ************************************************************************
-(message "Initializing Hyperbole, please wait...")
-
(defconst hyperbole-loading t
"Temporary constant available for testing while Hyperbole is loading.")
@@ -386,10 +384,11 @@ bindings after load)."
;; Add Hyperbole Info directory to Info-directory-list after the Info
;; manual reader package is loaded.
(eval-after-load "info"
- #'(if (boundp 'hyperb:dir)
- (let ((info-dir (expand-file-name "man/" hyperb:dir)))
- (if (file-exists-p info-dir)
- (add-to-list 'Info-directory-list info-dir)))))
+ '(when (boundp 'hyperb:dir)
+ (info-initialize)
+ (let ((info-dir (expand-file-name "man/" hyperb:dir)))
+ (if (file-exists-p info-dir)
+ (add-to-list 'Info-directory-list info-dir)))))
;;; ************************************************************************
;;; Prevent local key maps from hiding/overriding the Action and Assist Keys
@@ -475,7 +474,7 @@ With optional ARG, override them iff ARG is positive."
;; Koutliner autoloads in the kotl/ subdirectory are generated by 'make pkg'.
;; This next line ensures they are loaded by hyperbole-autoloads whenever
;; the Hyperbole package is activated in an Emacs session.
-;;;###autoload (load "kotl/kotl-loaddefs" nil 'nowarn)
+;;;###autoload (load "kotl/kotl-autoloads" nil 'nowarn)
;; Before the 6.0.1 release, Hyperbole used to patch the
package-generate-autoloads
;; function to ensure that kotl/ subdirectories were autoloaded. This
@@ -680,6 +679,7 @@ If FLAG is nil then text is shown, while if FLAG is t the
text is hidden."
(defun hyperb:init ()
"Standard configuration routine for Hyperbole."
(interactive)
+ (message "Initializing Hyperbole...")
(run-hooks 'hyperbole-init-hook)
(hyperb:check-dir-user)
(or (stringp hyperb:user-email)
@@ -710,12 +710,17 @@ If FLAG is nil then text is shown, while if FLAG is t the
text is hidden."
;; removal of further local bindings.
(if (featurep 'hyperbole)
(hkey-install-override-local-bindings)
- (add-hook 'after-load-alist #'(hyperbole
hkey-install-override-local-bindings))))
+ (add-hook 'after-load-alist '(hyperbole
hkey-install-override-local-bindings)))
+ ;;
+ ;; Hyperbole initialization is complete.
+ (message "Initializing Hyperbole...done")
+ (message "Hyperbole %s is ready for action." hyperb:version))
-;; This call loads the whole Hyperbole system.
+;; This call loads the rest of the Hyperbole system.
(require 'hinit)
-;; This call initializes Hyperbole.
+
(if after-init-time
+ ;; This call initializes Hyperbole key bindings and hooks.
(hyperb:init)
;; Initialize after other key bindings are loaded at startup.
(add-hook 'after-init-hook #'hyperb:init t))
@@ -724,6 +729,4 @@ If FLAG is nil then text is shown, while if FLAG is t the
text is hidden."
(provide 'hyperbole)
-(message "Hyperbole %s is ready for action." hyperb:version)
-
;;; hyperbole.el ends here
diff --git a/kotl/kotl-loaddefs.el b/kotl/kotl-autoloads.el
similarity index 98%
rename from kotl/kotl-loaddefs.el
rename to kotl/kotl-autoloads.el
index 352b6ed..e5b0b75 100644
--- a/kotl/kotl-loaddefs.el
+++ b/kotl/kotl-autoloads.el
@@ -1,4 +1,4 @@
-;;; kotl-loaddefs.el --- automatically extracted autoloads
+;;; kotl-autoloads.el --- automatically extracted autoloads
;;
;; Copyright (C) 2016 Free Software Foundation, Inc.
;;
@@ -197,11 +197,11 @@ Signal an error if current buffer is not a Hyperbole
outline, else return t.
;;;***
-(provide 'kotl-loaddefs)
+(provide 'kotl-autoloads)
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; coding: utf-8
;; End:
-;;; kotl-loaddefs.el ends here
+;;; kotl-autoloads.el ends here
diff --git a/dir b/man/dir
similarity index 100%
rename from dir
rename to man/dir
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 8050fbb..746facc 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.2f, Published October 27, 2017).
+(Edition 6.0.2g, Published November 1, 2017).
Copyright (C) 1989-2017 Free Software Foundation, Inc.
@@ -131,11 +131,23 @@ ul.no-bullet {list-style: none}
<ul class="no-bullet">
<li><a name="toc-Smart-Key-Bindings-1" href="#Smart-Key-Bindings">2.1 Smart
Key Bindings</a></li>
<li><a name="toc-Smart-Key-Operations-1" href="#Smart-Key-Operations">2.2
Smart Key Operations</a></li>
- <li><a name="toc-Smart-Key-Modeline-Clicks-1"
href="#Smart-Key-Modeline-Clicks">2.3 Smart Key Modeline Clicks</a></li>
- <li><a name="toc-Smart-Key-Thing-Selection-1"
href="#Smart-Key-Thing-Selection">2.4 Smart Key Thing Selection</a></li>
- <li><a name="toc-Smart-Key-Argument-Selection-1"
href="#Smart-Key-Argument-Selection">2.5 Smart Key Argument Selection</a></li>
- <li><a name="toc-Smart-Key-Modifiers-1" href="#Smart-Key-Modifiers">2.6
Smart Key Modifiers</a></li>
- <li><a name="toc-Smart-Key-Debugging-1" href="#Smart-Key-Debugging">2.7
Smart Key Debugging</a></li>
+ <li><a name="toc-Smart-Key-Argument-Selection-1"
href="#Smart-Key-Argument-Selection">2.3 Smart Key Argument Selection</a></li>
+ <li><a name="toc-Smart-Key-Debugging-1" href="#Smart-Key-Debugging">2.4
Smart Key Debugging</a></li>
+ <li><a name="toc-Smart-Key-Thing-Selection-1"
href="#Smart-Key-Thing-Selection">2.5 Smart Key Thing Selection</a></li>
+ <li><a name="toc-Smart-Mouse-Key-Modeline-Clicks-1"
href="#Smart-Mouse-Key-Modeline-Clicks">2.6 Smart Mouse Key Modeline
Clicks</a></li>
+ <li><a name="toc-Smart-Mouse-Key-Drags-1" href="#Smart-Mouse-Key-Drags">2.7
Smart Mouse Key Drags</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Creating-and-Deleting-Windows-1"
href="#Creating-and-Deleting-Windows">2.7.1 Creating and Deleting
Windows</a></li>
+ <li><a name="toc-Saving-and-Restoring-Window-Configurations-1"
href="#Saving-and-Restoring-Window-Configurations">2.7.2 Saving and Restoring
Window Configurations</a></li>
+ <li><a name="toc-Resizing-Windows-1" href="#Resizing-Windows">2.7.3
Resizing Windows</a></li>
+ <li><a name="toc-Dragging-Buffers_002c-Windows-and-Items"
href="#Dragging-Buffers">2.7.4 Dragging Buffers, Windows and Items</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Swapping-Buffers-1" href="#Swapping-Buffers">2.7.4.1
Swapping Buffers</a></li>
+ <li><a name="toc-Displaying-Buffers-1"
href="#Displaying-Buffers">2.7.4.2 Displaying Buffers</a></li>
+ <li><a name="toc-Cloning-Windows-1" href="#Cloning-Windows">2.7.4.3
Cloning Windows</a></li>
+ <li><a name="toc-Displaying-File-and-Buffer-Items-1"
href="#Displaying-File-and-Buffer-Items">2.7.4.4 Displaying File and Buffer
Items</a></li>
+ </ul></li>
+ </ul></li>
</ul></li>
<li><a name="toc-Buttons-1" href="#Buttons">3 Buttons</a>
<ul class="no-bullet">
@@ -155,7 +167,7 @@ ul.no-bullet {list-style: none}
<li><a name="toc-Renaming-1" href="#Renaming">3.7.2 Renaming</a></li>
<li><a name="toc-Deletion-1" href="#Deletion">3.7.3 Deletion</a></li>
<li><a name="toc-Modification-1" href="#Modification">3.7.4
Modification</a></li>
- <li><a name="toc-Location-1" href="#Location">3.7.5 Location</a></li>
+ <li><a name="toc-Searching-and-Summarizing-1"
href="#Searching-and-Summarizing">3.7.5 Searching and Summarizing</a></li>
<li><a name="toc-Buttons-in-Mail-1" href="#Buttons-in-Mail">3.7.6 Buttons
in Mail</a></li>
<li><a name="toc-Buttons-in-News-1" href="#Buttons-in-News">3.7.7 Buttons
in News</a></li>
</ul></li>
@@ -325,8 +337,8 @@ WITHOUT ANY WARRANTY, without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
<PRE>
-Edition 6.0.2f
-Printed October 27, 2017.
+Edition 6.0.2g
+Printed November 1, 2017.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -441,15 +453,39 @@ Smart Keys
</td></tr>
<tr><td align="left" valign="top">• <a href="#Smart-Key-Operations">Smart
Key Operations</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a>:</td><td> </td><td align="left" valign="top">
+<tr><td align="left" valign="top">• <a
href="#Smart-Key-Argument-Selection">Smart Key Argument
Selection</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Smart-Key-Debugging">Smart
Key Debugging</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">• <a
href="#Smart-Key-Thing-Selection">Smart Key Thing
Selection</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a
href="#Smart-Key-Argument-Selection">Smart Key Argument
Selection</a>:</td><td> </td><td align="left" valign="top">
+<tr><td align="left" valign="top">• <a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a href="#Smart-Key-Modifiers">Smart
Key Modifiers</a>:</td><td> </td><td align="left" valign="top">
+<tr><td align="left" valign="top">• <a
href="#Smart-Mouse-Key-Drags">Smart Mouse Key
Drags</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a href="#Smart-Key-Debugging">Smart
Key Debugging</a>:</td><td> </td><td align="left" valign="top">
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Smart Mouse Key Drags
+
+</pre></th></tr><tr><td align="left" valign="top">• <a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#Saving-and-Restoring-Window-Configurations">Saving and Restoring Window
Configurations</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Resizing-Windows">Resizing
Windows</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Dragging-Buffers">Dragging
Buffers</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Dragging Buffers, Windows and Items
+
+</pre></th></tr><tr><td align="left" valign="top">• <a
href="#Swapping-Buffers">Swapping Buffers</a>:</td><td> </td><td
align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#Displaying-Buffers">Displaying Buffers</a>:</td><td> </td><td
align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Cloning-Windows">Cloning
Windows</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#Displaying-File-and-Buffer-Items">Displaying File and Buffer
Items</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
@@ -481,7 +517,7 @@ Utilizing Explicit Buttons
</td></tr>
<tr><td align="left" valign="top">• <a
href="#Modification">Modification</a>:</td><td> </td><td
align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a
href="#Location">Location</a>:</td><td> </td><td align="left"
valign="top">
+<tr><td align="left" valign="top">• <a
href="#Searching-and-Summarizing">Searching and
Summarizing</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">• <a href="#Buttons-in-Mail">Buttons in
Mail</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
@@ -743,7 +779,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.2f or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 24.3
+6.0.2g 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,
@@ -799,20 +835,20 @@ Hyperbole’s basic operation.
</p>
<p>See <a href="#Suggestion-or-Bug-Reporting">Suggestion or Bug Reporting</a>,
for instructions on how to ask a
question, suggest a feature or report a bug in Hyperbole. A few
-commonly asked questions are answered in this manual. See <a
href="#Questions-and-Answers">Questions and Answers</a>. See <a
href="#References">References</a>, if you are interested in classic
-articles on hypertext.
+commonly asked questions are answered in this manual, see <a
href="#Questions-and-Answers">Questions and Answers</a>. If you are interested
in classic
+articles on hypertext, see <a href="#References">References</a>.
</p>
<p>See <a href="#Smart-Keys">Smart Keys</a>, for an explanation of the
innovative, context-sensitive
mouse and keyboard Action and Assist Keys offered by Hyperbole.
See <a href="#Smart-Key-Reference">Smart Key Reference</a>, for a complete
reference on what the Action
and Assist Keys do in each particular context that they recognize.
-See <a href="#Smart-Key-Argument-Selection">Smart Key Argument Selection</a>,
for special support that Hyperbole
-provides for entering arguments when prompted for them.
+See <a href="#Smart-Key-Argument-Selection">Smart Key Argument Selection</a>,
for how Hyperbole speeds selection of
+prompted for arguments.
</p>
<p>Keep in mind as you read about using Hyperbole that in many cases, it
-provides a number of overlapping interaction methods that support
-differing work styles and hardware limitations. In such instances,
-you need learn only one technique that suits you.
+provides a number of overlapping interaction methods that support differing
+work styles and hardware limitations. In such instances, you need learn
+only one technique that suits you.
</p>
<p>See <a href="#Buttons">Buttons</a>, for an overview of Hyperbole buttons
and how to use them.
</p>
@@ -856,13 +892,12 @@ with in their everyday worklife is seldom stored away in
neatly defined
database schemas. Instead it is scattered among local and remote files,
e-mail messages, faxes, voice mail and web pages.
</p>
-<p>The rise of the web has demonstrated how hypertext technologies can be
-used to build massive organized repositories of scattered information.
-But assembling information for the web still remains a great challenge
-to many and the data formats of the web are inherently still too
-structured to deal with the great variety of information that people
-process. Modern web development often requires the use of many
-languages: HTML, JavaScript, CSS and Java. This in itself prevents
+<p>The rise of the web has demonstrated how hypertext technologies can be used
+to build massive organized repositories of scattered information. But
+assembling information for the web still remains a great challenge and the
+data formats of the web are too structured to deal with the great variety
+of information that people process. Modern web development requires the
+use of many languages: HTML, JavaScript, and CSS. This in itself prevents
its use as the prime means of organizing and interlinking the constant
flows of daily information.
</p>
@@ -908,17 +943,16 @@ archives, and the World-Wide Web (WWW).
</p>
<dl compact="compact">
<dt><em>Buttons and Smart Keys</em></dt>
-<dd><p>a set of hyperbutton types that provides core hypertext and other
-behaviors, see <a href="#Buttons">Buttons</a>. 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.
+<dd><p>Hyperbole hyperlink and other kinds of buttons (explicit buttons) may be
+added to documents 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. See <a href="#Buttons">Buttons</a>.
</p>
<p>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.
+can develop new types and button actions quickly.
</p>
<p>Hyperbole includes two special <em>Smart Keys</em>, the Action Key and the
Assist Key, that perform an extensive array of context-sensitive
@@ -926,7 +960,7 @@ 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. See <a href="#Smart-Keys">Smart Keys</a>.
+right thing happens. See <a href="#Smart-Keys">Smart Keys</a>;
</p>
</dd>
<dt><em>Contact and Text Finder</em></dt>
@@ -1042,8 +1076,8 @@ other documents.
<dt><em>brainstorming</em></dt>
<dd><p>The Hyperbole outliner (see <a href="#Koutliner">Koutliner</a>) is an
effective tool for
capturing ideas and then quickly reorganizing them in a meaningful way.
-Links to related ideas are easy enough to create that copying and
-pasting ideas together quickly becomes a dated technique.
+Links to related ideas are easy to create so the need to copy and
+paste information is greatly reduced.
</p>
</dd>
<dt><em>help/training systems</em></dt>
@@ -1107,15 +1141,15 @@ behavior in all contexts.
</td></tr>
<tr><td align="left" valign="top">• <a href="#Smart-Key-Operations"
accesskey="2">Smart Key Operations</a>:</td><td> </td><td
align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a href="#Smart-Key-Modeline-Clicks"
accesskey="3">Smart Key Modeline Clicks</a>:</td><td> </td><td
align="left" valign="top">
+<tr><td align="left" valign="top">• <a
href="#Smart-Key-Argument-Selection" accesskey="3">Smart Key Argument
Selection</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a href="#Smart-Key-Thing-Selection"
accesskey="4">Smart Key Thing Selection</a>:</td><td> </td><td
align="left" valign="top">
+<tr><td align="left" valign="top">• <a href="#Smart-Key-Debugging"
accesskey="4">Smart Key Debugging</a>:</td><td> </td><td
align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a
href="#Smart-Key-Argument-Selection" accesskey="5">Smart Key Argument
Selection</a>:</td><td> </td><td align="left" valign="top">
+<tr><td align="left" valign="top">• <a href="#Smart-Key-Thing-Selection"
accesskey="5">Smart Key Thing Selection</a>:</td><td> </td><td
align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a href="#Smart-Key-Modifiers"
accesskey="6">Smart Key Modifiers</a>:</td><td> </td><td
align="left" valign="top">
+<tr><td align="left" valign="top">• <a
href="#Smart-Mouse-Key-Modeline-Clicks" accesskey="6">Smart Mouse Key Modeline
Clicks</a>:</td><td> </td><td align="left" valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a href="#Smart-Key-Debugging"
accesskey="7">Smart Key Debugging</a>:</td><td> </td><td
align="left" valign="top">
+<tr><td align="left" valign="top">• <a href="#Smart-Mouse-Key-Drags"
accesskey="7">Smart Mouse Key Drags</a>:</td><td> </td><td
align="left" valign="top">
</td></tr>
</table>
@@ -1150,13 +1184,12 @@ under an external window system.
<a name="index-unshifted-mouse-keys"></a>
<a name="index-mouse-keys_002c-unshifted"></a>
<a name="index-smart-keys_002c-unshifted"></a>
-<p>Users or those who set the variable, <code>hmouse-middle-flag</code>,
-to ‘<samp>t</samp>’ before loading Hyperbole, may also use the
middle mouse
-key as the Action Key). If you want both the middle mouse key as the
-Action Key and the right mouse key as the Assist Key for ease of use,
-then within your personal <samp>~/.emacs</samp> file, add:
- <code>(add-hook 'hyperbole-init-hook 'hmouse-add-unshifted-smart-keys)</code>
-and then restart Emacs.
+<p>If you set the variable, <code>hmouse-middle-flag</code>, to
‘<samp>t</samp>’ before
+loading Hyperbole, then you may also use the middle mouse key as the Action
+Key). If you want both the middle mouse key as the Action Key and the
+right mouse key as the Assist Key for ease of use, then within your
+personal <samp>~/.emacs</samp> file, add: <code>(add-hook 'hyperbole-init-hook
+'hmouse-add-unshifted-smart-keys)</code> and then restart Emacs.
</p>
<a name="index-key-binding_002c-smart-keys"></a>
<a name="index-smart-key-commands"></a>
@@ -1168,37 +1201,38 @@ and then restart Emacs.
<p>If you prefer other key assignments, simply bind the commands
<code>action-key</code> and <code>assist-key</code> to keyboard keys.
<code>hkey-either</code> may be used instead if you prefer a single
-key binding for both commands; a prefix argument, such as <kbd>{C-u}</kbd>,
-then invokes <code>assist-key</code>. You may also bind
<code>action-mouse-key</code>
-and <code>assist-mouse-key</code> to other mouse keys, if you like, though
-you won’t be able to execute drag actions with such key bindings.
+key binding for both commands; a prefix argument, such as <kbd>{C-u}</kbd>,
then
+invokes <code>assist-key</code>. You may also bind
<code>action-mouse-key</code>
+and <code>assist-mouse-key</code> to other mouse keys, though you won’t
be able
+to execute mouse drag actions with such key bindings.
</p>
<p>Mouse configuration of the Smart Keys is automatic for GNU Emacs under
Mac OS X, the X Window System and MS Windows assuming your emacs program
has been built with support for any of these window systems.
</p>
<a name="index-file_002c-_002eemacs"></a>
-<a name="index-hmouse_002dtoggle_002dbindings"></a>
-<a name="index-mouse-key-toggle"></a>
-<a name="index-Smart-Mouse-Key-toggle"></a>
-<a name="index-C_002dc-t"></a>
-<p>If you ever want to restore the mouse bindings that existed before
-Hyperbole was loaded, use the <code>hmouse-toggle-bindings</code> command.
-It switches between the Hyperbole mouse key bindings and those set
-prior to loading Hyperbole and then back again if invoked once more.
-There is no default key binding for this command; use <kbd>{M-x
-hmouse-toggle-bindings <span class="key">RET</span>}</kbd>. Alternatively,
you may select a
-key and bind it as part of any setting of <code>hyperbole-init-hook</code>
-within your personal <samp>~/.emacs</samp> file. For example, <code>(add-hook
-'hyperbole-init-hook (lambda () (global-set-key "\C-ct"
-'hmouse-toggle-bindings)))</code>.
+<a name="index-hyperbole_002dtoggle_002dbindings"></a>
+<a name="index-change-key-bindings"></a>
+<a name="index-toggle-key-bindings"></a>
+<a name="index-key-bindings_002c-toggle"></a>
+<a name="index-disable-Hyperbole"></a>
+<a name="index-C_002dc-h"></a>
+<p>If you ever need to temporarily disable the Hyperbole keyboard and mouse
+bindings, use the <code>hyperbole-toggle-bindings</code> command. It switches
+between the Hyperbole key bindings and those set prior to loading Hyperbole
+and then back again if invoked once more. There is no default key binding
+for this command; use <kbd>{M-x hyperbole-toggle-bindings
+<span class="key">RET</span>}</kbd>. Alternatively, you may select a key and
bind it as part of any
+setting of <code>hyperbole-init-hook</code> within your personal
<samp>~/.emacs</samp>
+file. For example, <code>(add-hook 'hyperbole-init-hook (lambda ()
+(global-set-key "\C-ch" 'hyperbole-toggle-bindings)))</code>.
</p>
<hr>
<a name="Smart-Key-Operations"></a>
<div class="header">
<p>
-Next: <a href="#Smart-Key-Modeline-Clicks" accesskey="n" rel="next">Smart Key
Modeline Clicks</a>, Previous: <a href="#Smart-Key-Bindings" accesskey="p"
rel="prev">Smart Key Bindings</a>, Up: <a href="#Smart-Keys" accesskey="u"
rel="up">Smart Keys</a> [<a href="#SEC_Contents" title="Table of
contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+Next: <a href="#Smart-Key-Argument-Selection" accesskey="n" rel="next">Smart
Key Argument Selection</a>, Previous: <a href="#Smart-Key-Bindings"
accesskey="p" rel="prev">Smart Key Bindings</a>, Up: <a href="#Smart-Keys"
accesskey="u" rel="up">Smart Keys</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index"
title="Index" rel="index">Index</a>]</p>
</div>
<a name="Smart-Key-Operations-1"></a>
<h3 class="section">2.2 Smart Key Operations</h3>
@@ -1215,12 +1249,12 @@ function to whatever the Action Key does within a
context.
<a name="index-menu-item_002c-Doc_002fSmartKeys"></a>
<a name="index-Smart-Key-summary"></a>
<a name="index-modeline_002c-Smart-Keys"></a>
-<p>The Hyperbole Doc/SmartKeys menu entry displays a summary of what the
-Smart Keys do in all of their different contexts. Alternatively, a
-click of the Assist Mouse Key in the right corner of a window
-modeline (within the rightmost 3 characters) toggles between
-displaying this summary and hiding it. Reference this summary
-whenever you need it.
+<p>The Hyperbole Doc/SmartKeys menu entry, <kbd>{C-h h d s}</kbd>, displays a
+summary of what the Smart Keys do in all of their different contexts.
+Alternatively, a click of the Assist Mouse Key in the right corner of a
+window modeline (within the rightmost 3 characters) toggles between
+displaying this summary and hiding it. Reference this summary whenever you
+need it.
</p>
<p>The following table is the same summary. Much of the browsing power
of Hyperbole comes from the use of the Smart Keys, so spend some time
@@ -1392,13 +1426,188 @@ to Hyperbole, so you must press the shift key when you
type
the <tt class="key">A</tt> character.
</p>
<hr>
-<a name="Smart-Key-Modeline-Clicks"></a>
+<a name="Smart-Key-Argument-Selection"></a>
+<div class="header">
+<p>
+Next: <a href="#Smart-Key-Debugging" accesskey="n" rel="next">Smart Key
Debugging</a>, Previous: <a href="#Smart-Key-Operations" accesskey="p"
rel="prev">Smart Key Operations</a>, Up: <a href="#Smart-Keys" accesskey="u"
rel="up">Smart Keys</a> [<a href="#SEC_Contents" title="Table of
contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Smart-Key-Argument-Selection-1"></a>
+<h3 class="section">2.3 Smart Key Argument Selection</h3>
+
+<a name="index-Hyperbole-help"></a>
+<p>A prime design criterion of Hyperbole’s user interface is that you
+should be able to see what an operation will do before using it. The
+Assist Key typically shows you what a button or minibuffer menu item
+will do before you activate it. Hyperbole also displays the result of
+directly selecting an argument value with the Action Key, to provide
+feedback as to whether the correct item has been selected. A second
+press/click is necessary before an argument is accepted and processed.
+</p>
+<a name="index-argument-entry"></a>
+<a name="index-direct-selection"></a>
+<a name="index-double-click"></a>
+<p>Many Hyperbole commands prompt you for arguments. The standard
+Hyperbole user interface has an extensive core of argument types that
+it recognizes. Whenever Hyperbole is prompting you for an argument,
+it knows the type that it needs and provides some error checking to
+help you get it right. More importantly, it allows you to press the
+Action Key within an entity that you want to use as an argument and it
+will grab the appropriate thing and show it to you at the input prompt
+within the minibuffer. If you press (click with a mouse) the Action
+Key on the same thing again, it accepts the entity as the argument
+and moves on. Thus, a double click registers a desired argument.
+Double-quoted strings, pathnames, mail messages, Info nodes, dired
+listings, buffers, numbers, completion items and so forth are all
+recognized at appropriate times. All of the argument types mentioned
+in the documentation for the Emacs Lisp <code>interactive</code> function
+are recognized. Experiment a little and you will quickly get used to
+this direct selection technique.
+</p>
+<a name="index-completion"></a>
+<p>Wherever possible, standard Emacs completion is offered, as described in
+<a
href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Completion">Completion</a>
in <cite>the GNU Emacs Manual</cite>. Remember to use <kbd>{?}</kbd>
+to see what your possibilities for an argument are. Once you have a
+list of possible completions on screen, press the Action Key twice on
+any item to enter it as the argument.
+</p>
+<hr>
+<a name="Smart-Key-Debugging"></a>
+<div class="header">
+<p>
+Next: <a href="#Smart-Key-Thing-Selection" accesskey="n" rel="next">Smart Key
Thing Selection</a>, Previous: <a href="#Smart-Key-Argument-Selection"
accesskey="p" rel="prev">Smart Key Argument Selection</a>, Up: <a
href="#Smart-Keys" accesskey="u" rel="up">Smart Keys</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Key-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Smart-Key-Debugging-1"></a>
+<h3 class="section">2.4 Smart Key Debugging</h3>
+
+<p>Typically, <kbd>{C-h A}</kbd> and <kbd>{C-u C-h A}</kbd> which show Action
and
+Assist Key help for the current context, are sufficient for seeing how
+the Smart Keys behave no matter where they are used.
+</p>
+<a name="index-C_002dh-h-c-d"></a>
+<a name="index-Smart-Key-debugging"></a>
+<a name="index-menu-item_002c-Cust_002fDebug_002dToggle"></a>
+<a name="index-debugging-Smart-Keys"></a>
+<a name="index-troubleshooting-Smart-Keys"></a>
+<a name="index-Messages-buffer"></a>
+<a name="index-logging-Smart-Key-behavior"></a>
+<p>However, if a Smart Key ever behaves differently than you think it
+should or if you want to test how the Smart Keys respond in a new
+context, then the Smart Key debugging flag may be of use. You toggle
+it on and off with <kbd>{C-h h c d}</kbd> (minibuffer menu
+Cust/Debug-Toggle). Once enabled, this displays a message in the
+minibuffer each time the Action or Assist Key is released, showing
+the context of the press and its associated action, so you can see
+exactly what is happening whenever you use a Smart Key. These
+messages are all prefaced with “(HyDebug)” and logged to the
+“*Messages*” buffer for later viewing.
+</p>
+<a name="index-C_002dh-h-m-c"></a>
+<a name="index-C_002dh-h-m-r"></a>
+<p>If you do find a problem with the Smart Keys and want to report a bug,
+use <kbd>{C-h h m r}</kbd> to compose an email message to the bug-hyperbole
+list. Hyperbole will automatically include all of the “(HyDebug)”
+messages from your current emacs session into your email. Similarly,
+when you compose an email to the hyperbole-users mailing list
+with <kbd>{C-h h m c}</kbd>, these messages are also included.
+</p>
+<hr>
+<a name="Smart-Key-Thing-Selection"></a>
+<div class="header">
+<p>
+Next: <a href="#Smart-Mouse-Key-Modeline-Clicks" accesskey="n"
rel="next">Smart Mouse Key Modeline Clicks</a>, Previous: <a
href="#Smart-Key-Debugging" accesskey="p" rel="prev">Smart Key Debugging</a>,
Up: <a href="#Smart-Keys" accesskey="u" rel="up">Smart Keys</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Key-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Smart-Key-Thing-Selection-1"></a>
+<h3 class="section">2.5 Smart Key Thing Selection</h3>
+
+<a name="index-sexp-selection"></a>
+<a name="index-code-block-selection"></a>
+<a name="index-selection"></a>
+<a name="index-smart-selection"></a>
+<a name="index-smart-marking"></a>
+<a name="index-region-selection"></a>
+<a name="index-things"></a>
+<a name="index-delimited-things"></a>
+<p>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. A great deal of smarts are built-in so that it
+does the right thing most of the time; many other attempts at similar
+behavior such as <samp>thing.el</samp> fail to deal with many file format
+complexities.
+</p>
+<p>We use the term <em>things</em> to refer to structured entities that
+Hyperbole can select. These include: delimited pairs of (), {}, <>,
+[] and quote marks, source code functions, source code comments and
+matching tag pairs in HTML and SGML modes. <em>Delimited things</em> are
+those things that contain a selectable delimiter such as an opening
+parenthesis.
+</p>
+<a name="index-HTML-tag-pair"></a>
+<a name="index-SGML-tag-pair"></a>
+<p>The best way to mark a delimited thing is to move your cursor to the
+starting delimiter of the thing and then press the Action Key. Typically,
+you will see the thing highlight. You can then operate upon it as you
+would any Emacs region. In many cases, you can do the same thing upon
+the closing delimiter, but this is not as reliable. An Action Key
+press on the start of an HTML or SGML tag pair marks the entire region
+span of the pair. If you use the Assist Key instead, it will mark and
+kill (delete) the thing.
+</p>
+<a name="index-drag_002c-with-region"></a>
+<a name="index-kill-region"></a>
+<a name="index-yank-region"></a>
+<a name="index-cut-region"></a>
+<a name="index-copy-region"></a>
+<a name="index-paste-region"></a>
+<p>Even better are Smart Mouse Key drags which let you copy or move
+delimited things in one operation without even highlighting them. To
+copy, simply drag with the Action Key from a thing’s opening delimiter
+and release somewhere outside of the thing, either within the same
+window or within another window. The thing will be copied to the
+point of release. If you want to move a thing, simply perform the
+same drag but with the Assist Mouse Key. Ensure that you do not move
+any explicit buttons from one buffer to another as that does not
+work.
+</p>
+<p>Try out some of these operations in HTML or source code files to see
+how they can speed your editing.
+</p>
+<p>Hyperbole also binds two convenience keys for working with things.
+</p>
+<a name="index-C_002dc-RET"></a>
+<a name="index-hui_002dselect_002dthing"></a>
+<a name="index-hui_002dselect_002dthing_002dwith_002dmouse"></a>
+<p>The first such key is <kbd>{C-c <span class="key">RET</span>}</kbd>
<code>hui-select-thing</code> which
+selects bigger and bigger syntactic regions with each successive use.
+Double or triple clicks of the Selection Key (left mouse key) do the same
+thing. The first press selects a region based upon the character at point.
+For example, with point over an opening or closing grouping character, such
+as { or }, the whole grouping is selected, e.g. a C function. When on an
+_ or - within a programming language identifier name, the whole name is
+selected. The type of selection is displayed in the minibuffer as
+feedback. When using a language in which indentation determines nesting
+level like Python, a double click on the first alpha character of a line,
+such as an if statement, selects the current clause (until the next line at
+the same or lesser indentation). Use <kbd>{C-g}</kbd> to unmark the region
when
+done. Use, <code>hui-select-thing-with-mouse</code> if you want to bind this
to
+a different mouse key to use single clicks instead of double clicks.
+</p>
+<a name="index-C_002dc-_002e"></a>
+<a name="index-hui_002dselect_002dgoto_002dmatching_002dtag"></a>
+<p>The second convenience key is bound only in HTML/web mode. <kbd>{C-c
+.}</kbd> <code>hui-select-goto-matching-tag</code> jumps between the opening
and
+closing tag of a pair. It moves point to the start of the tag paired
+with the closest tag that point is within or which it precedes. A
+second press moves point to the matching tag of the pair, allowing you
+to quickly jump back and forth between opening and closing tags.
+</p>
+<hr>
+<a name="Smart-Mouse-Key-Modeline-Clicks"></a>
<div class="header">
<p>
-Next: <a href="#Smart-Key-Thing-Selection" accesskey="n" rel="next">Smart Key
Thing Selection</a>, Previous: <a href="#Smart-Key-Operations" accesskey="p"
rel="prev">Smart Key Operations</a>, Up: <a href="#Smart-Keys" accesskey="u"
rel="up">Smart Keys</a> [<a href="#SEC_Contents" title="Table of
contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+Next: <a href="#Smart-Mouse-Key-Drags" accesskey="n" rel="next">Smart Mouse
Key Drags</a>, Previous: <a href="#Smart-Key-Thing-Selection" accesskey="p"
rel="prev">Smart Key Thing Selection</a>, Up: <a href="#Smart-Keys"
accesskey="u" rel="up">Smart Keys</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index"
title="Index" rel="index">Index</a>]</p>
</div>
-<a name="Smart-Key-Modeline-Clicks-1"></a>
-<h3 class="section">2.3 Smart Key Modeline Clicks</h3>
+<a name="Smart-Mouse-Key-Modeline-Clicks-1"></a>
+<h3 class="section">2.6 Smart Mouse Key Modeline Clicks</h3>
<p>Smart Mouse Key clicks on a window’s modeline offer many powerful
browsing
features, including directory editing (dired), user manual browsing, and
@@ -1420,12 +1629,12 @@ the bottom buffer.
</p>
<a name="index-modeline_002c-next-buffer"></a>
<a name="index-modeline_002c-prev-buffer"></a>
-<p>A similar effect can be achieved with the standard Emacs mouse 1 and 3
buttons
-on the Buffer Id element of modeline which cycle through previous and next
-buffers respectively. This may be easier to use since you can click anywhere
-on the buffer identifier.
+<p>A similar effect can be achieved with the standard Emacs mouse 1 (left) and
+3 (right) buttons on the Buffer ID element of modeline to cycle through
+previous and next buffers, respectively. This may be easier to use since
+you can click anywhere on the buffer identifier.
</p>
-</li><li> Buffer Id Element
+</li><li> Buffer ID Element
<a name="index-dired"></a>
<a name="index-modeline_002c-dired"></a>
@@ -1435,15 +1644,15 @@ on the buffer identifier.
<p>On the left part of the modeline is the buffer identification,
generally the name of the buffer in use. An Action Key click on that
switches the window to edit the buffer’s directory using dired.
-Action Key clicks on directory items in dired display the items
-in other windows. An Action Key drag from an item to another window
-displays the item in that window.
+Then Action Key clicks on directory items in the dired buffer display the
+items selected in other windows. An Action Key drag from an item to
+another window displays the item in that window.
</p>
-<p>An Action Key click on the first buffer line containing the current
-directory path, specifically on any ancestor part of the path (the part to
-the left of the click point), starts another dired session on the ancestor
-directory. Click at the end of this line to end the dired session (bury
-its buffer).
+<p>An Action Key click on the first line in a dired buffer which contains the
+current directory path, specifically on any ancestor part of the path (the
+part to the left of the click point), starts another dired session on the
+ancestor directory. Click at the end of this line to end the dired session
+(bury its buffer).
</p>
</li><li> Large Blank Area
@@ -1458,6 +1667,13 @@ list of all buffers. Once displayed, an Action Key
click on a buffer
item will display it in another window. You can drag items to specific
windows for display as well.
</p>
+<p>Alternatively, you may (1) display the buffer menu, (2) use its
<kbd>{m}</kbd>
+command to mark buffers, and (3) use the Hyperbole <kbd>address@hidden</kbd>
command to
+display the marked buffers in a grid of popup windows whose number of
+rows and columns you specify at the prompt or via a prefix argument.
+This also works in <code>ibuffer-menu</code> and <code>dired</code> modes.
+See <a href="#HyControl">HyControl</a>.
+</p>
<p>An Assist Key click in the blank area of the modeline displays a quick
access menu of display-oriented commands. You can jump to buffers
categorized by major mode, jump to windows by buffer name, or to
@@ -1489,14 +1705,14 @@ Smart Key summary, as noted earlier.
<a name="index-ibuffer-menu"></a>
<p>Hyperbole modeline mouse click actions are controlled by the two functions,
<code>action-key-modeline</code> and <code>assist-key-modeline</code>. If you
know
-a little Emacs Lisp you can change these to do whatever you like.
-When a Smart Key press is on a blank part of a modeline but not at
-the left or right, the function given by one of these two variables
-is executed: <code>action-key-modeline-function</code> or
+a little Emacs Lisp you can change these to do whatever you like. When a
+Smart Key press is on a blank part of a modeline but not at the left or
+right, the function given by one of these two variables is
+executed: <code>action-key-modeline-function</code> or
<code>assist-key-modeline-function</code>. By default, the Action Key toggles
between displaying and hiding the buffer menu. If you like the more
-advanced features of <code>Ibuffer Mode</code>, you can change the buffer menu
-to use that with the following in your Emacs initialization file:
+advanced features of <code>Ibuffer Mode</code>, you can change the buffer menu
to
+use that with the following in your Emacs initialization file:
<code>(setq action-key-modeline-function #'hmouse-context-ibuffer-menu)</code>.
To set it back to the default use:
<code>(setq action-key-modeline-function #'hmouse-context-menu)</code>.
@@ -1523,223 +1739,230 @@ to <code>dired-jump</code>. Then press the
“Apply and Save” button.
</p></li></ul>
<hr>
-<a name="Smart-Key-Thing-Selection"></a>
+<a name="Smart-Mouse-Key-Drags"></a>
<div class="header">
<p>
-Next: <a href="#Smart-Key-Argument-Selection" accesskey="n" rel="next">Smart
Key Argument Selection</a>, Previous: <a href="#Smart-Key-Modeline-Clicks"
accesskey="p" rel="prev">Smart Key Modeline Clicks</a>, Up: <a
href="#Smart-Keys" accesskey="u" rel="up">Smart Keys</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Key-Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#Smart-Mouse-Key-Modeline-Clicks" accesskey="p"
rel="prev">Smart Mouse Key Modeline Clicks</a>, Up: <a href="#Smart-Keys"
accesskey="u" rel="up">Smart Keys</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index"
title="Index" rel="index">Index</a>]</p>
</div>
-<a name="Smart-Key-Thing-Selection-1"></a>
-<h3 class="section">2.4 Smart Key Thing Selection</h3>
+<a name="Smart-Mouse-Key-Drags-1"></a>
+<h3 class="section">2.7 Smart Mouse Key Drags</h3>
-<a name="index-sexp-selection"></a>
-<a name="index-code-block-selection"></a>
-<a name="index-selection"></a>
-<a name="index-smart-selection"></a>
-<a name="index-smart-marking"></a>
-<a name="index-region-selection"></a>
-<a name="index-things"></a>
-<a name="index-delimited-things"></a>
-<p>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. A great deal of smarts are
-built-in so that it does the right thing most of the time; many other
-attempts at similar behavior such as thing.el fail to deal with many
-file format complexities.
-</p>
-<p>We use the term <em>things</em> to refer to structured entities that
-Hyperbole can select. These include: delimited pairs of (), {}, <>,
-[] and quote marks, source code functions, source code comments and
-matching tag pairs in HTML and SGML modes. <em>Delimited things</em> are
-those things that contain a selectable delimiter such as an opening
-parenthesis.
+<a name="index-smart-mouse-key-drag"></a>
+<a name="index-Action-Mouse-Key-drag"></a>
+<a name="index-Assist-Mouse-Key-drag"></a>
+<a name="index-drag_002c-Smart-Mouse-Key"></a>
+<p>As mentioned in the section on Thing Selection, Hyperbole Smart Mouse Key
+drag actions can be quite useful. This section summarizes other drag
+contexts and actions; for complete documentation, see <a
href="#Smart-Mouse-Keys">Smart Mouse Keys</a>.
</p>
-<a name="index-HTML-tag-pair"></a>
-<a name="index-SGML-tag-pair"></a>
-<p>The best way to mark a delimited thing is to move your cursor to the
-starting delimiter of the thing and then press the Action Key. Typically,
-you will see the thing highlight. You can then operate upon it as you
-would any Emacs region. In many cases, you can do the same thing upon
-the closing delimiter but this is not as reliable. An Action Key
-press on the start of an HTML or SGML tag pair marks the entire region
-span of the pair. If you use the Assist Key instead, it will mark and
-kill (delete) the thing.
-</p>
-<a name="index-drag_002c-with-region"></a>
-<a name="index-kill-region"></a>
-<a name="index-yank-region"></a>
-<a name="index-cut-region"></a>
-<a name="index-copy-region"></a>
-<a name="index-paste-region"></a>
-<p>Even better are Smart Mouse Key drags which let you copy or move
-delimited things in one operation without even highlighting them. To
-copy, simply drag with the Action Key from a thing’s opening delimiter
-and release somewhere outside of the thing, either within the same
-window or within another window. The thing will be copied to the
-point of release. If you want to move a thing, simply perform the
-same drag but with the Assist Mouse Key. Ensure that you do not move
-any explicit buttons from one buffer to another as that does not
-presently work.
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a
href="#Creating-and-Deleting-Windows" accesskey="1">Creating and Deleting
Windows</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#Saving-and-Restoring-Window-Configurations" accesskey="2">Saving and
Restoring Window Configurations</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Resizing-Windows"
accesskey="3">Resizing Windows</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Dragging-Buffers"
accesskey="4">Dragging Buffers</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+</table>
+
+<hr>
+<a name="Creating-and-Deleting-Windows"></a>
+<div class="header">
+<p>
+Next: <a href="#Saving-and-Restoring-Window-Configurations" accesskey="n"
rel="next">Saving and Restoring Window Configurations</a>, Previous: <a
href="#Smart-Mouse-Key-Drags" accesskey="p" rel="prev">Smart Mouse Key
Drags</a>, Up: <a href="#Smart-Mouse-Key-Drags" accesskey="u" rel="up">Smart
Mouse Key Drags</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Creating-and-Deleting-Windows-1"></a>
+<h4 class="subsection">2.7.1 Creating and Deleting Windows</h4>
+
+<a name="index-drag_002c-horizontal"></a>
+<a name="index-horizontal-drag"></a>
+<a name="index-drag_002c-vertical"></a>
+<a name="index-vertical-drag"></a>
+<p>Horizontal and vertical drags of the Smart Mouse Keys are used to split and
+delete Emacs windows.
</p>
-<p>Try out some of these operations in HTML or source code files to see
-how they can speed your editing.
+<p>An Action Mouse Key horizontal drag of five or more characters in either
+direction within a single window creates a new window by splitting the
+current window into two windows, one atop the other. An Action Mouse Key
+vertical drag in either direction splits the current window into two
+side-by-side windows. A horizontal or vertical drag of the Assist Mouse
+Key within a single window, deletes that window.
</p>
-<p>Hyperbole also binds two convenience keys for working with things.
+<a name="index-C_002dx-_002b"></a>
+<a name="index-rebalance-windows"></a>
+<a name="index-windows_002c-rebalance"></a>
+<p>If you split windows many times and then delete a number of the windows,
+you’ll be left with windows of differing heights. Use <kbd>{C-x
+}</kbd> to
+re-balance the sizes of the remaining windows, so they are fairly even.
</p>
-<a name="index-C_002dc-RET"></a>
-<a name="index-hui_002dselect_002dthing"></a>
-<a name="index-hui_002dselect_002dthing_002dwith_002dmouse"></a>
-<p>The first such key is <kbd>{C-c <span class="key">RET</span>}</kbd>
<code>hui-select-thing</code>
-which selects bigger and bigger syntactic regions with each successive
-use. Double or triple clicks of the Selection Key (left mouse key) do
-the same thing. The first press selects a region based upon the
-character at point. For example, with point over an opening or
-closing grouping character, such as { or }, the whole grouping is
-selected, e.g. a C function. When on an _ or - within a programming
-language identifier name, the whole name is selected. The type of
-selection is displayed in the minibuffer as feedback. When using a
-language in which indentation determines nesting level like Python, a
-double click on the first alpha character of a line, such as an if
-statement, selects the whole statement. Use <kbd>{C-g}</kbd> to unmark the
-region when done. Use, <code>hui-select-thing-with-mouse</code> if you want
-to bind this to a different mouse key to use single clicks instead of
-double clicks.
+<hr>
+<a name="Saving-and-Restoring-Window-Configurations"></a>
+<div class="header">
+<p>
+Next: <a href="#Resizing-Windows" accesskey="n" rel="next">Resizing
Windows</a>, Previous: <a href="#Creating-and-Deleting-Windows" accesskey="p"
rel="prev">Creating and Deleting Windows</a>, Up: <a
href="#Smart-Mouse-Key-Drags" accesskey="u" rel="up">Smart Mouse Key Drags</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Saving-and-Restoring-Window-Configurations-1"></a>
+<h4 class="subsection">2.7.2 Saving and Restoring Window Configurations</h4>
+
+<a name="index-window-configuration-drag"></a>
+<a name="index-drag_002c-window-configuration"></a>
+<a name="index-drag_002c-diagonal"></a>
+<a name="index-diagonal-drag"></a>
+<p>A window configuration consists of the set of windows within a single Emacs
+frame. This includes their locations, buffers, and the scrolled positions of
+their buffers.
</p>
-<a name="index-C_002dc-_002e"></a>
-<a name="index-hui_002dselect_002dgoto_002dmatching_002dtag"></a>
-<p>The second convenience key is bound only in HTML/web mode. <kbd>{C-c
-.}</kbd> <code>hui-select-goto-matching-tag</code> jumps between the opening
and
-closing tag of a pair. It moves point to the start of the tag paired
-with the closest tag that point is within or which it precedes. A
-second press moves point to the matching tag of the pair, allowing you
-to quickly jump back and forth between opening and closing tags.
+<p>Hyperbole allows you to save and restore window configurations with simple
+diagonal mouse drags within a single window. A diagonal drag in any
+direction of the Action Key saves the current window configuration to a
+ring of window configurations, just like the Emacs text kill ring.
+(See <a
href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Kill-Ring">Kill
Ring</a> in <cite>the Emacs Manual</cite>). Each diagonal drag in any
+direction of the Assist Key restores a prior saved window configuration
+from the ring. Window configurations are restored in reverse order of the
+way they were saved. Since a ring is circular, after the oldest element is
+restored, the newest element will again be restored and so on.
</p>
<hr>
-<a name="Smart-Key-Argument-Selection"></a>
+<a name="Resizing-Windows"></a>
<div class="header">
<p>
-Next: <a href="#Smart-Key-Modifiers" accesskey="n" rel="next">Smart Key
Modifiers</a>, Previous: <a href="#Smart-Key-Thing-Selection" accesskey="p"
rel="prev">Smart Key Thing Selection</a>, Up: <a href="#Smart-Keys"
accesskey="u" rel="up">Smart Keys</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index"
title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Dragging-Buffers" accesskey="n" rel="next">Dragging
Buffers</a>, Previous: <a href="#Saving-and-Restoring-Window-Configurations"
accesskey="p" rel="prev">Saving and Restoring Window Configurations</a>, Up: <a
href="#Smart-Mouse-Key-Drags" accesskey="u" rel="up">Smart Mouse Key Drags</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
</div>
-<a name="Smart-Key-Argument-Selection-1"></a>
-<h3 class="section">2.5 Smart Key Argument Selection</h3>
+<a name="Resizing-Windows-1"></a>
+<h4 class="subsection">2.7.3 Resizing Windows</h4>
-<a name="index-Hyperbole-help"></a>
-<p>A prime design criterion of Hyperbole’s user interface is that you
-should be able to see what an operation will do before using it. The
-Assist Key typically shows you what a button or minibuffer menu item
-will do before you activate it. Hyperbole also displays the result of
-directly selecting an argument value with the Action Key, to provide
-feedback as to whether the correct item has been selected. A second
-press/click is necessary before an argument is accepted and processed.
+<a name="index-resizing-windows"></a>
+<a name="index-drag_002c-resize-window"></a>
+<p>Emacs windows may be resized by dragging their window separators (modelines
+or vertical side lines) within a frame. Simply depress either Smart Mouse
+Key on a modeline or near a window side, hold it down while you drag to a
+new location and then release. The window separator will then jump to the
+location of release. Basically, just drag the window separator to where
+you want it. Nowadays a better version of Emacs window resizing exists on
+the left mouse key. A drag with this key from a blank area of a modeline
+or a window side divider shows visible feedback as the window is resized.
+But if you are always using the Smart Mouse Keys, you may prefer to use
+them for resizing windows as well.
</p>
-<a name="index-argument-entry"></a>
-<a name="index-direct-selection"></a>
-<a name="index-double-click"></a>
-<p>Many Hyperbole commands prompt you for arguments. The standard
-Hyperbole user interface has an extensive core of argument types that
-it recognizes. Whenever Hyperbole is prompting you for an argument,
-it knows the type that it needs and provides some error checking to
-help you get it right. More importantly, it allows you to press the
-Action Key within an entity that you want to use as an argument and it
-will grab the appropriate thing and show it to you at the input prompt
-within the minibuffer. If you press (click with a mouse) the Action
-Key on the same thing again, it accepts the entity as the argument
-and moves on. Thus, a double click registers a desired argument.
-Double-quoted strings, pathnames, mail messages, Info nodes, dired
-listings, buffers, numbers, completion items and so forth are all
-recognized at appropriate times. All of the argument types mentioned
-in the documentation for the Emacs Lisp <code>interactive</code> function
-are recognized. Experiment a little and you will quickly get used to
-this direct selection technique.
+<p>Note that you cannot drag the bottom-most modeline; you would have to
+resize the frame to move the bottom of that window up.
</p>
-<a name="index-completion"></a>
-<p>Wherever possible, standard Emacs completion is offered, as described in
-<a
href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Completion">Completion</a>
in <cite>the GNU Emacs Manual</cite>. Remember to use <kbd>{?}</kbd>
-to see what your possibilities for an argument are. Once you have a
-list of possible completions on screen, press the Action Key twice on
-any item to enter it as the argument.
+<hr>
+<a name="Dragging-Buffers"></a>
+<div class="header">
+<p>
+Previous: <a href="#Resizing-Windows" accesskey="p" rel="prev">Resizing
Windows</a>, Up: <a href="#Smart-Mouse-Key-Drags" accesskey="u" rel="up">Smart
Mouse Key Drags</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Dragging-Buffers_002c-Windows-and-Items"></a>
+<h4 class="subsection">2.7.4 Dragging Buffers, Windows and Items</h4>
+
+<p>Smart Mouse Key drags let you display buffers and windows however you want
+them. Dired and buffer-menu items may also be displayed in specific
+locations with drags. Below we explore these drag actions.
</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Swapping-Buffers"
accesskey="1">Swapping Buffers</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Displaying-Buffers"
accesskey="2">Displaying Buffers</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Cloning-Windows"
accesskey="3">Cloning Windows</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#Displaying-File-and-Buffer-Items" accesskey="4">Displaying File and
Buffer Items</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
<hr>
-<a name="Smart-Key-Modifiers"></a>
+<a name="Swapping-Buffers"></a>
<div class="header">
<p>
-Next: <a href="#Smart-Key-Debugging" accesskey="n" rel="next">Smart Key
Debugging</a>, Previous: <a href="#Smart-Key-Argument-Selection" accesskey="p"
rel="prev">Smart Key Argument Selection</a>, Up: <a href="#Smart-Keys"
accesskey="u" rel="up">Smart Keys</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Key-Index"
title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Displaying-Buffers" accesskey="n" rel="next">Displaying
Buffers</a>, Previous: <a href="#Dragging-Buffers" accesskey="p"
rel="prev">Dragging Buffers</a>, Up: <a href="#Dragging-Buffers" accesskey="u"
rel="up">Dragging Buffers</a> [<a href="#SEC_Contents" title="Table of
contents" rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
</div>
-<a name="Smart-Key-Modifiers-1"></a>
-<h3 class="section">2.6 Smart Key Modifiers</h3>
+<a name="Swapping-Buffers-1"></a>
+<h4 class="subsubsection">2.7.4.1 Swapping Buffers</h4>
-<p>For advanced users of Emacs and Hyperbole, there is
<code>hmouse-mod-mode</code>,
-a global minor mode which turns the Action Mouse Key into a <tt
class="key">Control</tt>
-modifier key and the Assist Key into a <tt class="key">Meta</tt> modifier key.
This
-allows for better keyboard energy balance across hands and is useful for
-reducing carpal tunnel stress. It may also be used with a <em>chord
-keyboard</em> in one hand and a mouse in the other to point at things while
-simultaneously operating upon them.
+<a name="index-swap-buffers"></a>
+<a name="index-window_002c-swap-buffer"></a>
+<a name="index-buffer_002c-swap"></a>
+<a name="index-drag_002c-buffer-swap"></a>
+<p>Swapping buffer locations is quick and easy with Hyperbole. Simply drag
+from one window to another with the Assist Key (not the Action Key). This
+works across frames as well.
</p>
-<a name="index-hmouse_002dmod_002dmode"></a>
-<a name="index-hmouse_002dmod_002dmode-1"></a>
-<a name="index-Smart-Keys-as-modifiers"></a>
-<a name="index-control-key-modifier"></a>
-<a name="index-meta-key-modifier"></a>
-<a name="index-chord-keyboards"></a>
-<p>Use the <code>hmouse-mod-mode</code> global minor mode to enable this
feature.
-<kbd>{C-u M-x hmouse-mod-mode <span class="key">RET</span>}</kbd> enables it
and adds
-‘<samp>HyMod</samp>’ to the list of modeline minor modes.
<kbd>{C-u 0 M-x
-hmouse-mod-mode <span class="key">RET</span>}</kbd> disables it and <kbd>{M-x
-hmouse-mod-mode <span class="key">RET</span>}</kbd> toggles it on and off.
+<p>If you have just two windows in an Emacs frame, you can swap their buffers
+from the keyboard. Use this Hyperbole minibuffer menu key sequence
+involving the tilde key to swap the buffers and quit from the Hyperbole
+minibuffer menu: <kbd>{C-h h s w ~ q}</kbd>.
</p>
-<p>When enabled, if the Action Key is held down while alpha characters
-are typed, they are translated into <tt class="key">Control</tt> keys instead.
The
-Assist Key translates them into <tt class="key">Meta</tt> keys. When both
Smart
-Keys are depressed, <tt class="key">Control-Meta</tt> keys are produced. The
-commands bound to the characters produced are then run. For example,
-Action Key + <kbd>{a}</kbd> runs the function for <kbd>{C-a}</kbd>. If no
-keys are typed while the Smart Keys are down, they operate as
-normally under Hyperbole.
+<hr>
+<a name="Displaying-Buffers"></a>
+<div class="header">
+<p>
+Next: <a href="#Cloning-Windows" accesskey="n" rel="next">Cloning Windows</a>,
Previous: <a href="#Swapping-Buffers" accesskey="p" rel="prev">Swapping
Buffers</a>, Up: <a href="#Dragging-Buffers" accesskey="u" rel="up">Dragging
Buffers</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Displaying-Buffers-1"></a>
+<h4 class="subsubsection">2.7.4.2 Displaying Buffers</h4>
+
+<a name="index-buffer_002c-copy"></a>
+<a name="index-copy-buffer"></a>
+<a name="index-drag_002c-copy-buffer"></a>
+<p>What if you want to display the same buffer in another window and not swap
+buffers? Depress the Action Mouse Key in the open area of the modeline of
+the source window and drag to the text area of the destination window.
+Voila, the buffer appears in the new location as well as the old one.
</p>
-<p>The code for Smart Key modifiers can be found in
-<samp><code>${hyperb:dir}</code>/hmouse-mod.el</samp>.
+<p>If you want a new window where you release (so the original destination
window’s
+buffer stays onscreen), just drag to a window’s modeline; that window
will be
+split before the buffer is displayed.
</p>
<hr>
-<a name="Smart-Key-Debugging"></a>
+<a name="Cloning-Windows"></a>
<div class="header">
<p>
-Previous: <a href="#Smart-Key-Modifiers" accesskey="p" rel="prev">Smart Key
Modifiers</a>, Up: <a href="#Smart-Keys" accesskey="u" rel="up">Smart Keys</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+Next: <a href="#Displaying-File-and-Buffer-Items" accesskey="n"
rel="next">Displaying File and Buffer Items</a>, Previous: <a
href="#Displaying-Buffers" accesskey="p" rel="prev">Displaying Buffers</a>, Up:
<a href="#Dragging-Buffers" accesskey="u" rel="up">Dragging Buffers</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
</div>
-<a name="Smart-Key-Debugging-1"></a>
-<h3 class="section">2.7 Smart Key Debugging</h3>
+<a name="Cloning-Windows-1"></a>
+<h4 class="subsubsection">2.7.4.3 Cloning Windows</h4>
-<p>Typically, <kbd>{C-h A}</kbd> and <kbd>{C-u C-h A}</kbd> which show Action
and
-Assist Key help for the current context, are sufficient for seeing how
-the Smart Keys behave no matter where they are used.
+<a name="index-clone-window"></a>
+<a name="index-window_002c-clone"></a>
+<a name="index-drag_002c-clone-window"></a>
+<p>To clone a window with its buffer to a new frame, simply drag the Action
Mouse
+Key from the window to outside of Emacs and release the key. A new frame will
+be created, selected and sized according to the original window. Do the same
+thing with the Assist Mouse Key and the original window will be deleted as
well,
+unless it is the only window in that frame.
</p>
-<a name="index-C_002dh-h-c-d"></a>
-<a name="index-Smart-Key-debugging"></a>
-<a name="index-menu-item_002c-Cust_002fDebug_002dToggle"></a>
-<a name="index-debugging-Smart-Keys"></a>
-<a name="index-troubleshooting-Smart-Keys"></a>
-<a name="index-Messages-buffer"></a>
-<a name="index-logging-Smart-Key-behavior"></a>
-<p>However, if a Smart Key ever behaves differently than you think it
-should or if you want to test how the Smart Keys respond in a new
-context, then the Smart Key debugging flag may be of use. You toggle
-it on and off with <kbd>{C-h h c d}</kbd> (minibuffer menu
-Cust/Debug-Toggle). Once enabled, this displays a message in the
-minibuffer each time the Action or Assist Key is released, showing
-the context of the press and its associated action, so you can see
-exactly what is happening whenever you use a Smart Key. These
-messages are all prefaced with “(HyDebug)” and logged to the
-“*Messages*” buffer for later viewing.
+<hr>
+<a name="Displaying-File-and-Buffer-Items"></a>
+<div class="header">
+<p>
+Previous: <a href="#Cloning-Windows" accesskey="p" rel="prev">Cloning
Windows</a>, Up: <a href="#Dragging-Buffers" accesskey="u" rel="up">Dragging
Buffers</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Displaying-File-and-Buffer-Items-1"></a>
+<h4 class="subsubsection">2.7.4.4 Displaying File and Buffer Items</h4>
+
+<a name="index-dired-item-drag"></a>
+<a name="index-buffer-menu-item-drag"></a>
+<a name="index-drag_002c-dired-item"></a>
+<a name="index-drag_002c-buffer-menu-item"></a>
+<p>You can do the same thing with items in dired, buffer menu and ibuffer menus
+rather than buffers themselves. Drag with the Action Mouse Key and the
selected
+item will be displayed in any Emacs window in which you release. Drag outside
+Emacs and it will be displayed in a new frame.
</p>
-<a name="index-C_002dh-h-m-c"></a>
-<a name="index-C_002dh-h-m-r"></a>
-<p>If you do find a problem with the Smart Keys and want to report a bug,
-use <kbd>{C-h h m r}</kbd> to compose an email message to the bug-hyperbole
-list. Hyperbole will automatically include all of the “(HyDebug)”
-messages from your current emacs session into your email. Similarly,
-when you compose an email to the hyperbole-users mailing list
-with <kbd>{C-h h m c}</kbd>, these messages are also included.
+<p>So now you can put a bunch of buffers and files on your screen wherever
+you like. Typically, a brief visual pulse is shown first at the source item
and
+then in the whole destination window, to help you see that the transfer has
been
+made. An Assist Key Drag will move the the item list buffer to the
+destination (swapping buffers), just as it does with other buffers.
</p>
+
+
+
+
+
<hr>
<a name="Buttons"></a>
<div class="header">
@@ -1792,7 +2015,7 @@ Implicit buttons may appear only within document contexts
allowed by
their types, which may limit the kinds of documents or the locations
within those documents at which such buttons may be found. All global
buttons for a user are stored in a single location and are activated by
-entering their names, rather than by direct selection, the means used to
+typing their names, rather than by direct selection, the means used to
activate explicit and implicit buttons.
</p>
<p>To summarize:
@@ -1801,19 +2024,19 @@ activate explicit and implicit buttons.
<pre class="example">Button Category Active Within Activation Means
Managed By
========================================================================
Explicit a single document direct selection Hyperbole
-Global any document entering its name Hyperbole
+Global any document typing its name Hyperbole
Implicit a matching context direct selection other tools
</pre></div>
<a name="index-terminal-use"></a>
<p>A click on a Hyperbole button may activate it or describe its actions,
-depending on which mouse key is used. Buttons may also be activated
-from a keyboard. (In fact, virtually all Hyperbole operations,
-including menu usage, may be performed from any standard character
-terminal interface, so you need not be anchored to a workstation all
-day). See <a href="#Smart-Keys">Smart Keys</a>. There is also a key that
shows you how a
-button will behave before you activated it, see <a
href="#Smart-Key-Operations">Smart Key Operations</a>.
+depending on which mouse key is used. Buttons may also be activated from a
+keyboard. (In fact, many Hyperbole operations, including menu usage, may
+be performed from any standard character terminal interface, so you need
+not be anchored to a desktop all day). See <a href="#Smart-Keys">Smart
Keys</a>. There is
+also a key that shows you how a button will behave before you activate
+it, see <a href="#Smart-Key-Operations">Smart Key Operations</a>.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">• <a href="#Explicit-Buttons"
accesskey="1">Explicit Buttons</a>:</td><td> </td><td align="left"
valign="top">
@@ -1874,20 +2097,19 @@ buttons, see <a
href="#Utilizing-Explicit-Buttons">Utilizing Explicit Buttons</a
</p>
<a name="index-link-button"></a>
<a name="index-referent"></a>
-<p>Each explicit button is assigned an action type that determines the
-actions it performs. <em>Link action types</em> connect buttons to
-particular types of <em>referents</em>, the targets of their links. Link
-action type names all begin with <code>link-</code>. Link action button
-referents are displayed when such buttons are by
-pressing or clicking upon them. See <a href="#Action-Types">Action Types</a>,
for a list of
-standard action types including link types.
+<p>Each explicit button is assigned an action type that determines the actions
+it performs. <em>Link action types</em> connect buttons to particular types
+of <em>referents</em>, the targets of their links. Link action type names all
+begin with <code>link-</code>. Link action button referents are displayed when
+such buttons are activated with a press or a click. See <a
href="#Action-Types">Action Types</a>,
+for a list of standard action types including link types.
</p>
<a name="index-linking_002c-in_002dplace"></a>
<a name="index-Hyperbole-data-model"></a>
<p>Hyperbole does not manage referent data; this is left to the
applications that generate the data. This means that Hyperbole
-provides in-place linking and does not require reformatting of data to
-integrate with Hyperbole.
+provides in-place linking and does not require reformatting data to
+integrate it with Hyperbole.
</p>
<a name="index-button-data"></a>
<a name="index-button-attribute"></a>
@@ -1918,7 +2140,7 @@ Next: <a href="#Implicit-Buttons" accesskey="n"
rel="next">Implicit Buttons</a>,
since they are embedded within particular buffers. Sometimes it is
useful to activate buttons without regard to the information with which
you are working. In such instances, you use <em>global buttons</em>, which
-are buttons that may be activated or otherwise operated upon by entering
+are buttons that may be activated or otherwise operated upon by typing
their labels/names when they are prompted for, rather than selecting the
buttons within a buffer.
</p>
@@ -1942,6 +2164,13 @@ the button’s name and its action will be executed.
personal button file, see <a href="#Button-Files">Button Files</a>. You can
always go into that
file and activate, edit or annotate these buttons with comments.
</p>
+<a name="index-bookmarks"></a>
+<p>Emacs has a built-in feature similar to Global Buttons called Bookmarks.
+Bookmarks store places in files or link to URLs, so they are more limited
+than Hyperbole’s global buttons and cannot utilize all of
Hyperbole’s
+capabilities for performing actions. See <a
href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Bookmarks">Bookmarks</a>
in <cite>the Emacs
+Manual</cite>, for details on bookmarks.
+</p>
<hr>
<a name="Implicit-Buttons"></a>
<div class="header">
@@ -2024,8 +2253,8 @@ also the documentation for
<code>actypes::hyp-config</code>.
<a name="index-Info-node"></a>
</dd>
<dt><code>Info-node</code></dt>
-<dd><p>Makes "(filename)nodename" buttons display the associated
Info node.
-Also makes "(filename)itemname" buttons display the associated Info
+<dd><p>Makes a "(filename)nodename" button display the associated
Info node.
+Also makes a "(filename)itemname" button display the associated Info
index item.
</p>
<a name="index-ibtypes-www_002durl"></a>
@@ -2072,10 +2301,10 @@ string is displayed.
<a name="index-address"></a>
</dd>
<dt><code>mail-address</code></dt>
-<dd><p>If on an e-mail address in a specific buffer type, mail to that address
-in another window. Applies to the rolo match buffer, any buffer
-attached to a file in <code>hyrolo-file-list</code>, or any buffer with
<samp>mail</samp>
-or <samp>rolo</samp> (case-insensitive) within its name.
+<dd><p>If on an e-mail address in a specific buffer type, compose mail to that
+address in another window. Applies to the rolo match buffer, any buffer
+attached to a file in <code>hyrolo-file-list</code>, or any buffer
+with <samp>mail</samp> or <samp>rolo</samp> (case-insensitive) within its name.
</p>
<a name="index-ibtypes-patch_002dmsg"></a>
<a name="index-patch-output"></a>
@@ -2131,8 +2360,8 @@ specifiers.
<a name="index-man-apropos"></a>
</dd>
<dt><code>man-apropos</code></dt>
-<dd><p>Makes man apropos entries (from ‘<samp>man -k</samp>’)
display associated man pages when
-selected.
+<dd><p>Makes man apropos entries (from ‘<samp>man -k</samp>’)
display associated man
+pages when selected.
</p>
<a name="index-ibtypes-rfc"></a>
<a name="index-Internet-RFC"></a>
@@ -2142,11 +2371,11 @@ selected.
<a name="index-ftp"></a>
</dd>
<dt><code>rfc</code></dt>
-<dd><p>Retrieves and displays an Internet rfc referenced at point. Requires
remote
-file access, e.g. via the Tramp library, for remote ftp retrievals. The
+<dd><p>Retrieves and displays an Internet rfc referenced at point. The
following formats are recognized: RFC822, rfc-822, and RFC 822. The
-<code>hpath:rfc</code> variable specifies the location from which to retrieve
-RFCs."
+<code>hpath:rfc</code> variable specifies the location from which to
+retrieve RFCs. Requires the Emacs builtin Tramp library for ftp file
+retrievals.
</p>
<a name="index-ibtypes-kbd_002dkey"></a>
<a name="index-key-sequence"></a>
@@ -2189,8 +2418,8 @@ very beginning of the line.
<dt><code>cscope</code></dt>
<dd><p>Jumps to a C/C++ source line associated with a Cscope C analyzer output
line.
Requires pre-loading of the cscope.el Lisp library available from the Emacs
-Lisp archives and the commercial cscope program available from AT&T’s
-software toolchest. Otherwise, does nothing.
+Lisp archives and the open source cscope program available from
+http://cscope.sf.net. Otherwise, does nothing.
</p>
<a name="index-ibtypes-etags"></a>
<a name="index-etags-entry"></a>
@@ -2244,37 +2473,42 @@ handled elsewhere.
<a name="index-hibtypes_002dgit_002ddefault_002dproject"></a>
</dd>
<dt><code>git-reference</code></dt>
-<dd><div class="format">
-<pre class="format">Displays the git entity associated with REFERENCE and
optional PROJECT.
-
-</pre><pre class="format">REFERENCE is of the form:
- <ref-item>
- /?<project>/<ref-item>
-or /<project>.
-</pre><pre class="format">
-
-<ref-item> is one of these:
-</pre><ul>
-<li> <pre class="format"> one of the words: branches, commits, or tags; the
associated items are listed;
-</pre></li><li> <pre class="format"> one of the words: branch, commit, or tag
followed by a ’/’ and item id; the
- item is shown;
-</pre></li><li> <pre class="format"> a commit reference given by a hex
number, 55a1f0; the commit diff is
- displayed;
-</pre></li><li> <pre class="format"> a branch or tag reference given by an
alphanumeric name, e.g. hyper20; the
- files in the branch are listed.
-</pre></li></ul>
-<pre class="format">
+<dd><p>Displays the git entity associated with REFERENCE and optional PROJECT.
+</p>
+<p>REFERENCE is a string of one of the following forms:
+</p><ul>
+<li> <ref-item>
+</li><li> /?<project>/<ref-item>
+</li><li> /<project>.
+</li></ul>
-<a name="index-hibtypes_002dgit_002ddefault_002dproject-1"></a>If given,
PROJECT overrides any project value in REFERENCE. If no
-PROJECT value is provided, it defaults to the value of
<code>hibtypes-git-default-project</code>.
-</pre></div>
+<p><ref-item> is one of these:
+</p><dl compact="compact">
+<dt>one of the words: branches, commits, or tags</dt>
+<dd><p>the associated items are listed
+</p></dd>
+<dt>one of the words: branch, commit, or tag followed by a ’/’ and
item id</dt>
+<dd><p>the item is shown
+</p></dd>
+<dt>a commit reference given by a hex number, 55a1f0</dt>
+<dd><p>the commit diff is displayed
+</p></dd>
+<dt>a branch or tag reference given by an alphanumeric name, e.g. hyper20</dt>
+<dd><p>the files in the branch are listed.
+</p></dd>
+</dl>
+<a name="index-hibtypes_002dgit_002ddefault_002dproject-1"></a>
+<p>If given, PROJECT overrides any project value in REFERENCE. If no PROJECT
+value is provided, it defaults to the value of
<code>hibtypes-git-default-project</code>.
+</p>
<a name="index-ibtypes-git_002dcommit_002dreference"></a>
<a name="index-git-commit-reference"></a>
<a name="index-version-control-1"></a>
</dd>
<dt><code>git-commit-reference</code></dt>
-<dd><p>Displays the diff for a git commit reference, e.g. commit a55e21,
typically produced by git log.
+<dd><p>Displays the diff for a git commit reference, e.g. commit a55e21,
typically
+produced by git log.
</p>
<a name="index-ibtypes-github_002dreference"></a>
<a name="index-github-reference"></a>
@@ -2283,37 +2517,41 @@ PROJECT value is provided, it defaults to the value of
<code>hibtypes-git-defaul
<a name="index-hibtypes_002dgithub_002ddefault_002duser"></a>
</dd>
<dt><code>github-reference</code></dt>
-<dd><div class="format">
-<pre class="format">Displays the Github entity associated with REFERENCE and
optional USER and
-PROJECT.
-
-</pre><pre class="format">REFERENCE is a string of the form:
- <ref-item>
- <user>/<project>/<ref-item>
- <project>/<ref-item>
-or /<project>.
-</pre><pre class="format">
-
-<ref-item> is one of these:
-</pre><ul>
-<li> <pre class="format"> one of the words: branches, commits, issues, pulls,
or tags; the associated items are listed;
-</pre></li><li> <pre class="format"> one of the words: branch, commit, issue,
pull or tag followed by a ’/’ and
- item id; the item is shown;
-</pre></li><li> <pre class="format"> an issue reference given by a positive
integer, e.g. <em>92</em> or prefaced with <em>GH-</em>,
- like GH-92; the issue is displayed;
-</pre></li><li> <pre class="format"> a commit reference given by a hex
number, 55a1f0; the commit diff is
- displayed;
-</pre></li><li> <pre class="format"> a branch or tag reference given by an
alphanumeric name, e.g. hyper20; the
- files in the branch are listed.
-</pre></li></ul>
-<pre class="format">
+<dd><p>Displays the Github entity associated with REFERENCE and optional USER
and PROJECT.
+</p>
+<p>REFERENCE is a string of one of the following forms:
+</p><ul>
+<li> <ref-item>
+</li><li> <user>/<project>/<ref-item>
+</li><li> <project>/<ref-item>
+</li><li> /<project>.
+</li></ul>
-<a name="index-hibtypes_002dgithub_002ddefault_002duser-1"></a>USER defaults
to the value of <code>hibtypes-github-default-user</code>.
+<p><ref-item> is one of these:
+</p><dl compact="compact">
+<dt>• one of the words: branches, commits, issues, pulls, or tags</dt>
+<dd><p>the associated items are listed
+</p></dd>
+<dt>• one of the words: branch, commit, issue, pull or tag followed by a
’/’ and item id</dt>
+<dd><p>the item is shown
+</p></dd>
+<dt>• an issue reference given by a positive integer, e.g. <em>92</em> or
prefaced with <em>GH-</em>, like GH-92</dt>
+<dd><p>the issue is displayed
+</p></dd>
+<dt>• a commit reference given by a hex number, 55a1f0</dt>
+<dd><p>the commit diff is displayed
+</p></dd>
+<dt>• a branch or tag reference given by an alphanumeric name, e.g.
hyper20</dt>
+<dd><p>the files in the branch are listed.
+</p></dd>
+</dl>
+
+<a name="index-hibtypes_002dgithub_002ddefault_002duser-1"></a>
+<p>USER defaults to the value of <code>hibtypes-github-default-user</code>.
If given, PROJECT overrides any project value in REFERENCE. If no
PROJECT value is provided, it defaults to the value of
<code>hibtypes-github-default-project</code>.
-</pre></div>
-
+</p>
<a name="index-ibtypes-social_002dreference"></a>
<a name="index-hashtag"></a>
<a name="index-username"></a>
@@ -2353,12 +2591,11 @@ the issue to a window below the listing window.
<a name="index-ibtypes-debbugs_002dgnu_002dquery"></a>
</dd>
<dt><code>debbugs-gnu-query</code></dt>
-<dd><p>This implicit button type displays the results of a Gnu debbugs query
-based on the string at point and works in most kinds of buffers. If
-the query includes a single id number, it displays the original message
-submission for that id and allows browsing of the followup discussion.
-The following buffer text formats are accepted (with point prior to
-any attribute):
+<dd><p>Displays the results of a Gnu debbugs query based on the string at
point and
+works in most kinds of buffers. If the query includes a single id number, it
+displays the original message submission for that id and allows browsing of
+the followup discussion. The following buffer text formats are accepted
+(with point prior to any attribute):
</p>
<div class="smallexample">
<pre class="smallexample">bug#id-number, bug# id-number, bug #id-number or bug
id-number
@@ -2407,8 +2644,6 @@ at line-num and optional column-num. Also works for
remote pathnames.
<a name="index-hpath_003afind"></a>
<a name="index-hpath_003asuffixes"></a>
<a name="index-Tramp"></a>
-<a name="index-Ange_002dftp"></a>
-<a name="index-EFS"></a>
<a name="index-ftp-1"></a>
<a name="index-pathname"></a>
<a name="index-remote-path"></a>
@@ -2452,12 +2687,12 @@ and <code>browse-url-generic</code>.
<a name="index-document-identifier"></a>
</dd>
<dt><code>doc-id</code></dt>
-<dd><p>Displays an index entry for a site-specific document given its id.
-Ids must be delimited by <code>doc-id-start</code> and <code>doc-id-end</code>
and
-must match the function given by <code>doc-id-p</code>. This permits
-creation of catalogued online libraries. (Note that this implicit
-button type is not installed by default. You must manually configure
-it and load it from the file,
<samp><code>${hyperb:dir}</code>/hib-doc-id.el</samp>).
+<dd><p>Displays a document from a local document library given its id. Ids
must be
+delimited by <code>doc-id-start</code> and <code>doc-id-end</code> and must
match the
+function given by <code>doc-id-p</code>. (Note that this implicit button type
is
+not installed by default. You must manually configure it and load it from
+the file, <samp><code>${hyperb:dir}</code>/hib-doc-id.el</samp>). See the
commentary
+at the top of that file for more information.
</p></dd>
</dl>
@@ -2508,10 +2743,9 @@ within the same directory. If you want to view some
other
directory-specific button file, simply use the normal Emacs file
finding commands.
</p>
-<p>One might suggest that quick menu access be provided for group-specific
-and site-specific button files. Instead, link buttons to such things
-should be placed at the top of your personal button file. This provides
-a more flexible means of connecting to such resources.
+<p>If you want group and site-specific button files, simply place links to such
+files at the top of your personal button file and do so for your colleagues.
+This provides a flexible means of connecting to such resources.
</p>
<hr>
<a name="Action-Types"></a>
@@ -2634,7 +2868,7 @@ signalled.
<a name="index-actypes-link_002dto_002debut"></a>
</dd>
<dt><code>link-to-ebut</code></dt>
-<dd><p>Performs an action given by another button, specified by KEY and
KEY-FILE.
+<dd><p>Performs an action given by another explicit button, specified by KEY
and KEY-FILE.
</p>
<a name="index-actypes-link_002dto_002delisp_002ddoc"></a>
</dd>
@@ -2644,8 +2878,8 @@ signalled.
<a name="index-actypes-link_002dto_002dfile"></a>
</dd>
<dt><code>link-to-file</code></dt>
-<dd><p>Displays file given by PATH scrolled to optional POINT. With POINT,
-buffer is displayed with POINT at window top.
+<dd><p>Displays a file given by PATH scrolled to optional POINT. If POINT is
given,
+the buffer is displayed with POINT at the top of the window.
</p>
<a name="index-actypes-link_002dto_002dfile_002dline"></a>
</dd>
@@ -2712,8 +2946,7 @@ Returns ‘<samp>t</samp>’ if found, signals an
error if not.
</dd>
<dt><code>link-to-rfc</code></dt>
<dd><p>Retrieves and displays an Internet rfc given by RFC-NUM. RFC-NUM may be
-a string or an integer. Requires a remote file access library, such as
-Tramp, for ftp file retrievals.
+a string or an integer.
</p>
<a name="index-actypes-link_002dto_002dstring_002dmatch"></a>
</dd>
@@ -2847,7 +3080,7 @@ buttons.
</td></tr>
<tr><td align="left" valign="top">• <a href="#Modification"
accesskey="4">Modification</a>:</td><td> </td><td align="left"
valign="top">
</td></tr>
-<tr><td align="left" valign="top">• <a href="#Location"
accesskey="5">Location</a>:</td><td> </td><td align="left"
valign="top">
+<tr><td align="left" valign="top">• <a href="#Searching-and-Summarizing"
accesskey="5">Searching and Summarizing</a>:</td><td> </td><td
align="left" valign="top">
</td></tr>
<tr><td align="left" valign="top">• <a href="#Buttons-in-Mail"
accesskey="6">Buttons in Mail</a>:</td><td> </td><td align="left"
valign="top">
</td></tr>
@@ -3069,7 +3302,7 @@ prefer no confirmation.
<a name="Modification"></a>
<div class="header">
<p>
-Next: <a href="#Location" accesskey="n" rel="next">Location</a>, Previous: <a
href="#Deletion" accesskey="p" rel="prev">Deletion</a>, Up: <a
href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit
Buttons</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+Next: <a href="#Searching-and-Summarizing" accesskey="n" rel="next">Searching
and Summarizing</a>, Previous: <a href="#Deletion" accesskey="p"
rel="prev">Deletion</a>, Up: <a href="#Utilizing-Explicit-Buttons"
accesskey="u" rel="up">Utilizing Explicit Buttons</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Key-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Modification-1"></a>
<h4 class="subsection">3.7.4 Modification</h4>
@@ -3089,13 +3322,13 @@ button with a mouse drag. Remember that drags may also
be emulated from
the keyboard. See <a href="#Creation">Creation</a>.
</p>
<hr>
-<a name="Location"></a>
+<a name="Searching-and-Summarizing"></a>
<div class="header">
<p>
Next: <a href="#Buttons-in-Mail" accesskey="n" rel="next">Buttons in Mail</a>,
Previous: <a href="#Modification" accesskey="p" rel="prev">Modification</a>,
Up: <a href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing
Explicit Buttons</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
</div>
-<a name="Location-1"></a>
-<h4 class="subsection">3.7.5 Location</h4>
+<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>
@@ -3130,7 +3363,7 @@ attributes.
<a name="Buttons-in-Mail"></a>
<div class="header">
<p>
-Next: <a href="#Buttons-in-News" accesskey="n" rel="next">Buttons in News</a>,
Previous: <a href="#Location" accesskey="p" rel="prev">Location</a>, Up: <a
href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit
Buttons</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
+Next: <a href="#Buttons-in-News" accesskey="n" rel="next">Buttons in News</a>,
Previous: <a href="#Searching-and-Summarizing" accesskey="p"
rel="prev">Searching and Summarizing</a>, Up: <a
href="#Utilizing-Explicit-Buttons" accesskey="u" rel="up">Utilizing Explicit
Buttons</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Key-Index" title="Index"
rel="index">Index</a>]</p>
</div>
<a name="Buttons-in-Mail-1"></a>
<h4 class="subsection">3.7.6 Buttons in Mail</h4>
@@ -3158,14 +3391,12 @@ minibuffer menu item to enable it.
<a name="index-USENET"></a>
<a name="index-news"></a>
<a name="index-file_002c-hmail_002eel"></a>
-<p>Hyperbole automatically supports the following mail readers: Rmail
-(see <a
href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Rmail">Reading
Mail with Rmail</a> in <cite>the GNU Emacs Manual</cite>), VM
-(see <a href="vm.html#Introduction">Introduction</a> in <cite>the VM
Manual</cite>) and MH-e. Button inclusion
-and activation within USENET news articles is also supported in the
-same fashion via the Gnus news reader if available at your site
-(see <a
href="http://www.gnu.org/software/emacs/manual/html_mono/gnus.html#Top">The
Gnus Newsreader</a> in <cite>the Gnus Manual</cite>).
-(The <samp>hmail.el</samp> file defines a generalized interface that can be
-used to hook in other mail or news readers if the necessary interface
+<p>Hyperbole supports the following mail readers: Rmail (see <a
href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Rmail">Reading
+Mail with Rmail</a> in <cite>the GNU Emacs Manual</cite>), VM (see <a
href="vm.html#Introduction">Introduction</a> in <cite>the VM Manual</cite>) and
MH-e. Button inclusion and activation within USENET news
+articles is also supported in the same fashion via the Gnus news reader if
+available at your site (see <a
href="http://www.gnu.org/software/emacs/manual/html_mono/gnus.html#Top">The
Gnus Newsreader</a> in <cite>the Gnus
+Manual</cite>). (The <samp>hmail.el</samp> file defines a generalized
interface that can
+be used to hook in other mail or news readers if the necessary interface
functions are written.)
</p>
<a name="index-mail_002dyank_002doriginal"></a>
@@ -3219,7 +3450,7 @@ Hyperbole.
<p>This will produce the following line in outgoing messages:
</p>
<div class="example">
-<pre class="example">Comments: GNU Hyperbole mail buttons accepted, vX.XX.
+<pre class="example">Comments: GNU Hyperbole mail buttons accepted, vX.X.X.
</pre></div>
<a name="index-file_002c-_002eemacs-2"></a>
@@ -3327,20 +3558,31 @@ similar to key bindings.
<a name="index-starting-Hyperbole"></a>
<a name="index-Hyperbole_002c-starting"></a>
<a name="index-Hyperbole-main-menu"></a>
-<p>The top-level Hyperbole menu is invoked from a key given in your
+<p>The top-level Hyperbole minibuffer menu is invoked from a key given in your
<samp>hyperbole.el</samp> file (by default, <kbd>{C-h h}</kbd>) or with a click
-of the Action Mouse Key in the minibuffer.
+of the Action Mouse Key in the minibuffer when it is inactive. It should
+look like this:
</p>
+<div class="smallexample">
+<pre class="smallexample">Hy> Act Butfile/ Cust/ Doc/ Ebut/ Find/ Gbut/
Hist Ibut/ Kotl/ Msg/ Rolo/ Screen/ Win/
+</pre></div>
+
<a name="index-submenus"></a>
<a name="index-menu-help"></a>
<a name="index-help_002c-menu-items"></a>
<a name="index-menu-item-selection"></a>
<a name="index-selection_002c-menu-items"></a>
-<p>All menu items are selected via the first character of their names
-(letter case does not matter) or with presses of the Action Key.
"/" at
-the end of an item name indicates that it brings up a submenu. A press
-of the Assist Key on an item displays help for the item, including the
-action that it performs.
+<a name="index-TAB"></a>
+<a name="index-M_002df"></a>
+<a name="index-Shift_002d"></a>
+<a name="index-M_002db"></a>
+<p>All menu items are selected via the first character of their names (letter
+case does not matter), with presses of the Action Key or by using
+{<tt class="key">TAB</tt>} or <kbd>{M-f}</kbd> to move forward an item,
<kbd>{Shift-<span class="key">TAB</span>}</kbd>
+or <kbd>{M-b}</kbd> to move backward an item and {<tt class="key">RET</tt>} to
select the
+current item. A press of the Assist Key on an item displays help for the
+item, including the action that it performs. "/" at the end of an
item name
+indicates that it brings up a submenu.
</p>
<a name="index-C_002dt"></a>
<a name="index-q"></a>
@@ -3356,24 +3598,6 @@ selecting an item by using <kbd>{q}</kbd> or pressing
{<tt class="key">RET</tt>}
the end of a menu. <kbd>{C-g}</kbd> aborts from the minibuffer whether you
are at a menu prompt or any other Hyperbole prompt.
</p>
-<p>The top-level Hyperbole menu appears in the minibuffer and should look
-like this:
-</p>
-<div class="smallexample">
-<pre class="smallexample">Hy> Act Butfile/ Cust/ Doc/ Ebut/ Find/ Gbut/
Hist Ibut/ Kotl/ Msg/ Rolo/ Screen/ Win/
-</pre></div>
-
-<br>
-<a name="index-TAB"></a>
-<a name="index-M_002df"></a>
-<a name="index-Shift_002d"></a>
-<a name="index-M_002db"></a>
-<p>Each menu item may be selected by typing its first letter (case
-insensitive), by clicking the Action Mouse Key on it, or by
-using {<tt class="key">TAB</tt>} or <kbd>{M-f}</kbd> to move forward an
-item, <kbd>{Shift-<span class="key">TAB</span>}</kbd> or <kbd>{M-b}</kbd> to
move backward an item
-and {<tt class="key">RET</tt>} to select the current item.
-</p>
<p>The top-level Hyperbole minibuffer menu items serve the following purposes:
</p>
<dl compact="compact">
@@ -3884,8 +4108,8 @@ configuration and wish to save it temporarily.
<dd><p>After confirmation, restore the last saved window or frame configuration
based on mode.
</p>
-<a name="index-window_002c-clone"></a>
-<a name="index-clone-window"></a>
+<a name="index-window_002c-clone-1"></a>
+<a name="index-clone-window-1"></a>
<a name="index-hycontrol_002dkeep_002dwindow_002dflag"></a>
<a name="index-screen_002c-f"></a>
<a name="index-f"></a>
@@ -5323,11 +5547,11 @@ Next: <a href="#Window-Configurations" accesskey="n"
rel="next">Window Configura
<p>Hyperbole includes a complete, advanced rolo system, HyRolo, for
convenient management of hierarchical, record-oriented information.
Most often this is used for contact management but it can quickly be
-adapted to most any record-oriented lookup task, for fast retrieval.
+adapted to most any record-oriented lookup task requiring fast retrieval.
</p>
<a name="index-rolo_002c-buttons-in"></a>
<p>Hyperbole buttons may be included within rolo records and then
-manually activated whenever their records are retrieved.
+manually activated whenever their records are retrieved in a search.
</p>
<p>The following subsections explain use and basic customization of this
tool.
@@ -5845,16 +6069,16 @@ Next: <a href="#Developing-with-Hyperbole"
accesskey="n" rel="next">Developing w
<a name="index-restoring-windows"></a>
<a name="index-saving-window-configurations"></a>
<a name="index-file_002c-hywconfig_002eel"></a>
-<p>Hyperbole includes the <samp>hywconfig.el</samp> library which lets you
save and
-restore window configurations, i.e. the layout of windows and buffers
-displayed within an emacs frame. This is useful to save a particular
-working context and then to jump back to it at a later time during an
-emacs session. It is also useful during demonstrations to display many
-informational artifacts all at once, e.g. all of the windows for a
-particular subsystem. None of this information is stored between emacs
-sessions, so your window configurations will last through only a single
-session of use. Each window configuration is tied to the emacs frame
-in which it is created.
+<p>This chapter explains Hyperbole’s <samp>hywconfig.el</samp> library.
It lets you
+save and restore window configurations, i.e. the layout of windows and
+buffers displayed within an emacs frame. This is useful to save a
+particular working context and then to jump back to it at a later time
+during an emacs session. It is also useful during demonstrations to
+display many informational artifacts all at once, e.g. all of the windows
+for a particular subsystem. None of this information is stored between
+emacs sessions, so your window configurations will last through only a
+single session of use. Each window configuration is tied to the emacs
+frame in which it is created.
</p>
<p>The hywconfig library offers two independent ways of managing window
configurations. The first way associates a name with each stored
@@ -5866,7 +6090,7 @@ the last entry is encountered. Simply stop when the
desired
configuration is displayed.
</p>
<p>The Win/ menu entry on the Hyperbole top-level menu displays a menu of
-window configuration commands:
+hywconfig window configuration commands:
</p>
<pre class="verbatim">WinConfig> AddName DeleteName RestoreName PopRing
SaveRing YankRing
</pre>
@@ -5896,13 +6120,11 @@ YankRing hywconfig-yank-pop Restore the
next wconfig
=====================================================================
</pre></div>
-<p>The easiest method is to save and restore window configurations by
-name, but it requires that you input the chosen name from the
-keyboard. Alternately, the ring commands permit saves and restores
-using only the mouse, if desired. An earlier chapter (see <a
href="#Smart-Keys">Smart Keys</a>) mentions how to save and restore window
configurations with the
-Smart Keys. Since the ring commands are a bit more complex than their
-by-name counterparts, the following paragraphs explain them in more
-detail.
+<p>The easiest method to save and restore window configurations shown here is
+by name, but it requires that you type the chosen name. Instead, the ring
+commands permit saves and restores using only the mouse. Since the ring
+commands are a bit more complex than their by-name counterparts, the
+following paragraphs explain them in more detail.
</p>
<a name="index-kill_002dring"></a>
<p>HyWconfig creates a ring structure that operates just like the Emacs
@@ -6613,10 +6835,6 @@ with a set of values, called arguments, is an
<em>action</em>.
Ordinarily the user presses a key which selects and activates a button.
</p>
</dd>
-<dt><b>Ange-ftp</b></dt>
-<dd><p>See <b>Tramp</b>.
-</p>
-</dd>
<dt><b>Argument</b></dt>
<dd><p>A button-specific value fed to a Hyperbole type specification when the
button is activated.
@@ -6734,14 +6952,7 @@ Use the Action Key to select a button.
<dd><p>The set of koutline cells which share a common parent cell and thus,
are one
level deeper than the parent.
</p>
-</dd>
-<dt><b>Chord Keyboard</b></dt>
-<dd><p>A keyboard which supports pressing multiple keys simultaneously to
produce
-a unique chord keystroke for issuing commands to a program. In
Engelbart’s
-Augment system, mouse keys were used as modifiers for a 5-key chord
-keyboard to enable direct manipulation of objects on screen. Hyperbole
-supports similar behavior with its <code>hmouse-mod-mode</code>. See <a
href="#Smart-Key-Modifiers">Smart Key Modifiers</a>.
-</p>
+
</dd>
<dt><b>Class</b></dt>
<dd><p>A group of functions and variables with the same prefix in their names,
@@ -6774,10 +6985,6 @@ location.
<dd><p>See <b>Hyperbole Environment</b>.
</p>
</dd>
-<dt><b>EFS</b></dt>
-<dd><p>See <b>Tramp</b>
-</p>
-</dd>
<dt><b>Explicit Button</b></dt>
<dd><p>A button created and managed by Hyperbole, associated with a specific
action type. By default, explicit buttons are delimited like
@@ -6973,7 +7180,7 @@ button of that type is to be found at point.
<dd><p>A file or directory on a system not shared within the local area
network.
The built-in Emacs library, <b>Tramp</b>, handles remote pathnames and
Hyperbole uses it to enable viewing and editing of remote paths of the form:
-<samp>/<user>@<host>:<path></samp> as well as web URLs. Use
the
+<samp>/<protocol>:<user>@<host>:<path></samp> as well
as web URLs. Use the
Cust/Find-File-URLs menu option to enable this feature.
</p>
</dd>
@@ -7040,12 +7247,12 @@ other system.
</p>
</dd>
<dt><b>Tramp</b></dt>
-<dd><p>A remote file access library built-in to Emacs. It does similar things
as
-the older EFS and ange-ftp packages but uses more secure transfer and works
-with more types of hosts. It allows one to use remote pathnames that are
-accessible via Internet protocols just like other pathnames, for example when
-finding a file. Hyperbole recognizes pathnames of the form,
-<samp>/<user>@<host>:<path></samp> and web URLs.
+<dd><p>A remote file access library built-in to Emacs. It uses secure
+transfer and works with many types of hosts. It allows you to use
+remote pathnames that are accessible via Internet protocols just like
+other pathnames, for example when finding a file. Hyperbole
+recognizes pathnames of the form,
+<samp>/<protocol>:<user>@<host>:<path></samp> and web
URLs.
</p>
</dd>
<dt><b>Tree</b></dt>
@@ -7383,7 +7590,7 @@ your personal initialization file:
<code>(hpath:find-file-urls-mode 1)</code>.
<p>Both full URLs and abbreviated ones, like <samp>www.gnu.org</samp>, are
recognized. File name completion does not work with URLs thus you
have to type or paste in the entire URL. This feature will work only
-if you have the Tramp Emacs Lisp package installed; if you don’t have
+if you have the builtin Tramp Emacs Lisp package; if you don’t have
Tramp, an error message will be displayed when you try to enable
find-file URLs.
</p>
@@ -7584,7 +7791,7 @@ Next: <a href="#Koutliner-Keys" accesskey="n"
rel="next">Koutliner Keys</a>, Pre
This appendix summarizes all of Hyperbole’s global key bindings and
whether each overrides any existing binding or not. It also describes
how to temporarily disable these bindings and how to manage whether
-Hyperbole override local, mode-specific key bindings that hide
+Hyperbole overrides local, mode-specific key bindings that hide
global Hyperbole keys.
</p>
<p>Here are descriptions of Hyperbole’s default keyboard key bindings:
@@ -7632,7 +7839,8 @@ item, <kbd>{C-h h f w}</kbd>, will do the same thing.
<dd><p>Display a grid of windows in the selected frame, sized according to the
prefix argument. The left digit of the argument is the number of grid rows
and the right digit is the number of grid columns. The argument is
-prompted for if not given.
+prompted for if not given. This binding is made only if the key is not
+bound prior to loading Hyperbole.
</p>
<p>For further details, see the <kbd>address@hidden</kbd> key binding
description
in <a href="#HyControl">HyControl</a>.
@@ -7704,22 +7912,37 @@ and restart Emacs. Then you will have to choose the
Hyperbole commands
that you want to use and bind those to keys.
</p>
<a name="index-file_002c-_002eemacs-4"></a>
-<a name="index-hkey_002dtoggle_002dbindings"></a>
-<a name="index-change-key-bindings"></a>
-<a name="index-toggle-key-bindings"></a>
-<a name="index-key-bindings_002c-toggle"></a>
-<a name="index-disable-Hyperbole"></a>
-<a name="index-C_002dc-h"></a>
-<p>If you ever have a need to temporarily disable the Hyperbole keyboard
-and mouse bindings, use the <code>hkey-toggle-bindings</code> command. It
-switches between the Hyperbole key bindings and those set prior to
-loading Hyperbole and then back again if invoked once more. There is
-no default key binding for this command; use <kbd>{M-x
-hkey-toggle-bindings <span class="key">RET</span>}</kbd>. Alternatively, you
may select a key
-and bind it as part of any setting of <code>hyperbole-init-hook</code>
+<a name="index-hyperbole_002dtoggle_002dbindings-1"></a>
+<a name="index-change-key-bindings-1"></a>
+<a name="index-toggle-key-bindings-1"></a>
+<a name="index-key-bindings_002c-toggle-1"></a>
+<a name="index-disable-Hyperbole-1"></a>
+<a name="index-C_002dc-h-1"></a>
+<p>If you ever have a need to temporarily disable the Hyperbole keyboard and
+mouse bindings, use the <code>hyperbole-toggle-bindings</code> command. It
+switches between the Hyperbole key bindings and those set prior to loading
+Hyperbole and then back again if invoked once more. There is no default
+key binding for this command; use <kbd>{M-x hyperbole-toggle-bindings
+<span class="key">RET</span>}</kbd>. Alternatively, you may select a key and
bind it as part of any
+setting of <code>hyperbole-init-hook</code> within your personal
<samp>~/.emacs</samp>
+file. For example, <code>(add-hook 'hyperbole-init-hook (lambda ()
+(global-set-key "\C-ch" 'hyperbole-toggle-bindings)))</code>.
+</p>
+<a name="index-file_002c-_002eemacs-5"></a>
+<a name="index-hmouse_002dtoggle_002dbindings"></a>
+<a name="index-mouse-key-toggle"></a>
+<a name="index-Smart-Mouse-Key-toggle"></a>
+<a name="index-C_002dc-t"></a>
+<p>If you want to restore only the mouse bindings that existed before
+Hyperbole was loaded, use the <code>hmouse-toggle-bindings</code> command.
+It switches between the Hyperbole mouse key bindings and those set
+prior to loading Hyperbole and then back again if invoked once more.
+There is no default key binding for this command; use <kbd>{M-x
+hmouse-toggle-bindings <span class="key">RET</span>}</kbd>. Alternatively,
you may select a
+key and bind it as part of any setting of <code>hyperbole-init-hook</code>
within your personal <samp>~/.emacs</samp> file. For example, <code>(add-hook
-'hyperbole-init-hook (lambda () (global-set-key "\C-ch"
-'hkey-toggle-bindings)))</code>.
+'hyperbole-init-hook (lambda () (global-set-key "\C-ct"
+'hmouse-toggle-bindings)))</code>.
</p>
<a name="index-hkey_002dinit_002doverride_002dlocal_002dkeys"></a>
<a name="index-overriding-local-keys"></a>
@@ -8730,8 +8953,8 @@ Next: <a href="#Smart-Mouse-Drags-outside-a-Window"
accesskey="n" rel="next">Sma
Restores region to before Action Key drag and signals an error.
</pre></div>
-<a name="index-drag_002c-horizontal"></a>
-<a name="index-horizontal-drag"></a>
+<a name="index-drag_002c-horizontal-1"></a>
+<a name="index-horizontal-drag-1"></a>
<a name="index-hmouse_002dx_002ddrag_002dsensitivity"></a>
<div class="format">
<pre class="format">(Note that <code>hmouse-x-drag-sensitivity</code> sets the
minimal horizontal
@@ -8744,8 +8967,8 @@ single window from anywhere but a thing delimiter:
current frame.
</pre></div>
-<a name="index-drag_002c-vertical"></a>
-<a name="index-vertical-drag"></a>
+<a name="index-drag_002c-vertical-1"></a>
+<a name="index-vertical-drag-1"></a>
<a name="index-hmouse_002dy_002ddrag_002dsensitivity"></a>
<div class="format">
<pre class="format">(Note that <code>hmouse-y-drag-sensitivity</code> sets the
minimal vertical
@@ -8758,8 +8981,8 @@ single window from anywhere but a thing delimiter:
current frame.
</pre></div>
-<a name="index-drag_002c-diagonal"></a>
-<a name="index-diagonal-drag"></a>
+<a name="index-drag_002c-diagonal-1"></a>
+<a name="index-diagonal-drag-1"></a>
<a name="index-hmouse_002dx_002ddiagonal_002dsensitivity"></a>
<a name="index-hmouse_002dy_002ddiagonal_002dsensitivity"></a>
<div class="format">
@@ -8787,8 +9010,8 @@ Previous: <a href="#Smart-Mouse-Drags-within-a-Window"
accesskey="p" rel="prev">
<a name="index-hycontrol_002dkeep_002dwindow_002dflag-1"></a>
<a name="index-dragging-items"></a>
<a name="index-dragging-outside-Emacs"></a>
-<a name="index-window_002c-clone-1"></a>
-<a name="index-clone-window-1"></a>
+<a name="index-window_002c-clone-2"></a>
+<a name="index-clone-window-2"></a>
<a name="index-window_002c-move"></a>
<a name="index-move-window"></a>
<div class="format">
@@ -10753,12 +10976,13 @@ Next: <a href="#Function" accesskey="n"
rel="next">Function</a>, Previous: <a hr
<tr><td></td><td valign="top"><a href="#index-C_002dc-C_002dt"><code>C-c
C-t</code></a>:</td><td> </td><td valign="top"><a
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-C_002du"><code>C-c
C-u</code></a>:</td><td> </td><td valign="top"><a
href="#Moving-Around">Moving Around</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-C_002dy"><code>C-c
C-y</code></a>:</td><td> </td><td valign="top"><a
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-C_002dc-h"><code>C-c
h</code></a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C_002dc-h"><code>C-c
h</code></a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C_002dc-h-1"><code>C-c
h</code></a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-m"><code>C-c
m</code></a>:</td><td> </td><td valign="top"><a
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-M_002dc"><code>C-c
M-c</code></a>:</td><td> </td><td valign="top"><a
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-RET"><code>C-c <span
class="key">RET</span></code></a>:</td><td> </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-C_002dc-RET-1"><code>C-c <span
class="key">RET</span></code></a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-C_002dc-t"><code>C-c
t</code></a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C_002dc-t"><code>C-c
t</code></a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-_005c"><code>C-c
\</code></a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-_005c-1"><code>C-c
\</code></a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dc-_005e"><code>C-c
^</code></a>:</td><td> </td><td valign="top"><a
href="#Moving-Around">Moving Around</a></td></tr>
@@ -10795,6 +11019,7 @@ Next: <a href="#Function" accesskey="n"
rel="next">Function</a>, Previous: <a hr
<tr><td></td><td valign="top"><a href="#index-C_002du-M_002dRET"><code>C-u
M-<span class="key">RET</span></code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002du-M_002dRET-1"><code>C-u
M-<span class="key">RET</span></code></a>:</td><td> </td><td
valign="top"><a href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dx-_0024"><code>C-x
$</code></a>:</td><td> </td><td valign="top"><a
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-C_002dx-_002b"><code>C-x
+</code></a>:</td><td> </td><td valign="top"><a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dx-C_002de"><code>C-x
C-e</code></a>:</td><td> </td><td valign="top"><a
href="#Creating-Types">Creating Types</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dx-m"><code>C-x
m</code></a>:</td><td> </td><td valign="top"><a
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-C_002dx-o"><code>C-x
o</code></a>:</td><td> </td><td valign="top"><a href="#By-Dragging">By
Dragging</a></td></tr>
@@ -11130,8 +11355,8 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-action_002dkey_002ddefault_002dfunction-1">action-key-default-function</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Default-Context">Smart Key - Default
Context</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-action_002dkey_002deol_002dfunction">action-key-eol-function</a>:</td><td> </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-action_002dkey_002dminibuffer_002dfunction">action-key-minibuffer-function</a>:</td><td> </td><td
valign="top"><a href="#Minibuffer-Menu-Activation">Minibuffer Menu
Activation</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-action_002dkey_002dmodeline"><code>action-key-modeline</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-action_002dkey_002dmodeline_002dfunction">action-key-modeline-function</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-action_002dkey_002dmodeline"><code>action-key-modeline</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-action_002dkey_002dmodeline_002dfunction">action-key-modeline-function</a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-action_002dkey_002dmodeline_002dfunction-1">action-key-modeline-function</a>:</td><td> </td><td
valign="top"><a href="#Modeline-Clicks-and-Drags">Modeline Clicks and
Drags</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-action_002dmouse_002dkey"><code>action-mouse-key</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-actype_003acreate"><code>actype:create</code></a>:</td><td> </td><td
valign="top"><a href="#Action-Type-Creation">Action Type Creation</a></td></tr>
@@ -11175,8 +11400,8 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-assist_002dkey_002ddefault_002dfunction-1">assist-key-default-function</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Default-Context">Smart Key - Default
Context</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-assist_002dkey_002deol_002dfunction">assist-key-eol-function</a>:</td><td> </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-assist_002dkey_002dminibuffer_002dfunction">assist-key-minibuffer-function</a>:</td><td> </td><td
valign="top"><a href="#Minibuffer-Menu-Activation">Minibuffer Menu
Activation</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-assist_002dkey_002dmodeline"><code>assist-key-modeline</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-assist_002dkey_002dmodeline_002dfunction">assist-key-modeline-function</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-assist_002dkey_002dmodeline"><code>assist-key-modeline</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-assist_002dkey_002dmodeline_002dfunction">assist-key-modeline-function</a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-assist_002dkey_002dmodeline_002dfunction-1">assist-key-modeline-function</a>:</td><td> </td><td
valign="top"><a href="#Modeline-Clicks-and-Drags">Modeline Clicks and
Drags</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-assist_002dmouse_002dkey"><code>assist-mouse-key</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
@@ -11203,7 +11428,7 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-defact"><code>defact</code></a>:</td><td> </td><td
valign="top"><a href="#Action-Type-Creation">Action Type Creation</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-defib"><code>defib</code></a>:</td><td> </td><td
valign="top"><a href="#Implicit-Button-Types">Implicit Button
Types</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-dir_002c-_007e_002f_002ehyperb">dir,
~/.hyperb</a>:</td><td> </td><td valign="top"><a
href="#Button-Files">Button Files</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-dired_002djump"><code>dired-jump</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-dired_002djump"><code>dired-jump</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Function_fn_letter-E">E</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a
href="#index-ebut_002dcreate_002dhook">ebut-create-hook</a>:</td><td> </td><td
valign="top"><a href="#Hook-Variables">Hook Variables</a></td></tr>
@@ -11222,6 +11447,7 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a href="#index-file_002c-_002eemacs-2">file,
.emacs</a>:</td><td> </td><td valign="top"><a
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-file_002c-_002eemacs-3">file,
.emacs</a>:</td><td> </td><td valign="top"><a
href="#Autonumbering">Autonumbering</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-file_002c-_002eemacs-4">file,
.emacs</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-file_002c-_002eemacs-5">file,
.emacs</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-file_002c-_002ehypb">file,
.hypb</a>:</td><td> </td><td valign="top"><a
href="#Explicit-Buttons">Explicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-file_002c-_002ekotl-suffix">file, .kotl
suffix</a>:</td><td> </td><td valign="top"><a
href="#Creating-Outlines">Creating Outlines</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-file_002c-DEMO-1">file,
DEMO</a>:</td><td> </td><td valign="top"><a
href="#Hyperbole-Overview">Hyperbole Overview</a></td></tr>
@@ -11282,23 +11508,20 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-hkey_002dinit_002doverride_002dlocal_002dkeys">hkey-init-override-local-keys</a>:</td><td> </td><td
valign="top"><a href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002doperate"><code>hkey-operate</code></a>:</td><td> </td><td
valign="top"><a href="#By-Dragging">By Dragging</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hkey_002dsummarize"><code>hkey-summarize</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Default-Context">Smart Key - Default
Context</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hkey_002dtoggle_002dbindings"><code>hkey-toggle-bindings</code></a>:</td><td> </td><td
valign="top"><a href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmail_003alister">hmail:lister</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Email-Composers">Smart Key - Email
Composers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmail_003areader">hmail:reader</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Email-Composers">Smart Key - Email
Composers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dadd_002dunshifted_002dkeys"><code>hmouse-add-unshifted-keys</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dalist">hmouse-alist</a>:</td><td> </td><td
valign="top"><a href="#Questions-and-Answers">Questions and
Answers</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hmouse_002dcontext_002dibuffer_002dmenu"><code>hmouse-context-ibuffer-menu</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hmouse_002dcontext_002dmenu"><code>hmouse-context-menu</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hmouse_002dcontext_002dibuffer_002dmenu"><code>hmouse-context-ibuffer-menu</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hmouse_002dcontext_002dmenu"><code>hmouse-context-menu</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002ddrag_002ditem_002dmode_002dforms">hmouse-drag-item-mode-forms</a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags
outside a Window</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dget_002dbindings"><code>hmouse-get-bindings</code></a>:</td><td> </td><td
valign="top"><a href="#Questions-and-Answers">Questions and
Answers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dget_002dbindings-1"><code>hmouse-get-bindings</code></a>:</td><td> </td><td
valign="top"><a href="#Questions-and-Answers">Questions and
Answers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dmiddle_002dflag">hmouse-middle-flag</a>:</td><td> </td><td
valign="top"><a href="#Smart-Keys">Smart Keys</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dmiddle_002dflag-1">hmouse-middle-flag</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hmouse_002dmod_002dmode-1">hmouse-mod-mode</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modifiers">Smart Key Modifiers</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hmouse_002dmod_002dmode"><code>hmouse-mod-mode</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modifiers">Smart Key Modifiers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dsetup"><code>hmouse-setup</code></a>:</td><td> </td><td
valign="top"><a href="#Questions-and-Answers">Questions and
Answers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dsetup-1"><code>hmouse-setup</code></a>:</td><td> </td><td
valign="top"><a href="#Questions-and-Answers">Questions and
Answers</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hmouse_002dtoggle_002dbindings"><code>hmouse-toggle-bindings</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hmouse_002dtoggle_002dbindings"><code>hmouse-toggle-bindings</code></a>:</td><td> </td><td
valign="top"><a href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dx_002ddiagonal_002dsensitivity">hmouse-x-diagonal-sensitivity</a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags
within a Window</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dx_002ddrag_002dsensitivity">hmouse-x-drag-sensitivity</a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags
within a Window</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hmouse_002dy_002ddiagonal_002dsensitivity">hmouse-y-diagonal-sensitivity</a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags
within a Window</a></td></tr>
@@ -11318,7 +11541,7 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-hproperty_003acycle_002dbut_002dcolor"><code>hproperty:cycle-but-color</code></a>:</td><td> </td><td
valign="top"><a href="#Button-Colors">Button Colors</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-htype_002dcreate_002dhook">htype-create-hook</a>:</td><td> </td><td
valign="top"><a href="#Hook-Variables">Hook Variables</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-htype_002ddelete_002dhook">htype-delete-hook</a>:</td><td> </td><td
valign="top"><a href="#Hook-Variables">Hook Variables</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-hui_002dmenu_002dscreen_002dcommands"><code>hui-menu-screen-commands</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Modeline-Clicks">Smart Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hui_002dmenu_002dscreen_002dcommands"><code>hui-menu-screen-commands</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key
Modeline Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hui_002dselect_002dgoto_002dmatching_002dtag"><code>hui-select-goto-matching-tag</code></a>:</td><td> </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-hui_002dselect_002dthing"><code>hui-select-thing</code></a>:</td><td> </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-hui_002dselect_002dthing_002dwith_002dmouse"><code>hui-select-thing-with-mouse</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Thing-Selection">Smart Key Thing
Selection</a></td></tr>
@@ -11343,6 +11566,8 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-hyperbole-1"><code>hyperbole</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Default-Context">Smart Key - Default
Context</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hyperbole_002dinit_002dhook">hyperbole-init-hook</a>:</td><td> </td><td
valign="top"><a href="#Hook-Variables">Hook Variables</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hyperbole_002dpopup_002dmenu"><code>hyperbole-popup-menu</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Default-Context">Smart Key - Default
Context</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hyperbole_002dtoggle_002dbindings"><code>hyperbole-toggle-bindings</code></a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hyperbole_002dtoggle_002dbindings-1"><code>hyperbole-toggle-bindings</code></a>:</td><td> </td><td
valign="top"><a href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hyperbole_002dweb_002dsearch_002dalist">hyperbole-web-search-alist</a>:</td><td> </td><td
valign="top"><a href="#Web-Search-Engines">Web Search Engines</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hyperbole_002dweb_002dsearch_002dbrowser_002dfunction">hyperbole-web-search-browser-function</a>:</td><td> </td><td
valign="top"><a href="#Menus">Menus</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hyrolo_002dadd"><code>hyrolo-add</code></a>:</td><td> </td><td
valign="top"><a href="#HyRolo-Menu">HyRolo Menu</a></td></tr>
@@ -11717,6 +11942,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-Action-Key_002c-web-browsing">Action Key, web
browsing</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Action-Mouse-Key">Action Mouse
Key</a>:</td><td> </td><td valign="top"><a href="#Thing-Selection">Thing
Selection</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Action-Mouse-Key-1">Action Mouse
Key</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited
Things</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Action-Mouse-Key-drag">Action
Mouse Key drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Drags">Smart Mouse Key Drags</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-action-type">action
type</a>:</td><td> </td><td valign="top"><a href="#Action-Types">Action
Types</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-action-type_002c-creation">action type,
creation</a>:</td><td> </td><td valign="top"><a
href="#Action-Type-Creation">Action Type Creation</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-activating-implicit-button">activating implicit
button</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
@@ -11727,7 +11953,6 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-actypes_002c-list-of">actypes,
list of</a>:</td><td> </td><td valign="top"><a href="#Action-Types">Action
Types</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-address">address</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-alpha-labels">alpha
labels</a>:</td><td> </td><td valign="top"><a
href="#Autonumbering">Autonumbering</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-Ange_002dftp">Ange-ftp</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-anonymous-ftp">anonymous
ftp</a>:</td><td> </td><td valign="top"><a href="#Top">Top</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-API">API</a>:</td><td> </td><td valign="top"><a
href="#Embedding-Hyperbole">Embedding Hyperbole</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-appending-to-a-cell">appending
to a cell</a>:</td><td> </td><td valign="top"><a
href="#Splitting-and-Appending">Splitting and Appending</a></td></tr>
@@ -11747,6 +11972,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-Assist-Key_002c-listing-attributes">Assist Key, listing
attributes</a>:</td><td> </td><td valign="top"><a
href="#Cell-Attributes">Cell Attributes</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Assist-Mouse-Key">Assist Mouse
Key</a>:</td><td> </td><td valign="top"><a href="#Thing-Selection">Thing
Selection</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Assist-Mouse-Key-1">Assist Mouse
Key</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited
Things</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Assist-Mouse-Key-drag">Assist
Mouse Key drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Drags">Smart Mouse Key Drags</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-attribute">attribute</a>:</td><td> </td><td valign="top"><a
href="#Cell-Attributes">Cell Attributes</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-attribute_002c-adding">attribute,
adding</a>:</td><td> </td><td valign="top"><a href="#Cell-Attributes">Cell
Attributes</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-attribute_002c-modifying">attribute,
modifying</a>:</td><td> </td><td valign="top"><a
href="#Cell-Attributes">Cell Attributes</a></td></tr>
@@ -11766,19 +11992,23 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-bibliography">bibliography</a>:</td><td> </td><td
valign="top"><a href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Big-Brother-DataBase">Big
Brother DataBase</a>:</td><td> </td><td valign="top"><a
href="#HyRolo-Settings">HyRolo Settings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-blank-lines_002c-toggle">blank
lines, toggle</a>:</td><td> </td><td valign="top"><a
href="#View-Specs">View Specs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-bookmarks">bookmarks</a>:</td><td> </td><td valign="top"><a
href="#Global-Buttons">Global Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-boolean-expressions">boolean
expressions</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-breakpoint">breakpoint</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-browsing-URLs">browsing
URLs</a>:</td><td> </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-browsing-URLs-in-find_002dfile">browsing URLs in
find-file</a>:</td><td> </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-buffer-id">buffer
id</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-buffer-menu">buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-buffer-id">buffer
id</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-buffer-menu">buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-buffer-menu-1">buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Minibuffer-Menu-Activation">Minibuffer Menu Activation</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-buffer-menu-2">buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Buffer-Menus">Smart Key - Buffer Menus</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-buffer-menu-item-drag">buffer
menu item drag</a>:</td><td> </td><td valign="top"><a
href="#Displaying-File-and-Buffer-Items">Displaying File and Buffer
Items</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-buffer_002c-bury">buffer,
bury</a>:</td><td> </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> </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> </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> </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> </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> </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> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-bury-buffer">bury
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-burying">burying</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-button">button</a>:</td><td> </td><td valign="top"><a
href="#Buttons">Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-button-action">button
action</a>:</td><td> </td><td valign="top"><a href="#Action-Types">Action
Types</a></td></tr>
@@ -11815,7 +12045,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-button_002c-explicit-1">button,
explicit</a>:</td><td> </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> </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> </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> </td><td valign="top"><a
href="#Location">Location</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button_002c-help">button,
help</a>:</td><td> </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> </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> </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> </td><td valign="top"><a
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
@@ -11825,9 +12055,9 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-button_002c-posting">button,
posting</a>:</td><td> </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> </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> </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> </td><td valign="top"><a
href="#Location">Location</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button_002c-searching">button,
searching</a>:</td><td> </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> </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> </td><td valign="top"><a
href="#Location">Location</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-button_002c-summarizing">button,
summarizing</a>:</td><td> </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> </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>
@@ -11864,9 +12094,9 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-cell_002c-top_002dlevel-1">cell,
top-level</a>:</td><td> </td><td valign="top"><a
href="#Idstamps">Idstamps</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-cell_002c-transposing">cell,
transposing</a>:</td><td> </td><td valign="top"><a
href="#Transposing">Transposing</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-cell_002c-yanking-contents">cell, yanking
contents</a>:</td><td> </td><td valign="top"><a
href="#Adding-and-Killing">Adding and Killing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-change-key-bindings">change key
bindings</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-change-key-bindings">change key
bindings</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-change-key-bindings-1">change
key bindings</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-changing-the-view-spec">changing
the view spec</a>:</td><td> </td><td valign="top"><a
href="#View-Specs">View Specs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-chord-keyboards">chord
keyboards</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modifiers">Smart Key Modifiers</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-click_002c-buffer-menu">click,
buffer menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Buffer-Menus">Smart Key - Buffer Menus</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-click_002c-button">click,
button</a>:</td><td> </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-click_002c-dired">click,
dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Dired-Mode">Smart Key - Dired Mode</a></td></tr>
@@ -11877,8 +12107,9 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-click_002c-Info">click,
Info</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Info-Manuals">Smart Key - Info Manuals</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-click_002c-tar">click,
tar</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Tar-File-Mode">Smart Key - Tar File Mode</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-click_002c-world_002dwide-web">click, world-wide
web</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-WWW-URLs">Smart Key - WWW URLs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-clone-window">clone
window</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-clone-window-1">clone
window</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags outside a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-clone-window">clone
window</a>:</td><td> </td><td valign="top"><a
href="#Cloning-Windows">Cloning Windows</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-clone-window-1">clone
window</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-clone-window-2">clone
window</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags outside a
Window</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-code-block-selection">code block
selection</a>:</td><td> </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-collaboration">collaboration</a>:</td><td> </td><td
valign="top"><a href="#Koutliner-History">Koutliner History</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-collapse-lines">collapse
lines</a>:</td><td> </td><td valign="top"><a href="#View-Specs">View
Specs</a></td></tr>
@@ -11893,10 +12124,10 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-configuration">configuration</a>:</td><td> </td><td
valign="top"><a href="#Customization">Customization</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-context">context</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-context_002dsensitive-help">context-sensitive
help</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Operations">Smart Key Operations</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-control-key-modifier">control
key modifier</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modifiers">Smart Key Modifiers</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-copy-and-yank">copy and
yank</a>:</td><td> </td><td valign="top"><a href="#Thing-Selection">Thing
Selection</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-copy-and-yank-1">copy and
yank</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-between-Windows">Smart Mouse Drags between
Windows</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-copy-and-yank-2">copy and
yank</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited
Things</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-copy-buffer">copy
buffer</a>:</td><td> </td><td valign="top"><a
href="#Displaying-Buffers">Displaying Buffers</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-copy-region">copy
region</a>:</td><td> </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> </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> </td><td valign="top"><a
href="#Cell-Attributes">Cell Attributes</a></td></tr>
@@ -11931,17 +12162,20 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-demonstration">demonstration</a>:</td><td> </td><td
valign="top"><a href="#Hyperbole-Overview">Hyperbole Overview</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-demotion">demotion</a>:</td><td> </td><td valign="top"><a
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-depress_002c-modeline">depress,
modeline</a>:</td><td> </td><td valign="top"><a
href="#Modeline-Clicks-and-Drags">Modeline Clicks and Drags</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-diagonal-drag">diagonal
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-diagonal-drag">diagonal
drag</a>:</td><td> </td><td valign="top"><a
href="#Saving-and-Restoring-Window-Configurations">Saving and Restoring Window
Configurations</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-diagonal-drag-1">diagonal
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-digital-signature">digital
signature</a>:</td><td> </td><td valign="top"><a
href="#Glossary">Glossary</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-direct-link-creation">direct
link creation</a>:</td><td> </td><td valign="top"><a
href="#By-Dragging">By Dragging</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-direct-selection">direct
selection</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Argument-Selection">Smart Key Argument Selection</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-directory-editor">directory
editor</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-dired">dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-dired-1">dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-directory-editor">directory
editor</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-dired">dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-dired-1">dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-dired-browsing">dired
browsing</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Dired-Mode">Smart Key - Dired Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-dired-item-drag">dired item
drag</a>:</td><td> </td><td valign="top"><a
href="#Displaying-File-and-Buffer-Items">Displaying File and Buffer
Items</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-dired_002c-images">dired,
images</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Image-Thumbnails">Smart Key - Image
Thumbnails</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-disable-global-key-bindings">disable global key
bindings</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-disable-Hyperbole">disable
Hyperbole</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-disable-Hyperbole">disable
Hyperbole</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-disable-Hyperbole-1">disable
Hyperbole</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-disable-local-key-override">disable local key
override</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-display">display</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-display-function">display
function</a>:</td><td> </td><td valign="top"><a
href="#Internal-Viewers">Internal Viewers</a></td></tr>
@@ -11952,22 +12186,32 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-drag">drag</a>:</td><td> </td><td valign="top"><a
href="#By-Dragging">By Dragging</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-drag-1">drag</a>:</td><td> </td><td valign="top"><a
href="#Thing-Selection">Thing Selection</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-drag-2">drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited
Things</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-drag_002c-diagonal">drag,
diagonal</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-drag_002c-buffer-menu-item">drag, buffer menu
item</a>:</td><td> </td><td valign="top"><a
href="#Displaying-File-and-Buffer-Items">Displaying File and Buffer
Items</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-buffer-swap">drag,
buffer swap</a>:</td><td> </td><td valign="top"><a
href="#Swapping-Buffers">Swapping Buffers</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-clone-window">drag,
clone window</a>:</td><td> </td><td valign="top"><a
href="#Cloning-Windows">Cloning Windows</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-copy-buffer">drag,
copy buffer</a>:</td><td> </td><td valign="top"><a
href="#Displaying-Buffers">Displaying Buffers</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-diagonal">drag,
diagonal</a>:</td><td> </td><td valign="top"><a
href="#Saving-and-Restoring-Window-Configurations">Saving and Restoring Window
Configurations</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-diagonal-1">drag,
diagonal</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-drag_002c-dired">drag,
dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Dired-Mode">Smart Key - Dired Mode</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-drag_002c-horizontal">drag,
horizontal</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-dired-item">drag,
dired item</a>:</td><td> </td><td valign="top"><a
href="#Displaying-File-and-Buffer-Items">Displaying File and Buffer
Items</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-horizontal">drag,
horizontal</a>:</td><td> </td><td valign="top"><a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-horizontal-1">drag,
horizontal</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-resize-window">drag,
resize window</a>:</td><td> </td><td valign="top"><a
href="#Resizing-Windows">Resizing Windows</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-drag_002c-side-edge">drag, side
edge</a>:</td><td> </td><td valign="top"><a
href="#Side_002dby_002dSide-Window-Resizing">Side-by-Side Window
Resizing</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-drag_002c-vertical">drag,
vertical</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-Smart-Mouse-Key">drag,
Smart Mouse Key</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Drags">Smart Mouse Key Drags</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-vertical">drag,
vertical</a>:</td><td> </td><td valign="top"><a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-drag_002c-vertical-1">drag,
vertical</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-drag_002c-window-configuration">drag, window
configuration</a>:</td><td> </td><td valign="top"><a
href="#Saving-and-Restoring-Window-Configurations">Saving and Restoring Window
Configurations</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-drag_002c-with-region">drag,
with region</a>:</td><td> </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-drag_002c-with-region-1">drag,
with region</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-dragging-items">dragging
items</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags outside a
Window</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-dragging-items_002c-buffer-menu">dragging items, buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-dragging-items_002c-dired">dragging items,
dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-dragging-items_002c-buffer-menu">dragging items, buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-dragging-items_002c-dired">dragging items,
dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-dragging-outside-Emacs">dragging
outside Emacs</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags outside a
Window</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Concept-Index_cp_letter-E">E</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-e_002dmail-address">e-mail
address</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-e_002dmail-address-1">e-mail
address</a>:</td><td> </td><td valign="top"><a
href="#Cell-Attributes">Cell Attributes</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-EFS">EFS</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-ellipses">ellipses</a>:</td><td> </td><td valign="top"><a
href="#View-Specs">View Specs</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-Emacs">Emacs</a>:</td><td> </td><td valign="top"><a
href="#Hyperbole-Overview">Hyperbole Overview</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-Emacs-1">Emacs</a>:</td><td> </td><td valign="top"><a
href="#Menus">Menus</a></td></tr>
@@ -11994,9 +12238,9 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-explicit-button_002c-formats">explicit button,
formats</a>:</td><td> </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> </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> </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> </td><td valign="top"><a
href="#Location">Location</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-explicit-button_002c-searching">explicit button,
searching</a>:</td><td> </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> </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> </td><td valign="top"><a
href="#Location">Location</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-explicit-button_002c-summarizing">explicit button,
summarizing</a>:</td><td> </td><td valign="top"><a
href="#Searching-and-Summarizing">Searching and Summarizing</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-exporting">exporting</a>:</td><td> </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> </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> </td><td valign="top"><a
href="#Links">Links</a></td></tr>
@@ -12075,7 +12319,8 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-hiding-signatures">hiding
signatures</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-history">history</a>:</td><td> </td><td valign="top"><a
href="#Menus">Menus</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-hook-variables">hook
variables</a>:</td><td> </td><td valign="top"><a
href="#Hook-Variables">Hook Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-horizontal-drag">horizontal
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-horizontal-drag">horizontal
drag</a>:</td><td> </td><td valign="top"><a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-horizontal-drag-1">horizontal
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-HTML-conversion">HTML
conversion</a>:</td><td> </td><td valign="top"><a
href="#Exporting">Exporting</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-HTML-tag-pair">HTML tag
pair</a>:</td><td> </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-HyControl">HyControl</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
@@ -12128,7 +12373,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-ibtype_002c-predicate">ibtype,
predicate</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-ibtype_002c-return-val">ibtype,
return val</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Button-Types">Implicit Button Types</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-ibtypes_002c-list-of">ibtypes,
list of</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-ibuffer-menu">ibuffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ibuffer-menu">ibuffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-ibuffer-menu-1">ibuffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Buffer-Menus">Smart Key - Buffer Menus</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-idea-structuring">idea
structuring</a>:</td><td> </td><td valign="top"><a
href="#Koutliner-History">Koutliner History</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-idstamp">idstamp</a>:</td><td> </td><td valign="top"><a
href="#Koutliner">Koutliner</a></td></tr>
@@ -12144,7 +12389,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-importing">importing</a>:</td><td> </td><td valign="top"><a
href="#Inserting-and-Importing">Inserting and Importing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-importing-a-file">importing a
file</a>:</td><td> </td><td valign="top"><a
href="#Inserting-and-Importing">Inserting and Importing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-inactive-minibuffer">inactive
minibuffer</a>:</td><td> </td><td valign="top"><a
href="#Minibuffer-Menu-Activation">Minibuffer Menu Activation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Info-browser">Info
browser</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Info-browser">Info
browser</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Info-browsing">Info
browsing</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Info-Manuals">Smart Key - Info Manuals</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Info-manual">Info
manual</a>:</td><td> </td><td valign="top"><a
href="#Invocation">Invocation</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Info-node">Info
node</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
@@ -12171,7 +12416,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-issue-tracking">issue
tracking</a>:</td><td> </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-J">J</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-jump-menu">jump
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-jump-menu">jump
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-jump-menu-1">jump
menu</a>:</td><td> </td><td valign="top"><a
href="#Minibuffer-Menu-Activation">Minibuffer Menu Activation</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Concept-Index_cp_letter-K">K</a></th><td></td><td></td></tr>
@@ -12189,7 +12434,8 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-key-binding_002c-M_002dRET">key
binding, M-<tt class="key">RET</tt></a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-key-binding_002c-menu">key
binding, menu</a>:</td><td> </td><td valign="top"><a
href="#Menus">Menus</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-key-binding_002c-smart-keys">key
binding, smart keys</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-key-bindings_002c-toggle">key
bindings, toggle</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-key-bindings_002c-toggle">key
bindings, toggle</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-key-bindings_002c-toggle-1">key
bindings, toggle</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-key-sequence">key
sequence</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-keyboard-drag-emulation">keyboard drag
emulation</a>:</td><td> </td><td valign="top"><a href="#By-Dragging">By
Dragging</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-keypad">keypad</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
@@ -12339,7 +12585,6 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-menu_002c-Window_002dConfigurations">menu,
Window-Configurations</a>:</td><td> </td><td valign="top"><a
href="#Menus">Menus</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-menubar_002c-Hyperbole-menu">menubar, Hyperbole
menu</a>:</td><td> </td><td valign="top"><a
href="#Menus">Menus</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Messages-buffer">Messages
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Debugging">Smart Key Debugging</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-meta-key-modifier">meta key
modifier</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modifiers">Smart Key Modifiers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-MH_002de">MH-e</a>:</td><td> </td><td valign="top"><a
href="#Buttons-in-Mail">Buttons in Mail</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-middle-mouse-key">middle mouse
key</a>:</td><td> </td><td valign="top"><a href="#Smart-Keys">Smart
Keys</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-MIME">MIME</a>:</td><td> </td><td valign="top"><a
href="#External-Viewers">External Viewers</a></td></tr>
@@ -12349,26 +12594,26 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-minibuffer_002c-buffer-menu">minibuffer, buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Minibuffer-Menu-Activation">Minibuffer Menu Activation</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-minibuffer_002c-default-actions">minibuffer, default
actions</a>:</td><td> </td><td valign="top"><a
href="#Minibuffer-Menu-Activation">Minibuffer Menu Activation</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-minibuffer_002c-jump-menu">minibuffer, jump
menu</a>:</td><td> </td><td valign="top"><a
href="#Minibuffer-Menu-Activation">Minibuffer Menu Activation</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline-click-and-drag">modeline click and
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline-click-and-drag">modeline click and
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-modeline-depress">modeline
depress</a>:</td><td> </td><td valign="top"><a
href="#Modeline-Clicks-and-Drags">Modeline Clicks and Drags</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-buffer-id">modeline, buffer
id</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-buffer-menu">modeline, buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-bury-buffer">modeline, bury
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-modeline_002c-dired">modeline,
dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-Info-Browser">modeline, Info
Browser</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-jump-menu">modeline, jump
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-leftmost-character">modeline, leftmost
character</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-next-buffer">modeline, next
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-prev-buffer">modeline, prev
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-screen-command-menu">modeline, screen command
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-buffer-id">modeline, buffer
id</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-buffer-menu">modeline, buffer
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-bury-buffer">modeline, bury
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-modeline_002c-dired">modeline,
dired</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-Info-Browser">modeline, Info
Browser</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-jump-menu">modeline, jump
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-leftmost-character">modeline, leftmost
character</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-next-buffer">modeline, next
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-prev-buffer">modeline, prev
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-screen-command-menu">modeline, screen command
menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-modeline_002c-Smart-Keys">modeline, Smart
Keys</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Operations">Smart Key Operations</a></td></tr>
-<tr><td></td><td valign="top"><a
href="#index-modeline_002c-unbury-buffer">modeline, unbury
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-modeline_002c-unbury-buffer">modeline, unbury
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-modeline_002c-view-spec">modeline, view
spec</a>:</td><td> </td><td valign="top"><a href="#View-Specs">View
Specs</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-mouse">mouse</a>:</td><td> </td><td valign="top"><a
href="#Glossary">Glossary</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-mouse-bindings">mouse
bindings</a>:</td><td> </td><td valign="top"><a
href="#Menus">Menus</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-mouse-drag_002c-link-creation">mouse drag, link
creation</a>:</td><td> </td><td valign="top"><a href="#By-Dragging">By
Dragging</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-mouse-key-bindings">mouse key
bindings</a>:</td><td> </td><td valign="top"><a
href="#Questions-and-Answers">Questions and Answers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-mouse-key-toggle">mouse key
toggle</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-mouse-key-toggle">mouse key
toggle</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-mouse-keys_002c-unshifted">mouse
keys, unshifted</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-mouse-support">mouse
support</a>:</td><td> </td><td valign="top"><a href="#Smart-Keys">Smart
Keys</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-mouse_002c-moving-trees">mouse,
moving trees</a>:</td><td> </td><td valign="top"><a
href="#Relocating-and-Copying">Relocating and Copying</a></td></tr>
@@ -12458,6 +12703,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><th><a name="Concept-Index_cp_letter-R">R</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-raise-frame">raise
frame</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-rdb_002dmode">rdb-mode</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-RDB-Mode">Smart Key - RDB Mode</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-rebalance-windows">rebalance
windows</a>:</td><td> </td><td valign="top"><a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-reference">reference</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-referent">referent</a>:</td><td> </td><td valign="top"><a
href="#Explicit-Buttons">Explicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-refilling">refilling</a>:</td><td> </td><td valign="top"><a
href="#Filling">Filling</a></td></tr>
@@ -12473,6 +12719,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-Request-For-Comment">Request For
Comment</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Request-For-Comment-1">Request
For Comment</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-resize-frame-percentage">resize
frame percentage</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-resizing-windows">resizing
windows</a>:</td><td> </td><td valign="top"><a
href="#Resizing-Windows">Resizing Windows</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-restoring-windows">restoring
windows</a>:</td><td> </td><td valign="top"><a
href="#Window-Configurations">Window Configurations</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-RFC">RFC</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-RFC-1">RFC</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
@@ -12542,14 +12789,14 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-Smart-Key_002c-default-context">Smart Key, default
context</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Operations">Smart Key Operations</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-Smart-Key_002c-default-context-1">Smart Key, default
context</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Default-Context">Smart Key - Default
Context</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Smart-Keyboard-Keys">Smart
Keyboard Keys</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Argument-Completion">Smart Key - Argument
Completion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Smart-Keys-as-modifiers">Smart
Keys as modifiers</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modifiers">Smart Key Modifiers</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-smart-keys_002c-unshifted">smart
keys, unshifted</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-smart-marking">smart
marking</a>:</td><td> </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-Smart-Menu">Smart
Menu</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Smart-Menus">Smart Key - Smart Menus</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key">Smart Mouse
Key</a>:</td><td> </td><td valign="top"><a href="#Thing-Selection">Thing
Selection</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-1">Smart Mouse
Key</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Delimited-Things">Smart Key - Delimited
Things</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-smart-mouse-key-drag">smart
mouse key drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Drags">Smart Mouse Key Drags</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-drag">Smart
Mouse Key drag</a>:</td><td> </td><td valign="top"><a
href="#Modification">Modification</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-toggle">Smart
Mouse Key toggle</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Key-toggle">Smart
Mouse Key toggle</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Smart-Mouse-Keys">Smart Mouse
Keys</a>:</td><td> </td><td valign="top"><a href="#Smart-Mouse-Keys">Smart
Mouse Keys</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-smart-selection">smart
selection</a>:</td><td> </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-social-media">social
media</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
@@ -12567,6 +12814,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a
href="#index-submodes">submodes</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-subtree_002c-hide">subtree,
hide</a>:</td><td> </td><td valign="top"><a
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-subtree_002c-show">subtree,
show</a>:</td><td> </td><td valign="top"><a
href="#Hiding-and-Showing">Hiding and Showing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-swap-buffers">swap
buffers</a>:</td><td> </td><td valign="top"><a
href="#Swapping-Buffers">Swapping Buffers</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-swapping">swapping</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-system-encapsulation">system
encapsulation</a>:</td><td> </td><td valign="top"><a
href="#Encapsulating-Systems">Encapsulating Systems</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
@@ -12590,7 +12838,8 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-toc-action-type">toc action
type</a>:</td><td> </td><td valign="top"><a href="#Action-Types">Action
Types</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-toc-implicit-button-type">toc
implicit button type</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-toggle-HyControl-mode">toggle
HyControl mode</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-toggle-key-bindings">toggle key
bindings</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-toggle-key-bindings">toggle key
bindings</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-toggle-key-bindings-1">toggle
key bindings</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-toggling-blank-lines">toggling
blank lines</a>:</td><td> </td><td valign="top"><a href="#View-Specs">View
Specs</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-top_002dlevel-cell">top-level
cell</a>:</td><td> </td><td valign="top"><a
href="#Creating-Outlines">Creating Outlines</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-top_002dlevel-cell-1">top-level
cell</a>:</td><td> </td><td valign="top"><a
href="#Idstamps">Idstamps</a></td></tr>
@@ -12618,7 +12867,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-type-redefinition-1">type
redefinition</a>:</td><td> </td><td valign="top"><a
href="#Creating-Types">Creating Types</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Concept-Index_cp_letter-U">U</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unbury-buffer">unbury
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Modeline-Clicks">Smart Key Modeline Clicks</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-unbury-buffer">unbury
buffer</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Key-Modeline-Clicks">Smart Mouse Key Modeline
Clicks</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-unburying">unburying</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-UNIX-manual">UNIX
manual</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-unshifted-mouse-bindings">unshifted mouse
bindings</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-Bindings">Smart Key Bindings</a></td></tr>
@@ -12641,7 +12890,8 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-version-control-1">version
control</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-version-control-2">version
control</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-version-description">version
description</a>:</td><td> </td><td valign="top"><a
href="#Suggestion-or-Bug-Reporting">Suggestion or Bug Reporting</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-vertical-drag">vertical
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-vertical-drag">vertical
drag</a>:</td><td> </td><td valign="top"><a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-vertical-drag-1">vertical
drag</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-within-a-Window">Smart Mouse Drags within a
Window</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-view">view</a>:</td><td> </td><td valign="top"><a
href="#Viewing">Viewing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-view-mode">view
mode</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-View-Mode">Smart Key - View Mode</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-view-spec">view
spec</a>:</td><td> </td><td valign="top"><a href="#View-Specs">View
Specs</a></td></tr>
@@ -12669,16 +12919,19 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-web-search-menu-1">web search
menu</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window-configuration">window
configuration</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-window-configuration-commands">window configuration
commands</a>:</td><td> </td><td valign="top"><a
href="#Window-Configurations">Window Configurations</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-window-configuration-drag">window configuration
drag</a>:</td><td> </td><td valign="top"><a
href="#Saving-and-Restoring-Window-Configurations">Saving and Restoring Window
Configurations</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-window-configuration-ring">window configuration
ring</a>:</td><td> </td><td valign="top"><a
href="#Window-Configurations">Window Configurations</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window-configurations">window
configurations</a>:</td><td> </td><td valign="top"><a
href="#Window-Configurations">Window Configurations</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window-system">window
system</a>:</td><td> </td><td valign="top"><a
href="#External-Viewers">External Viewers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-window_002c-clone">window,
clone</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-window_002c-clone-1">window,
clone</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags outside a
Window</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-window_002c-clone">window,
clone</a>:</td><td> </td><td valign="top"><a
href="#Cloning-Windows">Cloning Windows</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-window_002c-clone-1">window,
clone</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-window_002c-clone-2">window,
clone</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags outside a
Window</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window_002c-make">window,
make</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window_002c-maximize">window,
maximize</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window_002c-move">window,
move</a>:</td><td> </td><td valign="top"><a
href="#Smart-Mouse-Drags-outside-a-Window">Smart Mouse Drags outside a
Window</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window_002c-other">window,
other</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window_002c-shrink">window,
shrink</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-window_002c-swap-buffer">window,
swap buffer</a>:</td><td> </td><td valign="top"><a
href="#Swapping-Buffers">Swapping Buffers</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-window_002c-zoom">window,
zoom</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-windows">windows</a>:</td><td> </td><td valign="top"><a
href="#Glossary">Glossary</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-windows-control">windows
control</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
@@ -12686,6 +12939,7 @@ Previous: <a href="#Function" accesskey="p"
rel="prev">Function</a>, Up: <a href
<tr><td></td><td valign="top"><a href="#index-windows-grid-1">windows
grid</a>:</td><td> </td><td valign="top"><a
href="#Global-Key-Bindings">Global Key Bindings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-windows_002c-balance">windows,
balance</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-windows_002c-equalize">windows,
equalize</a>:</td><td> </td><td valign="top"><a
href="#HyControl">HyControl</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-windows_002c-rebalance">windows,
rebalance</a>:</td><td> </td><td valign="top"><a
href="#Creating-and-Deleting-Windows">Creating and Deleting
Windows</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-word-wrap">word
wrap</a>:</td><td> </td><td valign="top"><a
href="#Filling">Filling</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-World_002dwide-Web">World-wide
Web</a>:</td><td> </td><td valign="top"><a
href="#Implicit-Buttons">Implicit Buttons</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-World_002dwide-Web-1">World-wide
Web</a>:</td><td> </td><td valign="top"><a href="#Action-Types">Action
Types</a></td></tr>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index 86d2a4f..cb736de 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index fddda41..c207b2e 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 32230e8..79344df 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -81,7 +81,7 @@ See the GNU General Public License for more details in the
file,
right thing, a powerful contact manager, an advanced, auto-
numbered outliner with hyperlink anchors for each outline
cell, and easily editable and extensible hyperlink buttons,
- even embeddable within mail and news messages.
+ even embeddable within mail and news messages.@
@end direntry
@c
@@ -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.2f
-Printed October 27, 2017.
+Edition 6.0.2g
+Printed November 1, 2017.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -176,7 +176,7 @@ Printed October 27, 2017.
@center The Everyday Hypertextual Information Manager
address@hidden Edition 6.0.2f, October 27, 2017.
address@hidden Edition 6.0.2g, November 1, 2017.
@sp 2
@noindent
@@ -278,11 +278,25 @@ Smart Keys
* Smart Key Bindings::
* Smart Key Operations::
-* Smart Key Modeline Clicks::
-* Smart Key Thing Selection::
* Smart Key Argument Selection::
-* Smart Key Modifiers::
* Smart Key Debugging::
+* Smart Key Thing Selection::
+* Smart Mouse Key Modeline Clicks::
+* Smart Mouse Key Drags::
+
+Smart Mouse Key Drags
+
+* Creating and Deleting Windows::
+* Saving and Restoring Window Configurations::
+* Resizing Windows::
+* Dragging Buffers::
+
+Dragging Buffers, Windows and Items
+
+* Swapping Buffers::
+* Displaying Buffers::
+* Cloning Windows::
+* Displaying File and Buffer Items::
Buttons
@@ -300,7 +314,7 @@ Utilizing Explicit Buttons
* Renaming::
* Deletion::
* Modification::
-* Location::
+* Searching and Summarizing::
* Buttons in Mail::
* Buttons in News::
@@ -445,7 +459,7 @@ Smart Keyboard Keys
@chapter Introduction
This edition of the GNU Hyperbole Manual is for use with any version
-6.0.2f or greater of GNU Hyperbole. Hyperbole runs atop GNU Emacs 24.3
+6.0.2g 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,
@@ -491,21 +505,21 @@ Hyperbole's basic operation.
@xref{Suggestion or Bug Reporting}, for instructions on how to ask a
question, suggest a feature or report a bug in Hyperbole. A few
-commonly asked questions are answered in this manual. @xref{Questions
-and Answers}. @xref{References}, if you are interested in classic
-articles on hypertext.
+commonly asked questions are answered in this manual, @pxref{Questions
+and Answers}. If you are interested in classic
+articles on hypertext, @pxref{References}.
@xref{Smart Keys}, for an explanation of the innovative, context-sensitive
mouse and keyboard Action and Assist Keys offered by Hyperbole.
@xref{Smart Key Reference}, for a complete reference on what the Action
and Assist Keys do in each particular context that they recognize.
address@hidden Key Argument Selection}, for special support that Hyperbole
-provides for entering arguments when prompted for them.
address@hidden Key Argument Selection}, for how Hyperbole speeds selection of
+prompted for arguments.
Keep in mind as you read about using Hyperbole that in many cases, it
-provides a number of overlapping interaction methods that support
-differing work styles and hardware limitations. In such instances,
-you need learn only one technique that suits you.
+provides a number of overlapping interaction methods that support differing
+work styles and hardware limitations. In such instances, you need learn
+only one technique that suits you.
@xref{Buttons}, for an overview of Hyperbole buttons and how to use them.
@@ -543,13 +557,12 @@ with in their everyday worklife is seldom stored away in
neatly defined
database schemas. Instead it is scattered among local and remote files,
e-mail messages, faxes, voice mail and web pages.
-The rise of the web has demonstrated how hypertext technologies can be
-used to build massive organized repositories of scattered information.
-But assembling information for the web still remains a great challenge
-to many and the data formats of the web are inherently still too
-structured to deal with the great variety of information that people
-process. Modern web development often requires the use of many
-languages: HTML, JavaScript, CSS and Java. This in itself prevents
+The rise of the web has demonstrated how hypertext technologies can be used
+to build massive organized repositories of scattered information. But
+assembling information for the web still remains a great challenge and the
+data formats of the web are too structured to deal with the great variety
+of information that people process. Modern web development requires the
+use of many languages: HTML, JavaScript, and CSS. This in itself prevents
its use as the prime means of organizing and interlinking the constant
flows of daily information.
@@ -591,17 +604,16 @@ Hyperbole consists of five parts:
@table @emph
@item Buttons and Smart Keys
-a set of hyperbutton types that provides core hypertext and other
-behaviors, @pxref{Buttons}. 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.
+Hyperbole hyperlink and other kinds of buttons (explicit buttons) may be
+added to documents 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. @xref{Buttons}.
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.
+can develop new types and button actions quickly.
Hyperbole includes two special @dfn{Smart Keys}, the Action Key and the
Assist Key, that perform an extensive array of context-sensitive
@@ -609,7 +621,7 @@ 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. @xref{Smart Keys}.
+right thing happens. @xref{Smart Keys};
@item Contact and Text Finder
an interactive, textual information management interface, including
@@ -726,8 +738,8 @@ other documents.
@item brainstorming
The Hyperbole outliner (@pxref{Koutliner}) is an effective tool for
capturing ideas and then quickly reorganizing them in a meaningful way.
-Links to related ideas are easy enough to create that copying and
-pasting ideas together quickly becomes a dated technique.
+Links to related ideas are easy to create so the need to copy and
+paste information is greatly reduced.
@item help/training systems
Tutorials with buttons can show students how things work while
@@ -774,11 +786,11 @@ behavior in all contexts.
@menu
* Smart Key Bindings::
* Smart Key Operations::
-* Smart Key Modeline Clicks::
-* Smart Key Thing Selection::
* Smart Key Argument Selection::
-* Smart Key Modifiers::
* Smart Key Debugging::
+* Smart Key Thing Selection::
+* Smart Mouse Key Modeline Clicks::
+* Smart Mouse Key Drags::
@end menu
@node Smart Key Bindings, Smart Key Operations, Smart Keys, Smart Keys
@@ -813,13 +825,12 @@ under an external window system.
@cindex unshifted mouse keys
@cindex mouse keys, unshifted
@cindex smart keys, unshifted
-Users or those who set the variable, @code{hmouse-middle-flag},
-to @samp{t} before loading Hyperbole, may also use the middle mouse
-key as the Action Key). If you want both the middle mouse key as the
-Action Key and the right mouse key as the Assist Key for ease of use,
-then within your personal @file{~/.emacs} file, add:
- @code{(add-hook 'hyperbole-init-hook 'hmouse-add-unshifted-smart-keys)}
-and then restart Emacs.
+If you set the variable, @code{hmouse-middle-flag}, to @samp{t} before
+loading Hyperbole, then you may also use the middle mouse key as the Action
+Key). If you want both the middle mouse key as the Action Key and the
+right mouse key as the Assist Key for ease of use, then within your
+personal @file{~/.emacs} file, add: @code{(add-hook 'hyperbole-init-hook
+'hmouse-add-unshifted-smart-keys)} and then restart Emacs.
@cindex key binding, smart keys
@cindex smart key commands
@@ -831,30 +842,31 @@ and then restart Emacs.
If you prefer other key assignments, simply bind the commands
@code{action-key} and @code{assist-key} to keyboard keys.
@code{hkey-either} may be used instead if you prefer a single
-key binding for both commands; a prefix argument, such as @bkbd{C-u},
-then invokes @code{assist-key}. You may also bind @code{action-mouse-key}
-and @code{assist-mouse-key} to other mouse keys, if you like, though
-you won't be able to execute drag actions with such key bindings.
+key binding for both commands; a prefix argument, such as @bkbd{C-u}, then
+invokes @code{assist-key}. You may also bind @code{action-mouse-key}
+and @code{assist-mouse-key} to other mouse keys, though you won't be able
+to execute mouse drag actions with such key bindings.
Mouse configuration of the Smart Keys is automatic for GNU Emacs under
Mac OS X, the X Window System and MS Windows assuming your emacs program
has been built with support for any of these window systems.
@vindex file, .emacs
address@hidden hmouse-toggle-bindings
address@hidden mouse key toggle
address@hidden Smart Mouse Key toggle
address@hidden C-c t
-If you ever want to restore the mouse bindings that existed before
-Hyperbole was loaded, use the @code{hmouse-toggle-bindings} command.
-It switches between the Hyperbole mouse key bindings and those set
-prior to loading Hyperbole and then back again if invoked once more.
-There is no default key binding for this command; use @bkbd{M-x
-hmouse-toggle-bindings @key{RET}}. Alternatively, you may select a
-key and bind it as part of any setting of @code{hyperbole-init-hook}
-within your personal @file{~/.emacs} file. For example, @code{(add-hook
-'hyperbole-init-hook (lambda () (global-set-key "\C-ct"
-'hmouse-toggle-bindings)))}.
address@hidden hyperbole-toggle-bindings
address@hidden change key bindings
address@hidden toggle key bindings
address@hidden key bindings, toggle
address@hidden disable Hyperbole
address@hidden C-c h
+If you ever need to temporarily disable the Hyperbole keyboard and mouse
+bindings, use the @code{hyperbole-toggle-bindings} command. It switches
+between the Hyperbole key bindings and those set prior to loading Hyperbole
+and then back again if invoked once more. There is no default key binding
+for this command; use @bkbd{M-x hyperbole-toggle-bindings
address@hidden Alternatively, you may select a key and bind it as part of any
+setting of @code{hyperbole-init-hook} within your personal @file{~/.emacs}
+file. For example, @code{(add-hook 'hyperbole-init-hook (lambda ()
+(global-set-key "\C-ch" 'hyperbole-toggle-bindings)))}.
@c @cindex Paste Key
@c @cindex mouse paste
@@ -869,7 +881,7 @@ within your personal @file{~/.emacs} file. For example,
@code{(add-hook
@c editor when the Action Key is clicked; it will not paste selections from
@c other applications).
address@hidden Smart Key Operations, Smart Key Modeline Clicks, Smart Key
Bindings, Smart Keys
address@hidden Smart Key Operations, Smart Key Argument Selection, Smart Key
Bindings, Smart Keys
@section Smart Key Operations
@cindex button activation
@@ -884,12 +896,12 @@ function to whatever the Action Key does within a context.
@cindex menu item, Doc/SmartKeys
@cindex Smart Key summary
@cindex modeline, Smart Keys
-The Hyperbole Doc/SmartKeys menu entry displays a summary of what the
-Smart Keys do in all of their different contexts. Alternatively, a
-click of the Assist Mouse Key in the right corner of a window
-modeline (within the rightmost 3 characters) toggles between
-displaying this summary and hiding it. Reference this summary
-whenever you need it.
+The Hyperbole Doc/SmartKeys menu entry, @bkbd{C-h h d s}, displays a
+summary of what the Smart Keys do in all of their different contexts.
+Alternatively, a click of the Assist Mouse Key in the right corner of a
+window modeline (within the rightmost 3 characters) toggles between
+displaying this summary and hiding it. Reference this summary whenever you
+need it.
The following table is the same summary. Much of the browsing power
of Hyperbole comes from the use of the Smart Keys, so spend some time
@@ -950,8 +962,166 @@ the Assist Key. Note that @bkbd{C-h a} performs a
function unrelated
to Hyperbole, so you must press the shift key when you type
the @key{A} character.
address@hidden Smart Key Modeline Clicks, Smart Key Thing Selection, Smart Key
Operations, Smart Keys
address@hidden Smart Key Modeline Clicks
address@hidden Smart Key Argument Selection, Smart Key Debugging, Smart Key
Operations, Smart Keys
address@hidden Smart Key Argument Selection
+
address@hidden Hyperbole help
+A prime design criterion of Hyperbole's user interface is that you
+should be able to see what an operation will do before using it. The
+Assist Key typically shows you what a button or minibuffer menu item
+will do before you activate it. Hyperbole also displays the result of
+directly selecting an argument value with the Action Key, to provide
+feedback as to whether the correct item has been selected. A second
+press/click is necessary before an argument is accepted and processed.
+
address@hidden argument entry
address@hidden direct selection
address@hidden double click
+Many Hyperbole commands prompt you for arguments. The standard
+Hyperbole user interface has an extensive core of argument types that
+it recognizes. Whenever Hyperbole is prompting you for an argument,
+it knows the type that it needs and provides some error checking to
+help you get it right. More importantly, it allows you to press the
+Action Key within an entity that you want to use as an argument and it
+will grab the appropriate thing and show it to you at the input prompt
+within the minibuffer. If you press (click with a mouse) the Action
+Key on the same thing again, it accepts the entity as the argument
+and moves on. Thus, a double click registers a desired argument.
+Double-quoted strings, pathnames, mail messages, Info nodes, dired
+listings, buffers, numbers, completion items and so forth are all
+recognized at appropriate times. All of the argument types mentioned
+in the documentation for the Emacs Lisp @code{interactive} function
+are recognized. Experiment a little and you will quickly get used to
+this direct selection technique.
+
address@hidden completion
+Wherever possible, standard Emacs completion is offered, as described in
address@hidden,,,emacs,the GNU Emacs Manual}. Remember to use @bkbd{?}
+to see what your possibilities for an argument are. Once you have a
+list of possible completions on screen, press the Action Key twice on
+any item to enter it as the argument.
+
address@hidden Smart Key Debugging, Smart Key Thing Selection, Smart Key
Argument Selection, Smart Keys
address@hidden Smart Key Debugging
+
+Typically, @bkbd{C-h A} and @bkbd{C-u C-h A} which show Action and
+Assist Key help for the current context, are sufficient for seeing how
+the Smart Keys behave no matter where they are used.
+
address@hidden C-h h c d
address@hidden Smart Key debugging
address@hidden menu item, Cust/Debug-Toggle
address@hidden debugging Smart Keys
address@hidden troubleshooting Smart Keys
address@hidden Messages buffer
address@hidden logging Smart Key behavior
+However, if a Smart Key ever behaves differently than you think it
+should or if you want to test how the Smart Keys respond in a new
+context, then the Smart Key debugging flag may be of use. You toggle
+it on and off with @bkbd{C-h h c d} (minibuffer menu
+Cust/Debug-Toggle). Once enabled, this displays a message in the
+minibuffer each time the Action or Assist Key is released, showing
+the context of the press and its associated action, so you can see
+exactly what is happening whenever you use a Smart Key. These
+messages are all prefaced with ``(HyDebug)'' and logged to the
+``*Messages*'' buffer for later viewing.
+
address@hidden C-h h m c
address@hidden C-h h m r
+If you do find a problem with the Smart Keys and want to report a bug,
+use @bkbd{C-h h m r} to compose an email message to the bug-hyperbole
+list. Hyperbole will automatically include all of the ``(HyDebug)''
+messages from your current emacs session into your email. Similarly,
+when you compose an email to the hyperbole-users mailing list
+with @bkbd{C-h h m c}, these messages are also included.
+
address@hidden Smart Key Thing Selection, Smart Mouse Key Modeline Clicks,
Smart Key Debugging, Smart Keys
address@hidden Smart Key Thing Selection
+
address@hidden sexp selection
address@hidden code block selection
address@hidden selection
address@hidden smart selection
address@hidden smart marking
address@hidden region selection
address@hidden things
address@hidden delimited things
+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. A great deal of smarts are built-in so that it
+does the right thing most of the time; many other attempts at similar
+behavior such as @file{thing.el} fail to deal with many file format
+complexities.
+
+We use the term @dfn{things} to refer to structured entities that
+Hyperbole can select. These include: delimited pairs of (), @address@hidden,
<>,
+[] and quote marks, source code functions, source code comments and
+matching tag pairs in HTML and SGML modes. @dfn{Delimited things} are
+those things that contain a selectable delimiter such as an opening
+parenthesis.
+
address@hidden HTML tag pair
address@hidden SGML tag pair
+The best way to mark a delimited thing is to move your cursor to the
+starting delimiter of the thing and then press the Action Key. Typically,
+you will see the thing highlight. You can then operate upon it as you
+would any Emacs region. In many cases, you can do the same thing upon
+the closing delimiter, but this is not as reliable. An Action Key
+press on the start of an HTML or SGML tag pair marks the entire region
+span of the pair. If you use the Assist Key instead, it will mark and
+kill (delete) the thing.
+
address@hidden drag, with region
address@hidden kill region
address@hidden yank region
address@hidden cut region
address@hidden copy region
address@hidden paste region
+Even better are Smart Mouse Key drags which let you copy or move
+delimited things in one operation without even highlighting them. To
+copy, simply drag with the Action Key from a thing's opening delimiter
+and release somewhere outside of the thing, either within the same
+window or within another window. The thing will be copied to the
+point of release. If you want to move a thing, simply perform the
+same drag but with the Assist Mouse Key. Ensure that you do not move
+any explicit buttons from one buffer to another as that does not
+work.
+
+Try out some of these operations in HTML or source code files to see
+how they can speed your editing.
+
address@hidden
+Hyperbole also binds two convenience keys for working with things.
+
address@hidden C-c @key{RET}
address@hidden hui-select-thing
address@hidden hui-select-thing-with-mouse
+The first such key is @bkbd{C-c @key{RET}} @code{hui-select-thing} which
+selects bigger and bigger syntactic regions with each successive use.
+Double or triple clicks of the Selection Key (left mouse key) do the same
+thing. The first press selects a region based upon the character at point.
+For example, with point over an opening or closing grouping character, such
+as @{ or @}, the whole grouping is selected, e.g. a C function. When on an
+_ or - within a programming language identifier name, the whole name is
+selected. The type of selection is displayed in the minibuffer as
+feedback. When using a language in which indentation determines nesting
+level like Python, a double click on the first alpha character of a line,
+such as an if statement, selects the current clause (until the next line at
+the same or lesser indentation). Use @bkbd{C-g} to unmark the region when
+done. Use, @code{hui-select-thing-with-mouse} if you want to bind this to
+a different mouse key to use single clicks instead of double clicks.
+
address@hidden C-c .
address@hidden hui-select-goto-matching-tag
+The second convenience key is bound only in HTML/web mode. @bkbd{C-c
+.} @code{hui-select-goto-matching-tag} jumps between the opening and
+closing tag of a pair. It moves point to the start of the tag paired
+with the closest tag that point is within or which it precedes. A
+second press moves point to the matching tag of the pair, allowing you
+to quickly jump back and forth between opening and closing tags.
+
address@hidden Smart Mouse Key Modeline Clicks, Smart Mouse Key Drags, Smart
Key Thing Selection, Smart Keys
address@hidden Smart Mouse Key Modeline Clicks
Smart Mouse Key clicks on a window's modeline offer many powerful browsing
features, including directory editing (dired), user manual browsing, and
@@ -973,12 +1143,12 @@ the bottom buffer.
@cindex modeline, next buffer
@cindex modeline, prev buffer
-A similar effect can be achieved with the standard Emacs mouse 1 and 3 buttons
-on the Buffer Id element of modeline which cycle through previous and next
-buffers respectively. This may be easier to use since you can click anywhere
-on the buffer identifier.
+A similar effect can be achieved with the standard Emacs mouse 1 (left) and
+3 (right) buttons on the Buffer ID element of modeline to cycle through
+previous and next buffers, respectively. This may be easier to use since
+you can click anywhere on the buffer identifier.
address@hidden Buffer Id Element
address@hidden Buffer ID Element
@cindex dired
@cindex modeline, dired
@@ -988,15 +1158,15 @@ on the buffer identifier.
On the left part of the modeline is the buffer identification,
generally the name of the buffer in use. An Action Key click on that
switches the window to edit the buffer's directory using dired.
-Action Key clicks on directory items in dired display the items
-in other windows. An Action Key drag from an item to another window
-displays the item in that window.
+Then Action Key clicks on directory items in the dired buffer display the
+items selected in other windows. An Action Key drag from an item to
+another window displays the item in that window.
-An Action Key click on the first buffer line containing the current
-directory path, specifically on any ancestor part of the path (the part to
-the left of the click point), starts another dired session on the ancestor
-directory. Click at the end of this line to end the dired session (bury
-its buffer).
+An Action Key click on the first line in a dired buffer which contains the
+current directory path, specifically on any ancestor part of the path (the
+part to the left of the click point), starts another dired session on the
+ancestor directory. Click at the end of this line to end the dired session
+(bury its buffer).
@item Large Blank Area
@@ -1011,6 +1181,13 @@ list of all buffers. Once displayed, an Action Key
click on a buffer
item will display it in another window. You can drag items to specific
windows for display as well.
+Alternatively, you may (1) display the buffer menu, (2) use its @bkbd{m}
+command to mark buffers, and (3) use the Hyperbole @bkbd{@@} command to
+display the marked buffers in a grid of popup windows whose number of
+rows and columns you specify at the prompt or via a prefix argument.
+This also works in @code{ibuffer-menu} and @code{dired} modes.
address@hidden
+
An Assist Key click in the blank area of the modeline displays a quick
access menu of display-oriented commands. You can jump to buffers
categorized by major mode, jump to windows by buffer name, or to
@@ -1042,14 +1219,14 @@ Smart Key summary, as noted earlier.
@cindex ibuffer menu
Hyperbole modeline mouse click actions are controlled by the two functions,
@code{action-key-modeline} and @code{assist-key-modeline}. If you know
-a little Emacs Lisp you can change these to do whatever you like.
-When a Smart Key press is on a blank part of a modeline but not at
-the left or right, the function given by one of these two variables
-is executed: @code{action-key-modeline-function} or
+a little Emacs Lisp you can change these to do whatever you like. When a
+Smart Key press is on a blank part of a modeline but not at the left or
+right, the function given by one of these two variables is
+executed: @code{action-key-modeline-function} or
@code{assist-key-modeline-function}. By default, the Action Key toggles
between displaying and hiding the buffer menu. If you like the more
-advanced features of @code{Ibuffer Mode}, you can change the buffer menu
-to use that with the following in your Emacs initialization file:
+advanced features of @code{Ibuffer Mode}, you can change the buffer menu to
+use that with the following in your Emacs initialization file:
@code{(setq action-key-modeline-function #'hmouse-context-ibuffer-menu)}.
To set it back to the default use:
@code{(setq action-key-modeline-function #'hmouse-context-menu)}.
@@ -1075,199 +1252,198 @@ Modeline Function text field that appears, change the
value
to @code{dired-jump}. Then press the ``Apply and Save'' button.
@end itemize
address@hidden Smart Key Thing Selection, Smart Key Argument Selection, Smart
Key Modeline Clicks, Smart Keys
address@hidden Smart Key Thing Selection
-
address@hidden sexp selection
address@hidden code block selection
address@hidden selection
address@hidden smart selection
address@hidden smart marking
address@hidden region selection
address@hidden things
address@hidden delimited things
-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. A great deal of smarts are
-built-in so that it does the right thing most of the time; many other
-attempts at similar behavior such as thing.el fail to deal with many
-file format complexities.
-
-We use the term @dfn{things} to refer to structured entities that
-Hyperbole can select. These include: delimited pairs of (), @address@hidden,
<>,
-[] and quote marks, source code functions, source code comments and
-matching tag pairs in HTML and SGML modes. @dfn{Delimited things} are
-those things that contain a selectable delimiter such as an opening
-parenthesis.
-
address@hidden HTML tag pair
address@hidden SGML tag pair
-The best way to mark a delimited thing is to move your cursor to the
-starting delimiter of the thing and then press the Action Key. Typically,
-you will see the thing highlight. You can then operate upon it as you
-would any Emacs region. In many cases, you can do the same thing upon
-the closing delimiter but this is not as reliable. An Action Key
-press on the start of an HTML or SGML tag pair marks the entire region
-span of the pair. If you use the Assist Key instead, it will mark and
-kill (delete) the thing.
address@hidden Smart Mouse Key Drags, , Smart Mouse Key Modeline Clicks, Smart
Keys
address@hidden Smart Mouse Key Drags
address@hidden drag, with region
address@hidden kill region
address@hidden yank region
address@hidden cut region
address@hidden copy region
address@hidden paste region
-Even better are Smart Mouse Key drags which let you copy or move
-delimited things in one operation without even highlighting them. To
-copy, simply drag with the Action Key from a thing's opening delimiter
-and release somewhere outside of the thing, either within the same
-window or within another window. The thing will be copied to the
-point of release. If you want to move a thing, simply perform the
-same drag but with the Assist Mouse Key. Ensure that you do not move
-any explicit buttons from one buffer to another as that does not
-presently work.
address@hidden smart mouse key drag
address@hidden Action Mouse Key drag
address@hidden Assist Mouse Key drag
address@hidden drag, Smart Mouse Key
+As mentioned in the section on Thing Selection, Hyperbole Smart Mouse Key
+drag actions can be quite useful. This section summarizes other drag
+contexts and actions; for complete documentation, @pxref{Smart
+Mouse Keys}.
-Try out some of these operations in HTML or source code files to see
-how they can speed your editing.
address@hidden
+* Creating and Deleting Windows::
+* Saving and Restoring Window Configurations::
+* Resizing Windows::
+* Dragging Buffers::
address@hidden menu
address@hidden
-Hyperbole also binds two convenience keys for working with things.
address@hidden Creating and Deleting Windows, Saving and Restoring Window
Configurations, Smart Mouse Key Drags, Smart Mouse Key Drags
address@hidden Creating and Deleting Windows
address@hidden C-c @key{RET}
address@hidden hui-select-thing
address@hidden hui-select-thing-with-mouse
-The first such key is @bkbd{C-c @key{RET}} @code{hui-select-thing}
-which selects bigger and bigger syntactic regions with each successive
-use. Double or triple clicks of the Selection Key (left mouse key) do
-the same thing. The first press selects a region based upon the
-character at point. For example, with point over an opening or
-closing grouping character, such as @{ or @}, the whole grouping is
-selected, e.g. a C function. When on an _ or - within a programming
-language identifier name, the whole name is selected. The type of
-selection is displayed in the minibuffer as feedback. When using a
-language in which indentation determines nesting level like Python, a
-double click on the first alpha character of a line, such as an if
-statement, selects the whole statement. Use @bkbd{C-g} to unmark the
-region when done. Use, @code{hui-select-thing-with-mouse} if you want
-to bind this to a different mouse key to use single clicks instead of
-double clicks.
address@hidden drag, horizontal
address@hidden horizontal drag
address@hidden drag, vertical
address@hidden vertical drag
+Horizontal and vertical drags of the Smart Mouse Keys are used to split and
+delete Emacs windows.
+
+An Action Mouse Key horizontal drag of five or more characters in either
+direction within a single window creates a new window by splitting the
+current window into two windows, one atop the other. An Action Mouse Key
+vertical drag in either direction splits the current window into two
+side-by-side windows. A horizontal or vertical drag of the Assist Mouse
+Key within a single window, deletes that window.
+
address@hidden C-x +
address@hidden rebalance windows
address@hidden windows, rebalance
+If you split windows many times and then delete a number of the windows,
+you'll be left with windows of differing heights. Use @bkbd{C-x +} to
+re-balance the sizes of the remaining windows, so they are fairly even.
+
address@hidden Saving and Restoring Window Configurations, Resizing Windows,
Creating and Deleting Windows, Smart Mouse Key Drags
address@hidden Saving and Restoring Window Configurations
+
address@hidden window configuration drag
address@hidden drag, window configuration
address@hidden drag, diagonal
address@hidden diagonal drag
+A window configuration consists of the set of windows within a single Emacs
+frame. This includes their locations, buffers, and the scrolled positions of
+their buffers.
+
+Hyperbole allows you to save and restore window configurations with simple
+diagonal mouse drags within a single window. A diagonal drag in any
+direction of the Action Key saves the current window configuration to a
+ring of window configurations, just like the Emacs text kill ring.
+(@xref{Kill Ring,,,emacs, the Emacs Manual}). Each diagonal drag in any
+direction of the Assist Key restores a prior saved window configuration
+from the ring. Window configurations are restored in reverse order of the
+way they were saved. Since a ring is circular, after the oldest element is
+restored, the newest element will again be restored and so on.
+
address@hidden Resizing Windows, Dragging Buffers, Saving and Restoring Window
Configurations, Smart Mouse Key Drags
address@hidden Resizing Windows
+
address@hidden resizing windows
address@hidden drag, resize window
+Emacs windows may be resized by dragging their window separators (modelines
+or vertical side lines) within a frame. Simply depress either Smart Mouse
+Key on a modeline or near a window side, hold it down while you drag to a
+new location and then release. The window separator will then jump to the
+location of release. Basically, just drag the window separator to where
+you want it. Nowadays a better version of Emacs window resizing exists on
+the left mouse key. A drag with this key from a blank area of a modeline
+or a window side divider shows visible feedback as the window is resized.
+But if you are always using the Smart Mouse Keys, you may prefer to use
+them for resizing windows as well.
+
+Note that you cannot drag the bottom-most modeline; you would have to
+resize the frame to move the bottom of that window up.
+
address@hidden Dragging Buffers, , Resizing Windows, Smart Mouse Key Drags
address@hidden Dragging Buffers, Windows and Items
+
+Smart Mouse Key drags let you display buffers and windows however you want
+them. Dired and buffer-menu items may also be displayed in specific
+locations with drags. Below we explore these drag actions.
address@hidden C-c .
address@hidden hui-select-goto-matching-tag
-The second convenience key is bound only in HTML/web mode. @bkbd{C-c
-.} @code{hui-select-goto-matching-tag} jumps between the opening and
-closing tag of a pair. It moves point to the start of the tag paired
-with the closest tag that point is within or which it precedes. A
-second press moves point to the matching tag of the pair, allowing you
-to quickly jump back and forth between opening and closing tags.
address@hidden
+* Swapping Buffers::
+* Displaying Buffers::
+* Cloning Windows::
+* Displaying File and Buffer Items::
address@hidden menu
address@hidden Smart Key Argument Selection, Smart Key Modifiers, Smart Key
Thing Selection, Smart Keys
address@hidden Smart Key Argument Selection
address@hidden Swapping Buffers, Displaying Buffers, Dragging Buffers, Dragging
Buffers
address@hidden Swapping Buffers
address@hidden Hyperbole help
-A prime design criterion of Hyperbole's user interface is that you
-should be able to see what an operation will do before using it. The
-Assist Key typically shows you what a button or minibuffer menu item
-will do before you activate it. Hyperbole also displays the result of
-directly selecting an argument value with the Action Key, to provide
-feedback as to whether the correct item has been selected. A second
-press/click is necessary before an argument is accepted and processed.
address@hidden swap buffers
address@hidden window, swap buffer
address@hidden buffer, swap
address@hidden drag, buffer swap
+Swapping buffer locations is quick and easy with Hyperbole. Simply drag
+from one window to another with the Assist Key (not the Action Key). This
+works across frames as well.
address@hidden argument entry
address@hidden direct selection
address@hidden double click
-Many Hyperbole commands prompt you for arguments. The standard
-Hyperbole user interface has an extensive core of argument types that
-it recognizes. Whenever Hyperbole is prompting you for an argument,
-it knows the type that it needs and provides some error checking to
-help you get it right. More importantly, it allows you to press the
-Action Key within an entity that you want to use as an argument and it
-will grab the appropriate thing and show it to you at the input prompt
-within the minibuffer. If you press (click with a mouse) the Action
-Key on the same thing again, it accepts the entity as the argument
-and moves on. Thus, a double click registers a desired argument.
-Double-quoted strings, pathnames, mail messages, Info nodes, dired
-listings, buffers, numbers, completion items and so forth are all
-recognized at appropriate times. All of the argument types mentioned
-in the documentation for the Emacs Lisp @code{interactive} function
-are recognized. Experiment a little and you will quickly get used to
-this direct selection technique.
+If you have just two windows in an Emacs frame, you can swap their buffers
+from the keyboard. Use this Hyperbole minibuffer menu key sequence
+involving the tilde key to swap the buffers and quit from the Hyperbole
+minibuffer menu: @bkbd{C-h h s w ~ q}.
address@hidden completion
-Wherever possible, standard Emacs completion is offered, as described in
address@hidden,,,emacs,the GNU Emacs Manual}. Remember to use @bkbd{?}
-to see what your possibilities for an argument are. Once you have a
-list of possible completions on screen, press the Action Key twice on
-any item to enter it as the argument.
address@hidden Displaying Buffers, Cloning Windows, Swapping Buffers, Dragging
Buffers
address@hidden Displaying Buffers
address@hidden Smart Key Modifiers, Smart Key Debugging, Smart Key Argument
Selection, Smart Keys
address@hidden Smart Key Modifiers
-
-For advanced users of Emacs and Hyperbole, there is @code{hmouse-mod-mode},
-a global minor mode which turns the Action Mouse Key into a @key{Control}
-modifier key and the Assist Key into a @key{Meta} modifier key. This
-allows for better keyboard energy balance across hands and is useful for
-reducing carpal tunnel stress. It may also be used with a @dfn{chord
-keyboard} in one hand and a mouse in the other to point at things while
-simultaneously operating upon them.
-
address@hidden hmouse-mod-mode
address@hidden hmouse-mod-mode
address@hidden Smart Keys as modifiers
address@hidden control key modifier
address@hidden meta key modifier
address@hidden chord keyboards
-Use the @code{hmouse-mod-mode} global minor mode to enable this feature.
address@hidden M-x hmouse-mod-mode @key{RET}} enables it and adds
address@hidden to the list of modeline minor modes. @bkbd{C-u 0 M-x
-hmouse-mod-mode @key{RET}} disables it and @bkbd{M-x
-hmouse-mod-mode @key{RET}} toggles it on and off.
-
-When enabled, if the Action Key is held down while alpha characters
-are typed, they are translated into @key{Control} keys instead. The
-Assist Key translates them into @key{Meta} keys. When both Smart
-Keys are depressed, @key{Control-Meta} keys are produced. The
-commands bound to the characters produced are then run. For example,
-Action Key + @bkbd{a} runs the function for @bkbd{C-a}. If no
-keys are typed while the Smart Keys are down, they operate as
-normally under Hyperbole.
-
-The code for Smart Key modifiers can be found in
address@hidden@address@hidden:address@hidden/hmouse-mod.el}.
-
address@hidden Smart Key Debugging, , Smart Key Modifiers, Smart Keys
address@hidden Smart Key Debugging
address@hidden buffer, copy
address@hidden copy buffer
address@hidden drag, copy buffer
+What if you want to display the same buffer in another window and not swap
+buffers? Depress the Action Mouse Key in the open area of the modeline of
+the source window and drag to the text area of the destination window.
+Voila, the buffer appears in the new location as well as the old one.
-Typically, @bkbd{C-h A} and @bkbd{C-u C-h A} which show Action and
-Assist Key help for the current context, are sufficient for seeing how
-the Smart Keys behave no matter where they are used.
+If you want a new window where you release (so the original destination
window's
+buffer stays onscreen), just drag to a window's modeline; that window will be
+split before the buffer is displayed.
address@hidden C-h h c d
address@hidden Smart Key debugging
address@hidden menu item, Cust/Debug-Toggle
address@hidden debugging Smart Keys
address@hidden troubleshooting Smart Keys
address@hidden Messages buffer
address@hidden logging Smart Key behavior
-However, if a Smart Key ever behaves differently than you think it
-should or if you want to test how the Smart Keys respond in a new
-context, then the Smart Key debugging flag may be of use. You toggle
-it on and off with @bkbd{C-h h c d} (minibuffer menu
-Cust/Debug-Toggle). Once enabled, this displays a message in the
-minibuffer each time the Action or Assist Key is released, showing
-the context of the press and its associated action, so you can see
-exactly what is happening whenever you use a Smart Key. These
-messages are all prefaced with ``(HyDebug)'' and logged to the
-``*Messages*'' buffer for later viewing.
address@hidden Cloning Windows, Displaying File and Buffer Items, Displaying
Buffers, Dragging Buffers
address@hidden Cloning Windows
address@hidden C-h h m c
address@hidden C-h h m r
-If you do find a problem with the Smart Keys and want to report a bug,
-use @bkbd{C-h h m r} to compose an email message to the bug-hyperbole
-list. Hyperbole will automatically include all of the ``(HyDebug)''
-messages from your current emacs session into your email. Similarly,
-when you compose an email to the hyperbole-users mailing list
-with @bkbd{C-h h m c}, these messages are also included.
address@hidden clone window
address@hidden window, clone
address@hidden drag, clone window
+To clone a window with its buffer to a new frame, simply drag the Action Mouse
+Key from the window to outside of Emacs and release the key. A new frame will
+be created, selected and sized according to the original window. Do the same
+thing with the Assist Mouse Key and the original window will be deleted as
well,
+unless it is the only window in that frame.
+
address@hidden Displaying File and Buffer Items, , Cloning Windows, Dragging
Buffers
address@hidden Displaying File and Buffer Items
+
address@hidden dired item drag
address@hidden buffer menu item drag
address@hidden drag, dired item
address@hidden drag, buffer menu item
+You can do the same thing with items in dired, buffer menu and ibuffer menus
+rather than buffers themselves. Drag with the Action Mouse Key and the
selected
+item will be displayed in any Emacs window in which you release. Drag outside
+Emacs and it will be displayed in a new frame.
+
+So now you can put a bunch of buffers and files on your screen wherever
+you like. Typically, a brief visual pulse is shown first at the source item
and
+then in the whole destination window, to help you see that the transfer has
been
+made. An Assist Key Drag will move the the item list buffer to the
+destination (swapping buffers), just as it does with other buffers.
+
address@hidden @node Smart Mouse Key Modifiers, , Smart Mouse Key Drags, Smart
Keys
address@hidden @section Smart Mouse Key Modifiers
+
address@hidden For advanced users of Emacs and Hyperbole, there is
@code{hmouse-mod-mode},
address@hidden a global minor mode which turns the Action Mouse Key into a
@key{Control}
address@hidden modifier key and the Assist Mouse Key into a @key{Meta} modifier
key. This
address@hidden allows for better keyboard energy balance across hands and is
useful for
address@hidden reducing carpal tunnel stress. It may also be used with a
@dfn{chord
address@hidden keyboard} in one hand and a mouse in the other to point at
things while
address@hidden simultaneously operating upon them.
+
address@hidden @findex hmouse-mod-mode
address@hidden @vindex hmouse-mod-mode
address@hidden @cindex Smart Keys as modifiers
address@hidden @cindex control key modifier
address@hidden @cindex meta key modifier
address@hidden @cindex chord keyboards
address@hidden Use the @code{hmouse-mod-mode} global minor mode to enable this
feature.
address@hidden @bkbd{C-u M-x hmouse-mod-mode @key{RET}} enables it and adds
address@hidden @samp{HyMod} to the list of modeline minor modes. @bkbd{C-u 0
M-x
address@hidden hmouse-mod-mode @key{RET}} disables it and @bkbd{M-x
address@hidden hmouse-mod-mode @key{RET}} toggles it on and off.
+
address@hidden When enabled, if the Action Mouse Key is held down while alpha
characters
address@hidden are typed, they are translated into @key{Control} keys instead.
The
address@hidden Assist Key translates them into @key{Meta} keys. When both Smart
address@hidden Keys are depressed, @key{Control-Meta} keys are produced. The
address@hidden commands bound to the characters produced are then run. For
example,
address@hidden Action Key + @bkbd{a} runs the function for @bkbd{C-a}. If no
address@hidden keys are typed while the Smart Keys are down, they operate as
address@hidden normally under Hyperbole.
+
address@hidden The code for Smart Key modifiers can be found in
address@hidden @address@hidden@{hyperb:address@hidden/hmouse-mod.el}.
@node Buttons, Menus, Smart Keys, Top
@@ -1314,7 +1490,7 @@ Implicit buttons may appear only within document contexts
allowed by
their types, which may limit the kinds of documents or the locations
within those documents at which such buttons may be found. All global
buttons for a user are stored in a single location and are activated by
-entering their names, rather than by direct selection, the means used to
+typing their names, rather than by direct selection, the means used to
activate explicit and implicit buttons.
@noindent
@@ -1324,20 +1500,19 @@ To summarize:
Button Category Active Within Activation Means Managed By
========================================================================
Explicit a single document direct selection Hyperbole
-Global any document entering its name Hyperbole
+Global any document typing its name Hyperbole
Implicit a matching context direct selection other tools
@end example
@cindex terminal use
A click on a Hyperbole button may activate it or describe its actions,
-depending on which mouse key is used. Buttons may also be activated
-from a keyboard. (In fact, virtually all Hyperbole operations,
-including menu usage, may be performed from any standard character
-terminal interface, so you need not be anchored to a workstation all
-day). @xref{Smart Keys}. There is also a key that shows you how a
-button will behave before you activated it, @pxref{Smart Key
-Operations}.
+depending on which mouse key is used. Buttons may also be activated from a
+keyboard. (In fact, many Hyperbole operations, including menu usage, may
+be performed from any standard character terminal interface, so you need
+not be anchored to a desktop all day). @xref{Smart Keys}. There is
+also a key that shows you how a button will behave before you activate
+it, @pxref{Smart Key Operations}.
@menu
* Explicit Buttons::
@@ -1385,20 +1560,19 @@ buttons, @pxref{Utilizing Explicit Buttons}.
@cindex link button
@cindex referent
-Each explicit button is assigned an action type that determines the
-actions it performs. @dfn{Link action types} connect buttons to
-particular types of @dfn{referents}, the targets of their links. Link
-action type names all begin with @code{link-}. Link action button
-referents are displayed when such buttons are by
-pressing or clicking upon them. @xref{Action Types}, for a list of
-standard action types including link types.
+Each explicit button is assigned an action type that determines the actions
+it performs. @dfn{Link action types} connect buttons to particular types
+of @dfn{referents}, the targets of their links. Link action type names all
+begin with @code{link-}. Link action button referents are displayed when
+such buttons are activated with a press or a click. @xref{Action Types},
+for a list of standard action types including link types.
@cindex linking, in-place
@cindex Hyperbole data model
Hyperbole does not manage referent data; this is left to the
applications that generate the data. This means that Hyperbole
-provides in-place linking and does not require reformatting of data to
-integrate with Hyperbole.
+provides in-place linking and does not require reformatting data to
+integrate it with Hyperbole.
@cindex button data
@cindex button attribute
@@ -1423,7 +1597,7 @@ 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
you are working. In such instances, you use @dfn{global buttons}, which
-are buttons that may be activated or otherwise operated upon by entering
+are buttons that may be activated or otherwise operated upon by typing
their labels/names when they are prompted for, rather than selecting the
buttons within a buffer.
@@ -1447,6 +1621,13 @@ Global buttons are actually explicit buttons stored at
the end of your
personal button file, @pxref{Button Files}. You can always go into that
file and activate, edit or annotate these buttons with comments.
address@hidden bookmarks
+Emacs has a built-in feature similar to Global Buttons called Bookmarks.
+Bookmarks store places in files or link to URLs, so they are more limited
+than Hyperbole's global buttons and cannot utilize all of Hyperbole's
+capabilities for performing actions. @xref{Bookmarks,,,emacs, the Emacs
+Manual}, for details on bookmarks.
+
@node Implicit Buttons, Button Files, Global Buttons, Buttons
@section Implicit Buttons
@@ -1520,8 +1701,8 @@ also the documentation for @code{actypes::hyp-config}.
@findex ibtypes Info-node
@cindex Info node
@item Info-node
-Makes "(filename)nodename" buttons display the associated Info node.
-Also makes "(filename)itemname" buttons display the associated Info
+Makes a "(filename)nodename" button display the associated Info node.
+Also makes a "(filename)itemname" button display the associated Info
index item.
@findex ibtypes www-url
@@ -1564,10 +1745,10 @@ string is displayed.
@cindex rolo address
@cindex address
@item mail-address
-If on an e-mail address in a specific buffer type, mail to that address
-in another window. Applies to the rolo match buffer, any buffer
-attached to a file in @code{hyrolo-file-list}, or any buffer with @file{mail}
-or @file{rolo} (case-insensitive) within its name.
+If on an e-mail address in a specific buffer type, compose mail to that
+address in another window. Applies to the rolo match buffer, any buffer
+attached to a file in @code{hyrolo-file-list}, or any buffer
+with @file{mail} or @file{rolo} (case-insensitive) within its name.
@findex ibtypes patch-msg
@cindex patch output
@@ -1617,8 +1798,8 @@ specifiers.
@cindex man pages
@cindex man apropos
@item man-apropos
-Makes man apropos entries (from @samp{man -k}) display associated man pages
when
-selected.
+Makes man apropos entries (from @samp{man -k}) display associated man
+pages when selected.
@findex ibtypes rfc
@cindex Internet RFC
@@ -1627,11 +1808,11 @@ selected.
@cindex remote file
@cindex ftp
@item rfc
-Retrieves and displays an Internet rfc referenced at point. Requires remote
-file access, e.g. via the Tramp library, for remote ftp retrievals. The
+Retrieves and displays an Internet rfc referenced at point. The
following formats are recognized: RFC822, rfc-822, and RFC 822. The
address@hidden:rfc} variable specifies the location from which to retrieve
-RFCs."
address@hidden:rfc} variable specifies the location from which to
+retrieve RFCs. Requires the Emacs builtin Tramp library for ftp file
+retrievals.
@findex ibtypes kbd-key
@cindex key sequence
@@ -1670,8 +1851,8 @@ very beginning of the line.
@item cscope
Jumps to a C/C++ source line associated with a Cscope C analyzer output line.
Requires pre-loading of the cscope.el Lisp library available from the Emacs
-Lisp archives and the commercial cscope program available from AT&T's
-software toolchest. Otherwise, does nothing.
+Lisp archives and the open source cscope program available from
+http://cscope.sf.net. Otherwise, does nothing.
@findex ibtypes etags
@cindex etags entry
@@ -1719,41 +1900,37 @@ handled elsewhere.
@cindex version control
@vindex hibtypes-git-default-project
@item git-reference
address@hidden
Displays the git entity associated with REFERENCE and optional PROJECT.
address@hidden
-REFERENCE is of the form:
- <ref-item>
- /?<project>/<ref-item>
-or /<project>.
address@hidden group
-
-<ref-item> is one of these:
+REFERENCE is a string of one of the following forms:
@itemize @bullet
address@hidden
- one of the words: branches, commits, or tags; the associated items are
listed;
address@hidden
- one of the words: branch, commit, or tag followed by a '/' and item id; the
- item is shown;
address@hidden
- a commit reference given by a hex number, 55a1f0; the commit diff is
- displayed;
address@hidden
- a branch or tag reference given by an alphanumeric name, e.g. hyper20; the
- files in the branch are listed.
address@hidden <ref-item>
address@hidden /?<project>/<ref-item>
address@hidden /<project>.
@end itemize
+<ref-item> is one of these:
address@hidden @asis
address@hidden one of the words: branches, commits, or tags
+the associated items are listed
address@hidden one of the words: branch, commit, or tag followed by a '/' and
item id
+the item is shown
address@hidden a commit reference given by a hex number, 55a1f0
+the commit diff is displayed
address@hidden a branch or tag reference given by an alphanumeric name, e.g.
hyper20
+the files in the branch are listed.
address@hidden table
+
@vindex hibtypes-git-default-project
-If given, PROJECT overrides any project value in REFERENCE. If no
-PROJECT value is provided, it defaults to the value of
@code{hibtypes-git-default-project}.
address@hidden format
+If given, PROJECT overrides any project value in REFERENCE. If no PROJECT
+value is provided, it defaults to the value of
@code{hibtypes-git-default-project}.
@findex ibtypes git-commit-reference
@cindex git commit reference
@cindex version control
@item git-commit-reference
-Displays the diff for a git commit reference, e.g. commit a55e21, typically
produced by git log.
+Displays the diff for a git commit reference, e.g. commit a55e21, typically
+produced by git log.
@findex ibtypes github-reference
@cindex github reference
@@ -1761,42 +1938,35 @@ Displays the diff for a git commit reference, e.g.
commit a55e21, typically prod
@vindex hibtypes-github-default-project
@vindex hibtypes-github-default-user
@item github-reference
address@hidden
-Displays the Github entity associated with REFERENCE and optional USER and
-PROJECT.
+Displays the Github entity associated with REFERENCE and optional USER and
PROJECT.
address@hidden
-REFERENCE is a string of the form:
- <ref-item>
- <user>/<project>/<ref-item>
- <project>/<ref-item>
-or /<project>.
address@hidden group
-
-<ref-item> is one of these:
+REFERENCE is a string of one of the following forms:
@itemize @bullet
address@hidden
- one of the words: branches, commits, issues, pulls, or tags; the associated
items are listed;
address@hidden
- one of the words: branch, commit, issue, pull or tag followed by a '/' and
- item id; the item is shown;
address@hidden
- an issue reference given by a positive integer, e.g. @emph{92} or prefaced
with @emph{GH-},
- like GH-92; the issue is displayed;
address@hidden
- a commit reference given by a hex number, 55a1f0; the commit diff is
- displayed;
address@hidden
- a branch or tag reference given by an alphanumeric name, e.g. hyper20; the
- files in the branch are listed.
address@hidden <ref-item>
address@hidden <user>/<project>/<ref-item>
address@hidden <project>/<ref-item>
address@hidden /<project>.
@end itemize
+<ref-item> is one of these:
address@hidden @asis
address@hidden @bullet{} one of the words: branches, commits, issues, pulls, or
tags
+the associated items are listed
address@hidden @bullet{} one of the words: branch, commit, issue, pull or tag
followed by a '/' and item id
+the item is shown
address@hidden @bullet{} an issue reference given by a positive integer, e.g.
@emph{92} or prefaced with @emph{GH-}, like GH-92
+the issue is displayed
address@hidden @bullet{} a commit reference given by a hex number, 55a1f0
+the commit diff is displayed
address@hidden @bullet{} a branch or tag reference given by an alphanumeric
name, e.g. hyper20
+the files in the branch are listed.
address@hidden table
+
@vindex hibtypes-github-default-user
USER defaults to the value of @code{hibtypes-github-default-user}.
If given, PROJECT overrides any project value in REFERENCE. If no
PROJECT value is provided, it defaults to the value of
@code{hibtypes-github-default-project}.
address@hidden format
@findex ibtypes social-reference
@cindex hashtag
@@ -1835,12 +2005,11 @@ the issue to a window below the listing window.
@findex ibtypes debbugs-gnu-query
@item debbugs-gnu-query
-This implicit button type displays the results of a Gnu debbugs query
-based on the string at point and works in most kinds of buffers. If
-the query includes a single id number, it displays the original message
-submission for that id and allows browsing of the followup discussion.
-The following buffer text formats are accepted (with point prior to
-any attribute):
+Displays the results of a Gnu debbugs query based on the string at point and
+works in most kinds of buffers. If the query includes a single id number, it
+displays the original message submission for that id and allows browsing of
+the followup discussion. The following buffer text formats are accepted
+(with point prior to any attribute):
@smallexample
bug#id-number, bug# id-number, bug #id-number or bug id-number
@@ -1895,8 +2064,6 @@ at line-num and optional column-num. Also works for
remote pathnames.
@findex hpath:find
@vindex hpath:suffixes
@cindex Tramp
address@hidden Ange-ftp
address@hidden EFS
@cindex ftp
@cindex pathname
@cindex remote path
@@ -1938,12 +2105,12 @@ and @code{browse-url-generic}.
@cindex online library
@cindex document identifier
@item doc-id
-Displays an index entry for a site-specific document given its id.
-Ids must be delimited by @code{doc-id-start} and @code{doc-id-end} and
-must match the function given by @code{doc-id-p}. This permits
-creation of catalogued online libraries. (Note that this implicit
-button type is not installed by default. You must manually configure
-it and load it from the file,
@address@hidden@{hyperb:address@hidden/hib-doc-id.el}).
+Displays a document from a local document library given its id. Ids must be
+delimited by @code{doc-id-start} and @code{doc-id-end} and must match the
+function given by @code{doc-id-p}. (Note that this implicit button type is
+not installed by default. You must manually configure it and load it from
+the file, @address@hidden@{hyperb:address@hidden/hib-doc-id.el}). See the
commentary
+at the top of that file for more information.
@end table
@node Button Files, Action Types, Implicit Buttons, Buttons
@@ -1987,10 +2154,9 @@ within the same directory. If you want to view some
other
directory-specific button file, simply use the normal Emacs file
finding commands.
-One might suggest that quick menu access be provided for group-specific
-and site-specific button files. Instead, link buttons to such things
-should be placed at the top of your personal button file. This provides
-a more flexible means of connecting to such resources.
+If you want group and site-specific button files, simply place links to such
+files at the top of your personal button file and do so for your colleagues.
+This provides a flexible means of connecting to such resources.
@node Action Types, Button Type Precedence, Button Files, Buttons
@section Action Types
@@ -2093,7 +2259,7 @@ signalled.
@findex actypes link-to-ebut
@item link-to-ebut
-Performs an action given by another button, specified by KEY and KEY-FILE.
+Performs an action given by another explicit button, specified by KEY and
KEY-FILE.
@findex actypes link-to-elisp-doc
@item link-to-elisp-doc
@@ -2101,8 +2267,8 @@ Displays the documentation for FUNC-SYMBOL.
@findex actypes link-to-file
@item link-to-file
-Displays file given by PATH scrolled to optional POINT. With POINT,
-buffer is displayed with POINT at window top.
+Displays a file given by PATH scrolled to optional POINT. If POINT is given,
+the buffer is displayed with POINT at the top of the window.
@findex actypes link-to-file-line
@item link-to-file-line
@@ -2163,8 +2329,7 @@ Returns @samp{t} if found, signals an error if not.
@findex actypes link-to-rfc
@item link-to-rfc
Retrieves and displays an Internet rfc given by RFC-NUM. RFC-NUM may be
-a string or an integer. Requires a remote file access library, such as
-Tramp, for ftp file retrievals.
+a string or an integer.
@findex actypes link-to-string-match
@item link-to-string-match
@@ -2274,7 +2439,7 @@ buttons.
* Renaming::
* Deletion::
* Modification::
-* Location::
+* Searching and Summarizing::
* Buttons in Mail::
* Buttons in News::
@end menu
@@ -2458,7 +2623,7 @@ is true by default, causing Hyperbole to require
confirmation before
interactively deleting explicit buttons. Set it to @samp{nil} if you
prefer no confirmation.
address@hidden Modification, Location, Deletion, Utilizing Explicit Buttons
address@hidden Modification, Searching and Summarizing, Deletion, Utilizing
Explicit Buttons
@subsection Modification
@cindex explicit button, modifying
@@ -2475,8 +2640,8 @@ destination in a different window, just as you would when
creating a new
button with a mouse drag. Remember that drags may also be emulated from
the keyboard. @xref{Creation}.
address@hidden Location, Buttons in Mail, Modification, Utilizing Explicit
Buttons
address@hidden Location
address@hidden Searching and Summarizing, Buttons in Mail, Modification,
Utilizing Explicit Buttons
address@hidden Searching and Summarizing
@cindex explicit button, summarizing
@cindex button, summarizing
@@ -2507,7 +2672,7 @@ There are presently no user-level facilities for globally
locating
buttons created by others or for searching on particular button
attributes.
address@hidden Buttons in Mail, Buttons in News, Location, Utilizing Explicit
Buttons
address@hidden Buttons in Mail, Buttons in News, Searching and Summarizing,
Utilizing Explicit Buttons
@subsection Buttons in Mail
@kindex C-x m
@@ -2533,14 +2698,13 @@ minibuffer menu item to enable it.
@cindex USENET
@cindex news
@vindex file, hmail.el
-Hyperbole automatically supports the following mail readers: Rmail
-(@pxref{Rmail,,Reading Mail with Rmail,emacs, the GNU Emacs Manual}), VM
-(@pxref{Introduction,,,vm, the VM Manual}) and MH-e. Button inclusion
-and activation within USENET news articles is also supported in the
-same fashion via the Gnus news reader if available at your site
-(@pxref{Top,,The Gnus Newsreader,gnus, the Gnus Manual}).
-(The @file{hmail.el} file defines a generalized interface that can be
-used to hook in other mail or news readers if the necessary interface
+Hyperbole supports the following mail readers: Rmail (@pxref{Rmail,,Reading
+Mail with Rmail,emacs, the GNU Emacs Manual}), VM (@pxref{Introduction,,,vm,
+the VM Manual}) and MH-e. Button inclusion and activation within USENET news
+articles is also supported in the same fashion via the Gnus news reader if
+available at your site (@pxref{Top,,The Gnus Newsreader,gnus, the Gnus
+Manual}). (The @file{hmail.el} file defines a generalized interface that can
+be used to hook in other mail or news readers if the necessary interface
functions are written.)
@vindex mail-yank-original
@@ -2595,7 +2759,7 @@ Hyperbole.
This will produce the following line in outgoing messages:
@example
-Comments: GNU Hyperbole mail buttons accepted, vX.XX.
+Comments: GNU Hyperbole mail buttons accepted, vX.X.X.
@end example
@vindex file, .emacs
@@ -2693,20 +2857,32 @@ similar to key bindings.
@cindex starting Hyperbole
@cindex Hyperbole, starting
@cindex Hyperbole main menu
-The top-level Hyperbole menu is invoked from a key given in your
+The top-level Hyperbole minibuffer menu is invoked from a key given in your
@file{hyperbole.el} file (by default, @bkbd{C-h h}) or with a click
-of the Action Mouse Key in the minibuffer.
+of the Action Mouse Key in the minibuffer when it is inactive. It should
+look like this:
+
address@hidden
address@hidden
+Hy> Act Butfile/ Cust/ Doc/ Ebut/ Find/ Gbut/ Hist Ibut/ Kotl/ Msg/ Rolo/
Screen/ Win/
address@hidden smallexample
@cindex submenus
@cindex menu help
@cindex help, menu items
@cindex menu item selection
@cindex selection, menu items
-All menu items are selected via the first character of their names
-(letter case does not matter) or with presses of the Action Key. "/" at
-the end of an item name indicates that it brings up a submenu. A press
-of the Assist Key on an item displays help for the item, including the
-action that it performs.
address@hidden @key{TAB}
address@hidden M-f
address@hidden Shift-
address@hidden M-b
+All menu items are selected via the first character of their names (letter
+case does not matter), with presses of the Action Key or by using
address@hidden@address@hidden or @bkbd{M-f} to move forward an item,
@address@hidden
+or @bkbd{M-b} to move backward an item and @address@hidden@} to select the
+current item. A press of the Assist Key on an item displays help for the
+item, including the action that it performs. "/" at the end of an item name
+indicates that it brings up a submenu.
@kindex C-t
@kindex q
@@ -2723,26 +2899,6 @@ the end of a menu. @bkbd{C-g} aborts from the
minibuffer whether you
are at a menu prompt or any other Hyperbole prompt.
@noindent
-The top-level Hyperbole menu appears in the minibuffer and should look
-like this:
-
address@hidden
address@hidden
-Hy> Act Butfile/ Cust/ Doc/ Ebut/ Find/ Gbut/ Hist Ibut/ Kotl/ Msg/ Rolo/
Screen/ Win/
address@hidden smallexample
-
address@hidden 1
address@hidden @key{TAB}
address@hidden M-f
address@hidden Shift-
address@hidden M-b
-Each menu item may be selected by typing its first letter (case
-insensitive), by clicking the Action Mouse Key on it, or by
-using @address@hidden@} or @bkbd{M-f} to move forward an
-item, @address@hidden or @bkbd{M-b} to move backward an item
-and @address@hidden@} to select the current item.
-
address@hidden
The top-level Hyperbole minibuffer menu items serve the following purposes:
@table @strong
@@ -4380,11 +4536,11 @@ these capabilities back into the mainstream of modern
computing culture.
Hyperbole includes a complete, advanced rolo system, HyRolo, for
convenient management of hierarchical, record-oriented information.
Most often this is used for contact management but it can quickly be
-adapted to most any record-oriented lookup task, for fast retrieval.
+adapted to most any record-oriented lookup task requiring fast retrieval.
@cindex rolo, buttons in
Hyperbole buttons may be included within rolo records and then
-manually activated whenever their records are retrieved.
+manually activated whenever their records are retrieved in a search.
@noindent
The following subsections explain use and basic customization of this
@@ -4842,16 +4998,16 @@ There is never a need to learn a complicated query
language.
@cindex restoring windows
@cindex saving window configurations
@vindex file, hywconfig.el
-Hyperbole includes the @file{hywconfig.el} library which lets you save and
-restore window configurations, address@hidden the layout of windows and buffers
-displayed within an emacs frame. This is useful to save a particular
-working context and then to jump back to it at a later time during an
-emacs session. It is also useful during demonstrations to display many
-informational artifacts all at once, e.g.@: all of the windows for a
-particular subsystem. None of this information is stored between emacs
-sessions, so your window configurations will last through only a single
-session of use. Each window configuration is tied to the emacs frame
-in which it is created.
+This chapter explains Hyperbole's @file{hywconfig.el} library. It lets you
+save and restore window configurations, address@hidden the layout of windows
and
+buffers displayed within an emacs frame. This is useful to save a
+particular working context and then to jump back to it at a later time
+during an emacs session. It is also useful during demonstrations to
+display many informational artifacts all at once, e.g.@: all of the windows
+for a particular subsystem. None of this information is stored between
+emacs sessions, so your window configurations will last through only a
+single session of use. Each window configuration is tied to the emacs
+frame in which it is created.
The hywconfig library offers two independent ways of managing window
configurations. The first way associates a name with each stored
@@ -4863,7 +5019,7 @@ the last entry is encountered. Simply stop when the
desired
configuration is displayed.
The Win/ menu entry on the Hyperbole top-level menu displays a menu of
-window configuration commands:
+hywconfig window configuration commands:
@verbatim
WinConfig> AddName DeleteName RestoreName PopRing SaveRing YankRing
@@ -4898,14 +5054,11 @@ YankRing hywconfig-yank-pop Restore the
next wconfig
@end group
@end example
-The easiest method is to save and restore window configurations by
-name, but it requires that you input the chosen name from the
-keyboard. Alternately, the ring commands permit saves and restores
-using only the mouse, if desired. An earlier chapter (@pxref{Smart
-Keys}) mentions how to save and restore window configurations with the
-Smart Keys. Since the ring commands are a bit more complex than their
-by-name counterparts, the following paragraphs explain them in more
-detail.
+The easiest method to save and restore window configurations shown here is
+by name, but it requires that you type the chosen name. Instead, the ring
+commands permit saves and restores using only the mouse. Since the ring
+commands are a bit more complex than their by-name counterparts, the
+following paragraphs explain them in more detail.
@vindex kill-ring
HyWconfig creates a ring structure that operates just like the Emacs
@@ -5480,9 +5633,6 @@ with a set of values, called arguments, is an
@dfn{action}.
A request to a Hyperbole button to perform its action.
Ordinarily the user presses a key which selects and activates a button.
address@hidden Ange-ftp
-See @b{Tramp}.
-
@item Argument
A button-specific value fed to a Hyperbole type specification when the
button is activated.
@@ -5584,13 +5734,13 @@ See @code{Kcell}.
The set of koutline cells which share a common parent cell and thus, are one
level deeper than the parent.
address@hidden Chord Keyboard
-A keyboard which supports pressing multiple keys simultaneously to produce
-a unique chord keystroke for issuing commands to a program. In Engelbart's
-Augment system, mouse keys were used as modifiers for a 5-key chord
-keyboard to enable direct manipulation of objects on screen. Hyperbole
-supports similar behavior with its @code{hmouse-mod-mode}. @xref{Smart Key
-Modifiers}.
address@hidden @item Chord Keyboard
address@hidden A keyboard which supports pressing multiple keys simultaneously
to produce
address@hidden a unique chord keystroke for issuing commands to a program. In
Engelbart's
address@hidden Augment system, mouse keys were used as modifiers for a 5-key
chord
address@hidden keyboard to enable direct manipulation of objects on screen.
Hyperbole
address@hidden supports similar behavior with its @code{hmouse-mod-mode}.
@xref{Smart
address@hidden Mouse Key Modifiers}.
@item Class
A group of functions and variables with the same prefix in their names,
@@ -5617,9 +5767,6 @@ location.
@item Environment
See @b{Hyperbole Environment}.
address@hidden EFS
-See @b{Tramp}
-
@item Explicit Button
A button created and managed by Hyperbole, associated with a specific
action type. By default, explicit buttons are delimited like
@@ -5795,7 +5942,7 @@ See @b{Link}.
A file or directory on a system not shared within the local area network.
The built-in Emacs library, @b{Tramp}, handles remote pathnames and
Hyperbole uses it to enable viewing and editing of remote paths of the form:
address@hidden/<user>@@<host>:<path>} as well as web URLs. Use the
address@hidden/<protocol>:<user>@@<host>:<path>} as well as web URLs. Use the
Cust/Find-File-URLs menu option to enable this feature.
@item Rolo
@@ -5852,12 +5999,12 @@ defined to recognize and activate button-type
constructs managed by the
other system.
@item Tramp
-A remote file access library built-in to Emacs. It does similar things as
-the older EFS and ange-ftp packages but uses more secure transfer and works
-with more types of hosts. It allows one to use remote pathnames that are
-accessible via Internet protocols just like other pathnames, for example when
-finding a file. Hyperbole recognizes pathnames of the form,
address@hidden/<user>@@<host>:<path>} and web URLs.
+A remote file access library built-in to Emacs. It uses secure
+transfer and works with many types of hosts. It allows you to use
+remote pathnames that are accessible via Internet protocols just like
+other pathnames, for example when finding a file. Hyperbole
+recognizes pathnames of the form,
address@hidden/<protocol>:<user>@@<host>:<path>} and web URLs.
@item Tree
The set of cells in a koutline that share a common root cell, including
@@ -6151,7 +6298,7 @@ your personal initialization file:
@code{(hpath:find-file-urls-mode 1)}.
Both full URLs and abbreviated ones, like @file{www.gnu.org}, are
recognized. File name completion does not work with URLs thus you
have to type or paste in the entire URL. This feature will work only
-if you have the Tramp Emacs Lisp package installed; if you don't have
+if you have the builtin Tramp Emacs Lisp package; if you don't have
Tramp, an error message will be displayed when you try to enable
find-file URLs.
@@ -6314,7 +6461,7 @@ the current buffer.
This appendix summarizes all of Hyperbole's global key bindings and
whether each overrides any existing binding or not. It also describes
how to temporarily disable these bindings and how to manage whether
-Hyperbole override local, mode-specific key bindings that hide
+Hyperbole overrides local, mode-specific key bindings that hide
global Hyperbole keys.
Here are descriptions of Hyperbole's default keyboard key bindings:
@@ -6352,7 +6499,8 @@ item, @bkbd{C-h h f w}, will do the same thing.
Display a grid of windows in the selected frame, sized according to the
prefix argument. The left digit of the argument is the number of grid rows
and the right digit is the number of grid columns. The argument is
-prompted for if not given.
+prompted for if not given. This binding is made only if the key is not
+bound prior to loading Hyperbole.
For further details, see the @bkbd{@@} key binding description
in @ref{HyControl}.
@@ -6410,22 +6558,37 @@ and restart Emacs. Then you will have to choose the
Hyperbole commands
that you want to use and bind those to keys.
@vindex file, .emacs
address@hidden hkey-toggle-bindings
address@hidden hyperbole-toggle-bindings
@cindex change key bindings
@cindex toggle key bindings
@cindex key bindings, toggle
@cindex disable Hyperbole
@kindex C-c h
-If you ever have a need to temporarily disable the Hyperbole keyboard
-and mouse bindings, use the @code{hkey-toggle-bindings} command. It
-switches between the Hyperbole key bindings and those set prior to
-loading Hyperbole and then back again if invoked once more. There is
-no default key binding for this command; use @bkbd{M-x
-hkey-toggle-bindings @key{RET}}. Alternatively, you may select a key
-and bind it as part of any setting of @code{hyperbole-init-hook}
+If you ever have a need to temporarily disable the Hyperbole keyboard and
+mouse bindings, use the @code{hyperbole-toggle-bindings} command. It
+switches between the Hyperbole key bindings and those set prior to loading
+Hyperbole and then back again if invoked once more. There is no default
+key binding for this command; use @bkbd{M-x hyperbole-toggle-bindings
address@hidden Alternatively, you may select a key and bind it as part of any
+setting of @code{hyperbole-init-hook} within your personal @file{~/.emacs}
+file. For example, @code{(add-hook 'hyperbole-init-hook (lambda ()
+(global-set-key "\C-ch" 'hyperbole-toggle-bindings)))}.
+
address@hidden file, .emacs
address@hidden hmouse-toggle-bindings
address@hidden mouse key toggle
address@hidden Smart Mouse Key toggle
address@hidden C-c t
+If you want to restore only the mouse bindings that existed before
+Hyperbole was loaded, use the @code{hmouse-toggle-bindings} command.
+It switches between the Hyperbole mouse key bindings and those set
+prior to loading Hyperbole and then back again if invoked once more.
+There is no default key binding for this command; use @bkbd{M-x
+hmouse-toggle-bindings @key{RET}}. Alternatively, you may select a
+key and bind it as part of any setting of @code{hyperbole-init-hook}
within your personal @file{~/.emacs} file. For example, @code{(add-hook
-'hyperbole-init-hook (lambda () (global-set-key "\C-ch"
-'hkey-toggle-bindings)))}.
+'hyperbole-init-hook (lambda () (global-set-key "\C-ct"
+'hmouse-toggle-bindings)))}.
@vindex hkey-init-override-local-keys
@cindex overriding local keys
diff --git a/man/version.texi b/man/version.texi
index 3295b2d..a1c27f2 100644
--- a/man/version.texi
+++ b/man/version.texi
@@ -1,4 +1,4 @@
address@hidden UPDATED October 27, 2017
address@hidden UPDATED-MONTH OCT 2017
address@hidden EDITION 6.0.2f
address@hidden VERSION 6.0.2f
address@hidden UPDATED November 1, 2017
address@hidden UPDATED-MONTH Nov 2017
address@hidden EDITION 6.0.2g
address@hidden VERSION 6.0.2g
- [elpa] externals/hyperbole 5d6b9cd 05/53: 2017-09-10 Bob Weiner <address@hidden>, (continued)
- [elpa] externals/hyperbole 5d6b9cd 05/53: 2017-09-10 Bob Weiner <address@hidden>, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole ce6fa24 41/53: Updated HY-NEWS with all new features for next major release., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 152e2be 47/53: Highlighted explicit buttons when yanked; fixed region location bugs with hmouse-drag-thing and region kill, copy and yank, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 8fbfc1b 35/53: Renamed @ command functions to hycontrol-windows-grid. Updated manual and DEMO with newest commands., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole aba412a 32/53: HyControl changes: now a global minor mode; added @ window grid creation command; inverted selected mode-line for emphasis, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole bab59c8 25/53: V6.0.2d - Improved README and added git#=branch:file implicit button syntax., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 7503a3d 37/53: Action Mouse Key drag to modeline splits destination window before displaying the target item/buffer; added css to format Hyperbole HTML manual, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 1aec56c 27/53: Added drags between frames and outside Emacs, new mode-line drags, dired item drags,, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 2be4dd0 48/53: Fixed a bunch of small issues and released Hyperbole 7., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 9792af9 36/53: Added global {C-c @} binding. Fixed some mouse handling bugs. Mostly finalized DEMO and manual., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 671408e 38/53: Prep and bug fixes for next major release; fixed Smart Mouse Key point location issue; renamed to kotl/kotl-autoloads.el,
Robert Weiner <=
- [elpa] externals/hyperbole 705d254 43/53: Many bug fixes; added HyRolo DEMO section; many Hyperbole Manual updates including images, Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole 6e80e7a 30/53: V6.0.2e: Rewrote HyControl for improved generality, event handling and to support key bindings., Robert Weiner, 2017/11/15
- [elpa] externals/hyperbole caf91d4 50/53: Merge branch 'master' of http://git.savannah.gnu.org/r/hyperbole into externals/hyperbole, Robert Weiner, 2017/11/15