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

[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
 



reply via email to

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