[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole c3bc9de 2/2: eXit from minibuffer menu and mo
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole c3bc9de 2/2: eXit from minibuffer menu and mode; add gbut:ebut-program automation |
Date: |
Wed, 28 Apr 2021 01:57:12 -0400 (EDT) |
branch: externals/hyperbole
commit c3bc9deb9e14aab4acc1d80c1f763a9ca49cb8f0
Author: Bob Weiner <rsw@gnu.org>
Commit: Bob Weiner <rsw@gnu.org>
eXit from minibuffer menu and mode; add gbut:ebut-program automation
Change mouse bindings to hyperbole-mode-map bindings
Action Key at end of Hyperbole help buffers quits
C-c prefix map for hyperbole-mode-map
---
Changes | 30 ++++++++++++++++++++++++++++++
hbut.el | 18 ++++++++++++++++++
hmouse-key.el | 12 ++++++------
hmouse-sh.el | 10 +++++-----
hui-mini.el | 30 +++++++++++++++++++++++-------
hui-mouse.el | 29 +++++++++++++++++++++--------
hui-select.el | 2 +-
hyperbole.el | 26 ++++++++++++++++++--------
man/hyperbole.html | 10 ++++++++--
man/hyperbole.info | Bin 544277 -> 544683 bytes
man/hyperbole.pdf | Bin 1299807 -> 1299843 bytes
man/hyperbole.texi | 8 ++++++--
12 files changed, 136 insertions(+), 39 deletions(-)
diff --git a/Changes b/Changes
index d77741e..44010f2 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,33 @@
+2021-04-28 Bob Weiner <rsw@gnu.org>
+
+* hui-mini.el (hui:hypb-exit): "X" to exit from hyperbole-mode
+ when a minibuffer menu is active. Use {C-h h} to re-enable
+ hyperbole-mode and display the minibuffer menu.
+ (hui:hypb-exit): Command invoked by X in menus.
+
+2021-04-27 Bob Weiner <rsw@gnu.org>
+
+* hui-mouse.el (smart-magit-display-file): Add and use in smart-magit*
+ functions so when files from diffs are displayed, they utilize
+ Hyperbole's referent display setting, hpath:display-where.
+ man/hyperbole.texi (Smart Key - Magit Mode): Updated Smart Magit
+ doc with the above.
+
+* hbut.el (gbut:ebut-program): Add to programmatically add global
+ explicit buttons at the end of the personal button file.
+
+* hmouse-sh.el (hmouse-get-bindings, hmouse-get-unshifted-bindings):
+ hmouse-key.el (hmouse-check-action-key, hmouse-check-assist-key,
+ hmouse-set-bindings): Change from global bindings to hyperbole-mode
+ ones.
+
+* hui-select.el (hui-select-at-p): Change test from '(and (bobp) (eobp))'
+ to '(eobp)' only so never triggers at the end of a buffer, notably
+ Hyperbole minibuffer menu help displays.
+
+* hyperbole.el (hyperbole-mode-specific-map): Define to shadow without
+ overwriting global C-c bindings.
+
2021-04-27 Mats Lidell <matsl@gnu.org>
* test/hypb-tests.el (hypb:replace-match-string-after-27.1-test): Use
diff --git a/hbut.el b/hbut.el
index 627faaa..9335878 100644
--- a/hbut.el
+++ b/hbut.el
@@ -624,6 +624,24 @@ Return nil if no matching button is found."
"Return list of global button labels."
(mapcar 'hbut:key-to-label (gbut:key-list)))
+(defun gbut:ebut-program (label actype &rest args)
+ "Programmatically create a global explicit Hyperbole button at point from
LABEL, ACTYPE (action type), and optional actype ARGS.
+Insert LABEL text at the end of the personal/global button file
+surrounded by <( )> delimiters, adding any necessary instance
+number of the button after the LABEL. ACTYPE may be a Hyperbole
+action type name (from defact) or an Emacs Lisp function,
+followed by a list of arguments for the actype, aside from the
+button LABEL which is automatically provided as the first
+argument.
+
+For interactive creation, use `hui:gbut-create' instead."
+ (save-excursion
+ (with-current-buffer (find-file-noselect (expand-file-name hbmap:filename
hbmap:dir-user))
+ (save-excursion
+ (goto-char (point-max))
+ (when (not (bolp))
+ (insert "\n"))
+ (eval `(ebut:program label actype ,@args))))))
(defun gbut:to (lbl-key)
"Find the global button with LBL-KEY (a label or label key) within the
visible portion of the global button file.
diff --git a/hmouse-key.el b/hmouse-key.el
index 81e8e60..a9bce96 100644
--- a/hmouse-key.el
+++ b/hmouse-key.el
@@ -13,7 +13,7 @@
;;
;; Supports macOS, X, NEXTSTEP and MS Windows window systems.
;;
-;; `hmouse-install' globally binds the Action and Assist Mouse Keys
+;; `hmouse-install' binds the Action and Assist Mouse Keys
;; to shifted mouse buttons and optionally binds the Action Mouse Key
;; to the middle mouse button.
;;
@@ -37,16 +37,16 @@
Returns t iff the key is properly bound, else nil."
(and (or (and (eventp action-key-depress-args) (eventp
action-key-release-args))
(not (or action-key-depress-args action-key-release-args)))
- (where-is-internal 'action-key-depress-emacs (current-global-map) t)
- (where-is-internal 'action-mouse-key-emacs (current-global-map) t)))
+ (where-is-internal 'action-key-depress-emacs hyperbole-mode-map t)
+ (where-is-internal 'action-mouse-key-emacs hyperbole-mode-map t)))
(defun hmouse-check-assist-key ()
"After use of the Assist Mouse Key, ensure both depress and release events
are assigned to the key.
Returns t iff the key is properly bound, else nil."
(and (or (and (eventp assist-key-depress-args) (eventp
assist-key-release-args))
(not (or assist-key-depress-args assist-key-release-args)))
- (where-is-internal 'assist-key-depress-emacs (current-global-map) t)
- (where-is-internal 'assist-mouse-key-emacs (current-global-map) t)))
+ (where-is-internal 'assist-key-depress-emacs hyperbole-mode-map t)
+ (where-is-internal 'assist-mouse-key-emacs hyperbole-mode-map t)))
(defun hmouse-set-bindings (key-binding-list)
"Set mouse keys used as Smart Keys to bindings in KEY-BINDING-LIST.
@@ -61,7 +61,7 @@ bindings after Smart Key setup."
(t
(mapcar
(lambda (key-and-binding)
- (global-set-key (car key-and-binding) (cdr key-and-binding)))
+ (hkey-set-key (car key-and-binding) (cdr key-and-binding)))
key-binding-list))))
(defun hmouse-install (&optional arg)
diff --git a/hmouse-sh.el b/hmouse-sh.el
index 386ba2f..41fb9d5 100644
--- a/hmouse-sh.el
+++ b/hmouse-sh.el
@@ -257,7 +257,7 @@ Use nil as CMD value to unbind the key. Works under GNU
Emacs only."
))))
(defun hmouse-get-bindings (hmouse-middle-flag)
- "Return the list of current bindings of mouse keys used by Hyperbole.
+ "Return the list of active bindings of mouse keys used by Hyperbole.
If HMOUSE-MIDDLE-FLAG is non-nil, includes the middle mouse key binding as
well.
These may be the bindings prior to initializing Hyperbole or the Hyperbole
bindings."
;; Do nothing when running in batch mode.
@@ -267,7 +267,7 @@ These may be the bindings prior to initializing Hyperbole
or the Hyperbole bindi
;; Get mouse bindings under Emacs or XEmacs, even if not under a
;; window system since they can have frames on ttys and windowed
;; displays at the same time.
- (mapcar (lambda (key) (cons key (global-key-binding key)))
+ (mapcar (lambda (key) (cons key (key-binding key)))
(if (eq window-system 'dps)
;; NEXTSTEP offers only 2 shift-mouse buttons which we use
;; as the Smart Keys.
@@ -324,7 +324,7 @@ These may be the bindings prior to initializing Hyperbole
or the Hyperbole bindi
)))
(nconc
(mapcar (lambda (key)
- (cons key (global-key-binding key)))
+ (cons key (key-binding key)))
'([(shift button2)] [(shift button2up)]
[(shift button3)] [(shift button3up)]))
(when (boundp 'mode-line-map)
@@ -335,7 +335,7 @@ These may be the bindings prior to initializing Hyperbole
or the Hyperbole bindi
(defun hmouse-get-unshifted-bindings ()
"Return the list of middle mouse key bindings prior to their use as Smart
Keys."
;; Do nothing when running in batch mode.
- (mapc (lambda (key) (cons key (global-key-binding key)))
+ (mapc (lambda (key) (cons key (key-binding key)))
(unless (eq window-system 'dps)
;; X, macOS or MS Windows
'([down-mouse-2] [drag-mouse-2] [mouse-2]
@@ -363,7 +363,7 @@ These may be the bindings prior to initializing Hyperbole
or the Hyperbole bindi
)))
(nconc
(mapcar (lambda (key)
- (cons key (global-key-binding key)))
+ (cons key (key-binding key)))
'([button2] [button2up]
[button3] [button3up]
))
diff --git a/hui-mini.el b/hui-mini.el
index 589c019..1d31dce 100644
--- a/hui-mini.el
+++ b/hui-mini.el
@@ -24,6 +24,9 @@
;;; Public variables
;;; ************************************************************************
+(defvar hui:hypb-exit "X"
+ "*Upper case character string which exits from / disable Hyperbole mode, and
any active minibuffer menu.")
+
(defvar hui:menu-select "\C-m"
"*Character string which selects the Hyperbole menu item at point.")
(defvar hui:menu-quit "Q"
@@ -223,6 +226,12 @@ With optional HELP-STRING-FLAG, instead returns the one
line help string for the
;; Ignore any keys past the first menu item activation.
(discard-input)))))
+(defun hui:hypb-exit ()
+ "Exit any Hyperbole minibuffer menu and disable `hyperbole-mode'."
+ (interactive)
+ (hyperbole-mode 0)
+ (hui:menu-enter hui:menu-quit))
+
(defun hui:menu-enter (&optional char-str)
"Use CHAR-STR or last input character as minibuffer argument."
(interactive)
@@ -289,13 +298,14 @@ documentation, not the full text."
(let* ((menu-line (hui:menu-line menu-alist))
(set:equal-op 'eq)
(select-char (string-to-char hui:menu-select))
+ (exit-char (string-to-char hui:hypb-exit))
(quit-char (string-to-char hui:menu-quit))
(abort-char (string-to-char hui:menu-abort))
(top-char (string-to-char hui:menu-top))
(item-keys (mapcar (lambda (item) (aref item 0))
(mapcar 'car (cdr menu-alist))))
;; 0 matches an empty string return, no selection
- (keys (apply 'list 0 1 select-char quit-char abort-char
+ (keys (apply 'list 0 1 select-char exit-char quit-char abort-char
top-char item-keys))
(key 0)
(hargs:reading-p 'hmenu)
@@ -313,9 +323,9 @@ documentation, not the full text."
;; a menu command character code;
;; 1 for in the menu prefix area;
;; 0 for at the end of the menu.
- (cond ((or (eq key 0) (eq key quit-char)) nil)
+ (cond ((memq key (list 0 exit-char quit-char)) nil)
((eq key abort-char) (beep) nil)
- ((or (eq key 1) (eq key top-char)) '(menu . hyperbole))
+ ((memq key (list 1 top-char)) '(menu . hyperbole))
((and (eq key select-char)
(save-excursion
(if (search-backward " " nil t)
@@ -430,7 +440,16 @@ constructs. If not given, the top level Hyperbole menu is
used."
(if hui:menu-mode-map
nil
(setq hui:menu-mode-map (make-keymap))
+ ;; Make self-inserting chars all execute hui:menu-enter
(suppress-keymap hui:menu-mode-map)
+ ;;
+ (let ((i 32))
+ (while (<= i 126)
+ (define-key hui:menu-mode-map (char-to-string i) #'hui:menu-enter)
+ (setq i (1+ i))))
+ ;;
+ ;; Bind any active keys for menu mode
+ (define-key hui:menu-mode-map hui:hypb-exit #'hui:hypb-exit)
(define-key hui:menu-mode-map hui:menu-quit #'hui:menu-enter)
(define-key hui:menu-mode-map hui:menu-abort #'hui:menu-enter)
(define-key hui:menu-mode-map hui:menu-top #'hui:menu-enter)
@@ -441,10 +460,7 @@ constructs. If not given, the top level Hyperbole menu is
used."
(define-key hui:menu-mode-map [backtab] #'hui:menu-backward-item) ;;
Shift-TAB
(define-key hui:menu-mode-map "\M-\C-i" #'hui:menu-backward-item) ;;
M-TAB
;;
- (let ((i 32))
- (while (<= i 126)
- (define-key hui:menu-mode-map (char-to-string i) #'hui:menu-enter)
- (setq i (1+ i)))))
+)
;;; ************************************************************************
;;; Hyperbole Minibuffer Menus
diff --git a/hui-mouse.el b/hui-mouse.el
index 10f5e50..3311fbd 100644
--- a/hui-mouse.el
+++ b/hui-mouse.el
@@ -1319,6 +1319,15 @@ NO-RECURSE-FLAG non-nil prevents infinite recursions."
;;; smart-magit functions
;;; ************************************************************************
+(defun smart-magit-display-file (return-command)
+ "Execute Magit command bound to return, possibly displaying utilizing
hpath:display-buffer setting."
+ (cond ((eq return-command #'magit-diff-visit-file)
+ ;; Use Hyperbole display variable to determine where
+ ;; to display the file of the diff.
+ (magit-diff-visit-file--internal
+ (magit-file-at-point t t) nil #'hpath:display-buffer))
+ (t (call-interactively return-command))))
+
(defun smart-magit ()
"Use a key or mouse key to jump to source and to hide/show changes.
@@ -1333,14 +1342,15 @@ If key is pressed:
(3) on an initial read-only header line, cycle visibility of diff sections;
(4) anywhere else, hide/show the thing at point (\"TAB\" key binding)
unless that does nothing in the mode, then jump to the thing at
- point (\"RET\" key binding)."
+ point (\"RET\" key binding) but display based on the value of
+ `hpath:display-where'."
(interactive)
(cond ((last-line-p)
(call-interactively (key-binding "q")))
((eolp)
(smart-scroll-up))
(t
- (let ((magit-display-file-buffer-function #'hpath:display-buffer))
+ (let ((magit-display-buffer-function #'hpath:display-buffer))
(call-interactively #'smart-magit-tab)))))
(defun smart-magit-assist ()
@@ -1355,19 +1365,21 @@ If assist-key is pressed:
(1) on the last line, quit from the magit mode (\"q\" key binding);
(2) at the end of a line, scroll down a windowful;
(3) on an initial read-only header line, cycle visibility of all sections;
- (4) anywhere else, jump to the thing at point (\"RET\" key binding)."
+ (4) anywhere else, jump to the thing at point (\"RET\" key binding)
+ but display based on the value of `hpath:display-where'."
(interactive)
(cond ((last-line-p)
(call-interactively (key-binding "q")))
((eolp)
(smart-scroll-down))
(t
- (let ((magit-display-file-buffer-function #'hpath:display-buffer)
+ (let ((magit-display-buffer-function #'hpath:display-buffer)
(current-prefix-arg)
(non-text-area-p (and (eventp action-key-depress-args)
(posn-area (event-start
action-key-depress-args)))))
- (cond (non-text-area-p (magit-section-cycle-global))
- (t (call-interactively (key-binding "\r"))))))))
+ (if non-text-area-p
+ (magit-section-cycle-global)
+ (smart-magit-display-file (key-binding (kbd "RET"))))))))
;; Thanks to Jonas Bernoulli <tarsius>, magit author, for most of this
;; next function.
@@ -1375,7 +1387,8 @@ If assist-key is pressed:
;; Usage: (define-key magit-section-mode-map "TAB" 'smart-magit-tab
"Toggle visibility of the body of the current section."
(interactive (list (magit-current-section)))
- (let* ((non-text-area-p (and (eventp action-key-depress-args)
+ (let* ((magit-display-buffer-function #'hpath:display-buffer)
+ (non-text-area-p (and (eventp action-key-depress-args)
(posn-area (event-start
action-key-depress-args)))))
(cond (non-text-area-p (magit-section-cycle-diffs))
((eq section magit-root-section)
@@ -1390,7 +1403,7 @@ If assist-key is pressed:
(if-let ((command (key-binding (kbd "RET"))))
(progn (setq last-command-event ?\()
(setq this-command command)
- (call-interactively command))
+ (smart-magit-display-file command))
(user-error "Nothing to visit either"))))))
;;; ************************************************************************
diff --git a/hui-select.el b/hui-select.el
index 019cc40..9c9e485 100644
--- a/hui-select.el
+++ b/hui-select.el
@@ -215,7 +215,7 @@
"Return non-nil if the character after optional POS (or point) matches a
syntax entry in `hui-select-syntax-alist'.
The non-nil value returned is the function to call to select that syntactic
unit."
(interactive "d")
- (unless (and (bobp) (eobp))
+ (unless (eobp)
(or (numberp pos) (setq pos (point)))
(setq hui-select-previous 'char)
(let* ((syntax (char-syntax (or (char-after pos) (char-before pos))))
diff --git a/hyperbole.el b/hyperbole.el
index 378b168..14b60d1 100644
--- a/hyperbole.el
+++ b/hyperbole.el
@@ -18,12 +18,14 @@
;;; Commentary:
;;
-;; GNU Hyperbole (pronounced Ga-new Hi-per-bo-lee), or just Hyperbole, is an
-;; easy-to-use, yet powerful and programmable hypertextual information
-;; management system implemented as a GNU Emacs package. It offers rapid views
-;; and interlinking of all kinds of textual information, utilizing Emacs for
-;; editing. It can dramatically increase your productivity and greatly reduce
-;; the number of keyboard/mouse keys you'll need to work efficiently.
+;; GNU Hyperbole (pronounced Gnew Hi-per-bo-lee), or just Hyperbole, is like
+;; Markdown for hypertext, letting you use little or no markup in files to
+;; produce easy-to-navigate hypermedia files. It is an easy-to-use, yet
+;; powerful and programmable hypertextual information management system
+;; implemented as a GNU Emacs package. It offers rapid views and interlinking
+;; of all kinds of textual information, utilizing Emacs for editing. It can
+;; dramatically increase your productivity and greatly reduce the number of
+;; keyboard/mouse keys you'll need to work efficiently.
;;
;; Hyperbole lets you:
;;
@@ -203,10 +205,14 @@ which prevents automatic removal of any local bindings to
the same key."
(defvar hmouse-bindings-flag)
(defvar hyperb:user-email)
(defvar hyperbole-help-map (make-sparse-keymap)
- "Help-map keys available only when Hyperbole minor mode is enabled.")
+ "Help prefix keymap available only when Hyperbole minor mode is enabled.")
+(defvar hyperbole-mode-specific-map (make-sparse-keymap)
+ "C-c prefix keymap available only when Hyperbole minor mode is enabled.")
(defun hkey-initialize ()
- "If `hkey-init' is non-nil, initialize Hyperbole key bindings."
+ "If `hkey-init' is non-nil, initialize Hyperbole key bindings.
+Some keys are conditionally bound only if there are no existing prior bindings
+of the commands."
(when hkey-init
;;
;; Setup so Hyperbole menus can be accessed from a key. If not
@@ -222,6 +228,10 @@ which prevents automatic removal of any local bindings to
the same key."
(set-keymap-parent hyperbole-help-map help-map)
(hkey-set-key (vector help-char) hyperbole-help-map)
;;
+ ;; Define C-c prefix key in this keymap.
+ (set-keymap-parent hyperbole-mode-specific-map mode-specific-map)
+ (hkey-set-key "\C-c" hyperbole-mode-specific-map)
+ ;;
;; Binds the Action Key to {M-RET} and the Assist Key to {C-u M-RET}
;; and loads the Hyperbole mouse key bindings.
(unless (where-is-internal #'hkey-either)
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 2cd7c94..528fa6c 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -11189,6 +11189,8 @@ Next: <a href="#Smart-Key-_002d-The-OO_002dBrowser"
accesskey="n" rel="next">Sma
<span id="Smart-Key-_002d-Magit-Mode-1"></span><h4 class="subsection">E.2.44
Smart Key - Magit Mode</h4>
<span id="index-git"></span>
<span id="index-magit"></span>
+<span id="index-version-control-4"></span>
+<span id="index-hpath_003adisplay_002dwhere-3"></span>
<div class="format">
<pre class="format">If pressed within a Magit buffer and not on a button:
ACTION KEY
@@ -11197,12 +11199,14 @@ Next: <a href="#Smart-Key-_002d-The-OO_002dBrowser"
accesskey="n" rel="next">Sma
(3) on an initial read-only header line, cycle visibility of diff
sections;
(4) anywhere else, hide/show the thing at point (<kbd>{<span
class="key">TAB</span>}</kbd> key binding)
unless that does nothing in the mode, then jump to the thing at point
- (<kbd>{<span class="key">RET</span>}</kbd> key binding).
+ (<kbd>{<span class="key">RET</span>}</kbd> key binding) but display
based on the value of
+ <code>hpath:display-where</code>.
ASSIST KEY
(1) on the last line, quit from the magit mode (<kbd>{q}</kbd> key
binding);
(2) at the end of a line, scroll down a windowful;
(3) on an initial read-only header line, cycle visibility of all sections;
- (4) anywhere else, jump to the thing at point (<kbd>{<span
class="key">RET</span>}</kbd> key binding)."
+ (4) anywhere else, jump to the thing at point (<kbd>{<span
class="key">RET</span>}</kbd> key binding)
+ but display based on the value of
<code>hpath:display-where</code>."
</pre></div>
<hr>
@@ -12533,6 +12537,7 @@ Next: <a href="#Concept-Index" accesskey="n"
rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a
href="#index-hpath_003adisplay_002dwhere">hpath:display-where</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-hpath_003adisplay_002dwhere-1">hpath:display-where</a>:</td><td> </td><td
valign="top"><a href="#Referent-Display">Referent Display</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hpath_003adisplay_002dwhere-2">hpath:display-where</a>:</td><td> </td><td
valign="top"><a href="#Internal-Viewers">Internal Viewers</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-hpath_003adisplay_002dwhere-3">hpath:display-where</a>:</td><td> </td><td
valign="top"><a href="#Smart-Key-_002d-Magit-Mode">Smart Key - Magit
Mode</a></td></tr>
<tr><td></td><td valign="top"><a
href="#index-hpath_003aexternal_002ddisplay_002dalist">hpath:external-display-alist</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-hpath_003aexternal_002ddisplay_002dalist_002dmacos">hpath:external-display-alist-macos</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-hpath_003aexternal_002ddisplay_002dalist_002dmswindows">hpath:external-display-alist-mswindows</a>:</td><td> </td><td
valign="top"><a href="#External-Viewers">External Viewers</a></td></tr>
@@ -14026,6 +14031,7 @@ 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-Button-Types">Implicit Button Types</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-Button-Types">Implicit Button Types</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-version-control-3">version
control</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-version-control-4">version
control</a>:</td><td> </td><td valign="top"><a
href="#Smart-Key-_002d-Magit-Mode">Smart Key - Magit Mode</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="#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>
diff --git a/man/hyperbole.info b/man/hyperbole.info
index ad62a3f..5071abf 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index a72f3e4..6638043 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index a3269e5..472d99e 100644
--- a/man/hyperbole.texi
+++ b/man/hyperbole.texi
@@ -9711,6 +9711,8 @@ If pressed within a Gomoku game buffer:
@subsection Smart Key - Magit Mode
@cindex git
@cindex magit
+@cindex version control
+@vindex hpath:display-where
@format
@group
If pressed within a Magit buffer and not on a button:
@@ -9720,12 +9722,14 @@ If pressed within a Magit buffer and not on a button:
(3) on an initial read-only header line, cycle visibility of diff
sections;
(4) anywhere else, hide/show the thing at point (@bkbd{@key{TAB}} key
binding)
unless that does nothing in the mode, then jump to the thing at point
- (@bkbd{@key{RET}} key binding).
+ (@bkbd{@key{RET}} key binding) but display based on the value of
+ @code{hpath:display-where}.
ASSIST KEY
(1) on the last line, quit from the magit mode (@bkbd{q} key binding);
(2) at the end of a line, scroll down a windowful;
(3) on an initial read-only header line, cycle visibility of all sections;
- (4) anywhere else, jump to the thing at point (@bkbd{@key{RET}} key
binding)."
+ (4) anywhere else, jump to the thing at point (@bkbd{@key{RET}} key
binding)
+ but display based on the value of @code{hpath:display-where}."
@end group
@end format