[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole ea0f4df3c7 1/3: Generalize Hyperbole key bind
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole ea0f4df3c7 1/3: Generalize Hyperbole key binding deferrals to other modes |
Date: |
Mon, 21 Feb 2022 11:57:46 -0500 (EST) |
branch: externals/hyperbole
commit ea0f4df3c7f414e488d3095f9474c8587e7cb0b5
Author: Robert Weiner <rsw@gnu.org>
Commit: Robert Weiner <rsw@gnu.org>
Generalize Hyperbole key binding deferrals to other modes
---
ChangeLog | 19 +++++++++++++
HY-NEWS | 3 ++-
hhist.el | 31 ++++++++++-----------
hui-select.el | 79 +++++++++++++++++++++++++++++-------------------------
hycontrol.el | 37 ++++++++++++++-----------
hypb.el | 20 ++++++++++----
hyperbole.el | 63 ++-----------------------------------------
man/hyperbole.texi | 49 ++++++++++++++++++---------------
8 files changed, 145 insertions(+), 156 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ed978b94ea..ae16c751f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2022-02-20 Bob Weiner <rsw@gnu.org>
+
+* hhist.el (hhist:add): Trigger error if elt is not a frame config.
+
+* man/hyperbole.texi (Default Hyperbole Bindings): Document here
+ {C-h h X} to exit from/disable Hyperbole mode.
+
+* hyperbole.el: Remove long commented-out autoloads; generated
+ automatically where needed now.
+
+* hypb.el (hypb:cmd-key-string): Rename to 'hypb:cmd-key-series'
+ since puts braces around the return value and update doc.
+ (hypb:cmd-key-vector): Add to commpare to 'this-single-command-keys'.
+
+* hui-select.el (hui-select-goto-matching-delimiter, hui-select-thing):
+ hycontrol.el (hycontrol-windows-grid): Remove hard-coding of
+ hyperbole-mode-map binding. Defer to org-mode and outline-minor-mode
+ only when current command key matches this binding.
+
2022-02-18 Mats Lidell <matsl@gnu.org>
* test/kcell-tests.el (kcell-tests--ref-to-id): Add test for
diff --git a/HY-NEWS b/HY-NEWS
index 0004954972..eea6b1c3b5 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -948,7 +948,8 @@
org-mode to handle jumps to its own locations for compatibility.
Similarly, in org-mode buffers when not on an Org link or heading,
and the {M-RET} Action Key is pressed, Hyperbole defers to Org's
- org-meta-return command.
+ org-meta-return command. Hyperbole bindings of {C-c RET}, {C-c .}
+ and {C-c @} also defer to org-mode.
- Drag-based Kill, Copy and Yank: Added support for dragging across
frames.
diff --git a/hhist.el b/hhist.el
index 3df6b20405..939aba3f94 100644
--- a/hhist.el
+++ b/hhist.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 24-Apr-91 at 03:36:23
-;; Last-Mod: 24-Jan-22 at 00:18:32 by Bob Weiner
+;; Last-Mod: 20-Feb-22 at 16:40:21 by Bob Weiner
;;
;; Copyright (C) 1991-2021 Free Software Foundation, Inc.
;; See the "HY-COPY" file for license information.
@@ -25,16 +25,17 @@
;;; ************************************************************************
(defun hhist:add (elt)
- "Add ELT to hyper-history list if not the same as current or previous loc.
-ELT must have been created via a call to 'hhist:element'."
+ "Add ELT to hyper-history list if not the same as current or prior location
(frame configuration).
+ELT must have been created via a call to 'hhist:element' prior to
+changing the current frame configuration somehow."
;; Even though this next line looks useless, it cures a problem with
;; window buffer correspondences on startup, so don't remove it.
(set-buffer (window-buffer (selected-window)))
- (let ((prev-config elt))
- (if (or (equal prev-config (current-frame-configuration))
- (equal prev-config (car *hhist*)))
- nil
- (setq *hhist* (cons elt *hhist*)))))
+ (when (not (frame-configuration-p elt))
+ (error "(hhist:add): 'elt' must be a frame configuration, not " elt))
+ (unless (or (equal elt (car *hhist*))
+ (equal elt (current-frame-configuration)))
+ (setq *hhist* (cons elt *hhist*))))
(defun hhist:element ()
"Return a history element for current point location."
@@ -53,17 +54,17 @@ The command is ignored with ARG < 1."
((listp arg) 1)
(t arg)))
(let ((prev-config))
- (if (null *hhist*)
- (and (> arg 0)
- (message "(hhist:remove): No previous location to which to
return.")
- (beep))
+ (when *hhist*
+ (when (< arg 1)
+ (message "(hhist:remove): No previous location to which to return.")
+ (beep))
(while (and (> arg 0) *hhist*)
(setq prev-config (car *hhist*)
*hhist* (cdr *hhist*)
arg (1- arg)))
- (if (frame-configuration-p prev-config)
- ;; Minify but keep any frames created after this frame configuration
was saved.
- (set-frame-configuration prev-config t)))))
+ (when (frame-configuration-p prev-config)
+ ;; Minify but keep any frames created after this frame configuration
was saved.
+ (set-frame-configuration prev-config t)))))
(defun hhist:init ()
"Reset history list."
diff --git a/hui-select.el b/hui-select.el
index 5c60581c90..303d43699e 100644
--- a/hui-select.el
+++ b/hui-select.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 19-Oct-96 at 02:25:27
-;; Last-Mod: 12-Feb-22 at 10:42:19 by Mats Lidell
+;; Last-Mod: 20-Feb-22 at 14:50:54 by Bob Weiner
;;
;; Copyright (C) 1996-2021 Free Software Foundation, Inc.
;; See the "HY-COPY" file for license information.
@@ -299,19 +299,23 @@ The non-nil value returned is the function to call to
select that syntactic unit
(defun hui-select-goto-matching-delimiter ()
"Jump back and forth between the start and end delimiters of a thing."
(interactive)
- (cond ((memq major-mode hui-select-markup-modes)
- (hui-select-goto-matching-tag))
- ((and (derived-mode-p 'org-mode)
- (called-interactively-p 'interactive)
- (equal (this-command-keys) "\C-c."))
- ;; Prevent a conflict with {C-c .} binding in Org mode
- (call-interactively (lookup-key org-mode-map "\C-c.")))
- ((and (preceding-char) (or (= ?\) (char-syntax (preceding-char)))
- (= ?\" (preceding-char))))
- (backward-sexp))
- ((and (following-char) (or (= ?\( (char-syntax (following-char)))
- (= ?\" (following-char))))
- (forward-sexp))))
+ (if (memq major-mode hui-select-markup-modes)
+ (hui-select-goto-matching-tag)
+ (let* ((key (hypb:cmd-key-vector #'hui-select-goto-matching-delimiter
+ hyperbole-mode-map))
+ (org-key-cmd (and (derived-mode-p 'org-mode)
+ (called-interactively-p 'interactive)
+ (equal (this-single-command-keys) key)
+ (lookup-key org-mode-map key))))
+ (cond (org-key-cmd
+ ;; Prevent a conflict with {C-c .} binding in Org mode
+ (call-interactively org-key-cmd))
+ ((and (preceding-char) (or (= ?\) (char-syntax (preceding-char)))
+ (= ?\" (preceding-char))))
+ (backward-sexp))
+ ((and (following-char) (or (= ?\( (char-syntax (following-char)))
+ (= ?\" (following-char))))
+ (forward-sexp))))))
;;;###autoload
(defun hui-select-initialize ()
@@ -408,28 +412,31 @@ interactively, the type of selection is displayed in the
minibuffer."
;; Reset selection based on the syntax of character at point.
(hui-select-reset)
nil)))
- (cond ((and (derived-mode-p 'org-mode)
- (called-interactively-p 'interactive)
- (equal (this-command-keys) "\C-c\C-m"))
- ;; Prevent a conflict with {C-c RET} binding in Org mode
- (call-interactively (lookup-key org-mode-map "\C-c\C-m")))
- ;;
- ;; No key conflicts, perform normal Hyperbole operation
- (t (let ((region (hui-select-get-region-boundaries)))
- (unless region
- (when (eq hui-select-previous 'punctuation)
- (setq region (hui-select-word (point)))))
- (when region
- (goto-char (car region))
- (set-mark (cdr region))
- (when (fboundp 'activate-region) (activate-region))
- (when (and (boundp 'transient-mark-mode)
- transient-mark-mode)
- (setq mark-active t))
- (and (called-interactively-p 'interactive)
hui-select-display-type
- (message "%s" hui-select-previous))
- (run-hooks 'hui-select-thing-hook)
- t)))))
+ (let* ((key (hypb:cmd-key-vector #'hui-select-thing hyperbole-mode-map))
+ (org-key-cmd (and (derived-mode-p 'org-mode)
+ (called-interactively-p 'interactive)
+ (equal (this-single-command-keys) key)
+ (lookup-key org-mode-map key))))
+ (cond (org-key-cmd
+ ;; Prevent a conflict with {C-c RET} binding in Org mode
+ (call-interactively org-key-cmd))
+ ;;
+ ;; No key conflicts, perform normal Hyperbole operation
+ (t (let ((region (hui-select-get-region-boundaries)))
+ (unless region
+ (when (eq hui-select-previous 'punctuation)
+ (setq region (hui-select-word (point)))))
+ (when region
+ (goto-char (car region))
+ (set-mark (cdr region))
+ (when (fboundp 'activate-region) (activate-region))
+ (when (and (boundp 'transient-mark-mode)
+ transient-mark-mode)
+ (setq mark-active t))
+ (and (called-interactively-p 'interactive)
hui-select-display-type
+ (message "%s" hui-select-previous))
+ (run-hooks 'hui-select-thing-hook)
+ t))))))
;;;###autoload
(defun hui-select-thing-with-mouse (event)
diff --git a/hycontrol.el b/hycontrol.el
index 8dc6fd5264..1d3183a1fa 100644
--- a/hycontrol.el
+++ b/hycontrol.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 1-Jun-16 at 15:35:36
-;; Last-Mod: 31-Jan-22 at 00:33:24 by Bob Weiner
+;; Last-Mod: 20-Feb-22 at 16:29:37 by Bob Weiner
;;
;; Copyright (C) 2016-2021 Free Software Foundation, Inc.
;; See the "HY-COPY" file for license information.
@@ -122,7 +122,8 @@
;;; Other required Elisp libraries
;;; ************************************************************************
-(require 'set)
+(require 'hhist) ; To store frame-config when hycontrol-windows-grid is
used
+(require 'hyperbole) ; For hyperbole-mode-map and requires 'set and 'hypb
;; Frame face enlarging/shrinking (zooming) requires this separately available
library.
;; Everything else works fine without it, so don't make it a required
dependency.
(require 'zoom-frm nil t)
@@ -1525,30 +1526,34 @@ When done, this resets the persistent HyControl prefix
argument to 1
to prevent following commands from using the often large grid size
argument."
(interactive "p")
- (let* ((key "\C-c@")
+ (let* ((key (hypb:cmd-key-vector #'hycontrol-windows-grid
hyperbole-mode-map))
(this-key-flag (and (called-interactively-p 'interactive)
- (equal (this-command-keys) key))))
- (cond ((and this-key-flag (derived-mode-p 'org-mode))
+ (equal (this-single-command-keys) key))))
+ (cond ((and this-key-flag (derived-mode-p 'org-mode)
+ (lookup-key org-mode-map key))
;; Prevent a conflict with binding in Org mode
(call-interactively (lookup-key org-mode-map key)))
- ((and this-key-flag (derived-mode-p 'outline-mode))
+ ((and this-key-flag (derived-mode-p 'outline-mode)
+ (lookup-key outline-mode-map key))
;; Prevent a conflict with binding in Outline mode
(call-interactively (lookup-key outline-mode-map key)))
((and this-key-flag (boundp 'outline-minor-mode)
- outline-minor-mode)
+ outline-minor-mode (lookup-key outline-minor-mode-map key))
;; Prevent a conflict with binding in Outline minor mode
(call-interactively (lookup-key outline-minor-mode-map key)))
;;
;; No key conflicts, display window grid
- (t (setq arg (prefix-numeric-value (or arg current-prefix-arg)))
- (cond ((> arg 0)
- (hycontrol-make-windows-grid arg))
- ((< arg 0)
- (setq current-prefix-arg nil)
- (call-interactively
#'hycontrol-windows-grid-by-file-pattern))
- (t
- (setq current-prefix-arg 0)
- (call-interactively
#'hycontrol-windows-grid-by-major-mode)))))))
+ (t (let ((hist-elt (hhist:element)))
+ (setq arg (prefix-numeric-value (or arg current-prefix-arg)))
+ (cond ((> arg 0)
+ (hycontrol-make-windows-grid arg))
+ ((< arg 0)
+ (setq current-prefix-arg nil)
+ (call-interactively
#'hycontrol-windows-grid-by-file-pattern))
+ (t
+ (setq current-prefix-arg 0)
+ (call-interactively
#'hycontrol-windows-grid-by-major-mode)))
+ (hhist:add hist-elt)))))) ;; Save prior frame configuration for
easy return
(defun hycontrol-windows-grid-by-buffer-list (buffers)
"Display an automatically sized window grid showing list of BUFFERS."
diff --git a/hypb.el b/hypb.el
index 8fbe131a4e..3e4c1c8ad2 100644
--- a/hypb.el
+++ b/hypb.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 6-Oct-91 at 03:42:38
-;; Last-Mod: 12-Feb-22 at 14:59:21 by Bob Weiner
+;; Last-Mod: 20-Feb-22 at 14:16:25 by Bob Weiner
;;
;; Copyright (C) 1991-2022 Free Software Foundation, Inc.
;; See the "HY-COPY" file for license information.
@@ -106,9 +106,11 @@ OP may be +, -, xor, or default =."
(set-file-modes file (funcall func (hypb:oct-to-int octal-permissions)
(file-modes file)))))
-(defun hypb:cmd-key-string (cmd-sym &optional keymap)
- "Return a single pretty printed key sequence string bound to CMD-SYM.
-Global keymap is used unless optional KEYMAP is given."
+(defun hypb:cmd-key-series (cmd-sym &optional keymap)
+ "Return a single, brace-delimited, human readable key sequence string bound
to CMD-SYM.
+Global keymap is used unless optional KEYMAP is given.
+
+Trigger an error if CMD-SYM is not bound."
(if (and cmd-sym (symbolp cmd-sym) (fboundp cmd-sym))
(let* ((get-keys (lambda (cmd-sym keymap)
(key-description (where-is-internal
@@ -120,7 +122,15 @@ Global keymap is used unless optional KEYMAP is given."
" " (symbol-name cmd-sym) " RET")
keys)
"}"))
- (error "(hypb:cmd-key-string): Invalid cmd-sym arg: %s" cmd-sym)))
+ (error "(hypb:cmd-key-series): Invalid cmd-sym arg: %s" cmd-sym)))
+
+(defun hypb:cmd-key-vector (cmd-sym &optional keymap)
+ "Return as a vector the first key sequence bound to CMD-SYM from global
keymap or optional KEYMAP.
+Return nil if no valid key binding is found.
+
+The returned value may be compared with `equal' to `this-single-command-keys'.
+Use `key-description' to make it human readable."
+ (where-is-internal cmd-sym keymap t))
(defun hypb:installation-type ()
"Return a list of (hyperbole-installation-type-string
hyperbole-install-version-number-string).
diff --git a/hyperbole.el b/hyperbole.el
index 85fdb437f0..577c69e188 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -5,7 +5,7 @@
;; Author: Bob Weiner
;; Maintainer: Bob Weiner <rsw@gnu.org>, Mats Lidell <matsl@gnu.org>
;; Created: 06-Oct-92 at 11:52:51
-;; Last-Mod: 12-Feb-22 at 10:42:19 by Mats Lidell
+;; Last-Mod: 20-Feb-22 at 12:15:16 by Bob Weiner
;; Released: 03-May-21
;; Version: 8.0.0pre
;; Keywords: comm, convenience, files, frames, hypermedia, languages,
mail, matching, mouse, multimedia, outlines, tools, wp
@@ -374,68 +374,9 @@ directory or directories specified."
;; Menu items could call this function before Info is loaded.
(autoload 'Info-goto-node "info" "Jump to specific Info node." t)
-;; Hyperbole user interface entry points that trigger loading of the
-;; full Hyperbole system. These are left commented here for
-;; reference in case we ever go back to autoloading Hyperbole rather
-;; than initializing it fully in this file.
-
-;; ;; Action type definitions.
-;; (autoload 'defact "hyperbole"
-;; "Creates an action TYPE (an unquoted symbol) with PARAMS, described by
DOC."
-;; nil 'macro)
-;; ;; Implicit button type definitions.
-;; (autoload 'defib "hyperbole"
-;; "Creates implicit button TYPE (unquoted sym) with PARAMS, described by
DOC."
-;; nil 'macro)
-
-;; (autoload 'ebut:map "hyperbole" "Map over the Hyperbole
explicit buttons in a buffer." nil)
-;; (autoload 'hbut:key-src "hyperbole" "Called by {e} command in
rolo match buffer.")
-;; (autoload 'hui:ebut-rename "hyperbole" "Rename a Hyperbole button."
t)
-;; (autoload 'hyperbole "hyperbole" "Hyperbole info manager
menus." t)
-
-;; (autoload 'action-key "hyperbole"
-;; "Context-sensitive Action Key command."
t)
-;; (autoload 'action-key-depress "hyperbole" "Depress context-sensitive
Action Key." t)
-;; (autoload 'assist-key-depress "hyperbole" "Depress context-sensitive
Assist Key." t)
-;; (autoload 'action-key-depress-emacs "hyperbole" "Depress context-sensitive
Action Key." t)
-;; (autoload 'assist-key-depress-emacs "hyperbole" "Depress context-sensitive
Assist Key." t)
-;; (autoload 'action-mouse-key-emacs "hyperbole" "Execute context-sensitive
Action Key." t)
-;; (autoload 'assist-mouse-key-emacs "hyperbole" "Execute context-sensitive
Assist Key." t)
-;; (autoload 'hkey-help "hyperbole"
-;; "Display help for the Action Key command in current context.
-;; With optional ASSIST-FLAG non-nil, display help for the Assist Key command.
-;; Returns non-nil iff associated help documentation is found."
t)
-;; (autoload 'hkey-assist-help "hyperbole"
-;; "Display help for the Assist Key command in current context."
t)
-;; (autoload 'hkey-help-hide "hyperbole"
-;; "Restores frame to configuration prior to help buffer display."
nil)
-;; (autoload 'hkey-help-show "hyperbole"
-;; "Saves prior frame configuration if BUFFER displays help."
nil)
-;; (autoload 'assist-key "hyperbole"
-;; "Context-sensitive Assist Key command."
t)
-;; (autoload 'action-mouse-key "hyperbole"
-;; "Context-sensitive Action Mouse Key command."
t)
-;; (autoload 'assist-mouse-key "hyperbole"
-;; "Context-sensitive Assist Mouse Key command."
t)
-;; (autoload 'hkey-operate "hyperbole" "Emulate Hyperbole mouse key
drags." t)
-;; (autoload 'symset:add "hyperbole" "Adds ELT to SYMBOL's PROP
set." nil)
-;; (autoload 'hact "hyperbole" "Performs action formed from
rest of ARGS." nil)
-;; (autoload 'actypes::exec-window-cmd "hyperbole"
-;; "Executes an external window-based SHELL-CMD string asynchronously."
nil)
-;; (autoload 'hpath:absolute-to "hyperbole"
-;; "Make PATH absolute from optional DEFAULT-DIRS." nil)
-;; (autoload 'hpath:display-buffer "hyperbole"
-;; "Displays and selects BUFFER at optional DISPLAY-WHERE location or at
`hpath:display-where'." t)
-;; (autoload 'hpath:find "hyperbole"
-;; "Edit file FILENAME, possibly using a special command." t)
-;; (autoload 'hpath:find-other-frame "hyperbole"
-;; "Edit file FILENAME in other frame, possibly using a special
command." t)
-;; (autoload 'hpath:find-other-window "hyperbole"
-;; "Edit file FILENAME in other window, possibly using a special
command." t)
-
;; Auto-autoload doesn't work for next item because it is defined
;; within a condition-case, so autoload it here.
-(autoload 'Vm-init "hvm" "Initializes Hyperbole Vm support." t)
+(autoload 'Vm-init "hvm" "Initializes Hyperbole Vm support." t)
;;; ************************************************************************
;;; Outline Mode Aliases
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 02559a7b9d..0ba257fd88 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -7,7 +7,7 @@
@c Author: Bob Weiner
@c
@c Orig-Date: 6-Nov-91 at 11:18:03
-@c Last-Mod: 13-Feb-22 at 11:38:53 by Bob Weiner
+@c Last-Mod: 20-Feb-22 at 15:50:00 by Bob Weiner
@c %**start of header (This is for running Texinfo on a region.)
@setfilename hyperbole.info
@@ -156,7 +156,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
<PRE>
Edition 8.0.0pre
-Printed February 12, 2022.
+Printed February 20, 2022.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -198,7 +198,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@example
Edition 8.0.0pre
-February 12, 2022
+February 20, 2022
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -935,15 +935,18 @@ on a pathname to display the associated file or directory.
@cindex change key bindings
@cindex toggle key bindings
@cindex key bindings, toggle
+@cindex enable Hyperbole
@cindex disable Hyperbole
+@cindex Hyperbole minibufer menu
@kindex C-h h
-@kindex X
-@kindex q
+@kindex C-h h X
+@kindex C-h h q
@bkbd{C-h h} enables Hyperbole if it has been disabled and displays a
Hyperbole menu in the minibuffer for quick keyboard or mouse-based selection.
Select an item from this menu by typing the item's first capital letter.
Use @bkbd{q} to quit from the minibuffer menu while leaving Hyperbole enabled.
-Use@bkbd{X} to quit from the minibuffer menu and disable Hyperbole minor mode.
+Use@bkbd{X} (note this is capitalized) to quit from the minibuffer menu
+and disable Hyperbole minor mode.
Use @bkbd{C-h h d d} for an interactive demonstration of standard Hyperbole
button capabilities.
@@ -7948,11 +7951,8 @@ addition to any non-mouse-sensitive button highlighting.
@cindex key binding list
This appendix covers two topics: 1. how to bind Hyperbole minibuffer
menu items to global keys and 2. summaries of all of Hyperbole's
-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 overrides local, mode-specific key
-bindings that hide global Hyperbole keys.
-
+default key bindings. User-specific Hyperbole key binding customizations
+override Hyperbole's defaults.
@menu
* Binding Minibuffer Menu Items::
* Default Hyperbole Bindings::
@@ -8003,7 +8003,7 @@ Assist Key: Invoke the Assist Key in the present context.
@cindex key binding, C-c \
@kitem C-c @backslashchar{}
HyControl: Control windows, frames and buffer display. This binding
-is made only if the key is not bound prior to loading Hyperbole.
+is made only if the key is not bound prior to initializing Hyperbole.
@kindex C-c /
@kindex C-h h f w
@@ -8015,7 +8015,7 @@ is made only if the key is not bound prior to loading
Hyperbole.
Search the Web: Display a minibuffer menu of web search engines. Once
an engine is selected, prompt for a search term and perform the
associated search. This binding is made only if the key is not bound
-prior to loading Hyperbole; otherwise, the Find/Web minibuffer menu
+prior to initializing Hyperbole; otherwise, the Find/Web minibuffer menu
item, @bkbd{C-h h f w}, will do the same thing.
@kindex C-c @@
@@ -8034,7 +8034,7 @@ displayed first in the grid windows, then prompt for the
grid size.
If the argument is < 0, prompt for a shell glob-type file pattern and display
files that match the pattern in an auto-sized windows grid.
-This binding is made only if the key is not bound prior to loading Hyperbole.
+This binding is made only if the key is not bound prior to initializing
Hyperbole.
For further details, see the @bkbd{@@} key binding description
in @ref{HyControl}.
@@ -8043,17 +8043,22 @@ in @ref{HyControl}.
@kitem M-o
Drag Operation: Keyboard emulation of the start and stop of mouse
drags to invoke Smart Key actions. This binding is made only if the
-key is not bound prior to loading Hyperbole and if Emacs is run under
+key is not bound prior to initializing Hyperbole and if Emacs is run under
a window system. If the Ace Window package is loaded, then Ace Window
commands are typically bound to @bkbd{M-o} instead. Then @bkbd{M-o w}
-may be used to quickly create an explicit link button in the selected window
that
-links to any other window chosen via the Ace Window prompt.
+may be used to quickly create an explicit link button in the selected window
+that links to any other window chosen via the Ace Window prompt.
@cindex key binding, C-h h
@kitem C-h h
-Hyperbole Mini Menu: Invoke the Hyperbole minibuffer menu, giving
-access to many Hyperbole commands. This is bound globally as a means
-of enabling Hyperbole minor mode.
+@kinem C-h h X
+@cindex Hyperbole minibuffer menu
+@cindex enable Hyperbole
+@cindex disable Hyperbole
+Hyperbole Mini Menu: Enable Hyperbole minor mode and invoke the
+Hyperbole minibuffer menu, giving access to many Hyperbole commands.
+This is bound globally. Use @bkbd{C-h h X} to close the Hyperbole
+minibuffer menu and disable Hyperbole minor mode.
@cindex key binding, C-h A
@cindex key binding, C-u C-h A
@@ -8068,14 +8073,14 @@ Mark Things: Mark larger and larger synctactical units
in a buffer
when invoked repeatedly, showing in the minibuffer the type of unit
marked each time. For example, if on an opening brace at the start of
a C, Java or Javascript function, this marks the whole function. This
-binding is made only if the key is not bound prior to loading
+binding is made only if the key is not bound prior to initializing
Hyperbole.
@cindex key binding, C-c .
@kitem C-c .
Delimited Thing Jump: Jump between the start and end of a delimited
thing, which may be an HTML tag pair. This binding is made only if
-the key is not bound prior to loading Hyperbole. @xref{Smart Key
+the key is not bound prior to initializing Hyperbole. @xref{Smart Key
Thing Selection}, for more information.
@end table