[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/hyperbole 966605b7a3 028/143: hkey-window-link, {M-o w}
From: |
ELPA Syncer |
Subject: |
[elpa] externals/hyperbole 966605b7a3 028/143: hkey-window-link, {M-o w} - invert the meaning of prefix arg |
Date: |
Mon, 19 Feb 2024 15:58:50 -0500 (EST) |
branch: externals/hyperbole
commit 966605b7a3258868f954b1101d542659821925ce
Author: bw <rsw@gnu.org>
Commit: bw <rsw@gnu.org>
hkey-window-link, {M-o w} - invert the meaning of prefix arg
hmouse-alist-add-window-handlers - Default to implicit button
creation; create explicit button with C-u prefix.
---
ChangeLog | 13 +++++++
DEMO | 39 ++++++++++---------
FAST-DEMO | 19 ++++-----
hmouse-drv.el | 14 +++----
hui-window.el | 7 ++--
hui.el | 4 +-
man/hkey-help.txt | 2 +-
man/hyperbole.html | 110 ++++++++++++++++++++++++++++------------------------
man/hyperbole.info | Bin 619272 -> 619947 bytes
man/hyperbole.pdf | Bin 1373019 -> 1373590 bytes
man/hyperbole.texi | 112 +++++++++++++++++++++++++++++------------------------
11 files changed, 178 insertions(+), 142 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 31bad0208b..7039b47407 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2023-12-27 Bob Weiner <rsw@gnu.org>
+
+* hmouse-drv.el (hkey-window-link): Invert the meaning of the prefix arg, so
without
+ one, creates implicit buttons and with creates explicit buttons. This is
the new
+ V9 standard as then by default there is no need to prompt for a button
name.
+ hui-window.el (hmouse-alist-add-window-handlers): Invert drag between
windows so
+ without a prefix arg, creates implicit buttons and with, creates explicit
ones.
+ hui.el (hui:ibut-link-directly):
+ FAST-DEMO (Implicit Buttons):
+ DEMO (Creation via Dragging, Creation via Ace Window):
+ man/hyperbole.texi (Keyboard Drags, Smart Mouse Drags between Windows):
+ man/hkey-help.txt: Update doc on above.
+
2023-12-26 Mats Lidell <matsl@gnu.org>
* test/hmouse-drv-tests.el:
diff --git a/DEMO b/DEMO
index 21a8cc3f9c..c34724dd8f 100644
--- a/DEMO
+++ b/DEMO
@@ -1176,22 +1176,22 @@ on the *first* line of the button, within the button
delimiters:
Creating explicit buttons is fun and easy. You can always try them out
immediately after creating them or can utilize the Assist Key to verify what
buttons do. There are two ways to create them: by dragging between windows
-with the Action Mouse Key or by using the Hyperbole menus.
+with the Assist Mouse Key or by using the Hyperbole menus.
*** Creation via Dragging
An efficient way to create an explicit button interactively is to use
-the Action Mouse Key to drag from a window where you want the button
+the Assist Mouse Key to drag from a window where you want the button
created (button source window) to a window showing its link referent.
The drag must start outside of a draggable item which includes Hyperbole
-button, dired items and buffer menu items.
+buttons, dired items and buffer menu items.
More specifically, you should split your current Emacs frame into two
windows: one which contains the point at which you want a button to be
inserted and another which shows the point to which you want to link,
-the referent. Depress the Action Mouse Key at the source point for
+the referent. Depress the Assist Mouse Key at the source point for
the button (anywhere but on a paired delimiter such as double quotes
-or parentheses). Then drag to the other window and release the Action
+or parentheses). Then drag to the other window and release the Assist
Mouse Key at the start point of the link referent. The process
becomes quite simple with a little practice.
@@ -1211,20 +1211,19 @@ the variable with a matching value when the link is
later resolved. This
allows the sharing of links over wide areas, where links contain variables
whose values differ between link creator and link activator.
-If you do the same think with the Assist Mouse Key instead of the Action
+If you do the same thing with the Action Mouse Key instead of the Assist
Mouse Key, Hyperbole will create an implicit link button instead of an
explicit one. Such buttons are created without names but you can add
-a name preceding such buttons with {C-h h i l} to label them.
+a name preceding such buttons by using {C-u C-h h i l} instead.
*** Creation via Ace Window
-For the fastest link button creation, use the Emacs package
-'ace-window' (see "(hyperbole)Keyboard Drags" for setup). Once this
-is configured, then {M-o w <window id>} 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. Use a C-u prefix argument to create
-an unnamed implicit link button instead and a M-1 prefix argument to
-create a named implicit link button.
+For the fastest link button creation, use the Emacs package 'ace-window' (see
+"(hyperbole)Keyboard Drags" for setup). Once this is configured, then {M-o w`j
+<window id>} may be used to quickly create an unnamed implicit link button in
+the selected window that links to any other window chosen via the Ace Window.
+Use a M-1 prefix argument to create a named implicit link button. If you
+want to create an explicit button instead, use the C-u prefix argument.
*** Creation via Menu
@@ -1257,10 +1256,14 @@ buffer as the same button.
If you create link buttons using the Hyperbole menus, the best technique is
to place on screen both the source buffer for the button and the buffer to
-which it will link. Mark the region of text to use as your button label,
-invoke the button create command from the menu, choose an action type which
-begins with `link-to-' and then use the direct selection techniques mentioned
-in "(hyperbole)Smart Key Argument Selection", to select the link referent.
+which it will link (referent buffer). Leave point where you want to link
+to in the referent buffer, switch to the source buffer and put point where
+ you want to insert the link button. If the button name is already there
+in the buffer, mark it as the region to use for your button label. Then
+press {C-h h e l} and that will figure out the proper link type, prompt for
+any needed arguments and then insert the button. You can use the direct
+selection techniques mentioned in "(hyperbole)Smart Key Argument Selection",
+to select any arguments.
See "(hyperbole)Utilizing Explicit Buttons" for much more detail on how to
work with explicit buttons.
diff --git a/FAST-DEMO b/FAST-DEMO
index 04000b0bf5..9e67cf95b8 100644
--- a/FAST-DEMO
+++ b/FAST-DEMO
@@ -116,16 +116,16 @@
You can simply type implicit buttons into a buffer or you can use {C-h h i
c} to create them and give them names. To create an implicit link button
- from a buffer in one window to another, simply depress the Assist Mouse
- Key (not the Action Mouse Key) where you want the new button (but not
- within a draggable item), drag to a point in another Emacs window and
- release. An implicit link button of an appropriate type for the release
- context will be inserted at the original depress point.
+ from a buffer in one window to another, simply depress the Action Mouse
+ Key where you want the new button (but not within a draggable item), drag
+ to a point in another Emacs window and release. An implicit link button
+ of an appropriate type for the release context will be inserted at the
+ original depress point.
If you have exactly two Emacs windows in your current frame or exactly two
windows visible across two Emacs frames, there is an even simpler way to
create implicit links. Use the Link menu item, {C-h h i l}, to create a
- new unnamed implicit link button or to edit the one at point. {C-u C-h h
+ new unnamed implicit link button or to edit the one at point. {M-1 C-h h
i l} will additionally prompt to add a name or rename the button at
point. With more than two windows, Hyperbole will prompt you to choose
the referent window and its associated point to which to link. If the Ace
@@ -139,10 +139,11 @@
Display the file, "HY-NEWS", go to the star-outline section 'ORG
MODE', move 2 lines into that section and then move 6 characters
- forward.
+ forward. "HY-NEWS#ORG MODE:L2:C6" with the line and column numbers
+ labeled works as well.
- Existing files and pathnames are recognized without double quotes as
- well.
+ Existing files and pathnames without spaces are also recognized without
+ double quotes.
The variable, <hpath:display-where>, determines where Hyperbole
displays all button referents, whether in another window or frame.
diff --git a/hmouse-drv.el b/hmouse-drv.el
index 42a5996c6d..8029f951b5 100644
--- a/hmouse-drv.el
+++ b/hmouse-drv.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 04-Feb-90
-;; Last-Mod: 4-Oct-23 at 20:04:08 by Mats Lidell
+;; Last-Mod: 27-Dec-23 at 00:52:16 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -651,9 +651,9 @@ The selected window does not change."
RELEASE-WINDOW is interactively selected via the `ace-window' command.
The selected window does not change.
-With no prefix argument, create an explicit button.
-With a C-u \\='(4) prefix argument, create an unnamed implicit button.
-With a M-1 prefix argument, create an named implicit button."
+With no prefix argument, create an unnamed implicit button.
+With a single C-u \\='(4) prefix argument, create an explicit button.
+With any other prefix argument, like M-1, create an named implicit button."
(interactive
(list (let ((mode-line-text (concat " Ace - Hyperbole: " (nth 2 (assq ?w
aw-dispatch-alist)))))
(aw-select mode-line-text))))
@@ -662,9 +662,9 @@ With a M-1 prefix argument, create an named implicit
button."
(let ((start-window (selected-window)))
(unwind-protect
(progn
- (funcall (if current-prefix-arg
- #'hui:ibut-link-directly
- #'hui:ebut-link-directly)
+ (funcall (if (equal current-prefix-arg '(4))
+ #'hui:ebut-link-directly
+ #'hui:ibut-link-directly)
start-window release-window)
release-window)
;; Leave start-window selected
diff --git a/hui-window.el b/hui-window.el
index fc12ba7e69..98d7b03fb3 100644
--- a/hui-window.el
+++ b/hui-window.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 21-Sep-92
-;; Last-Mod: 3-Oct-23 at 17:04:04 by Mats Lidell
+;; Last-Mod: 27-Dec-23 at 23:59:25 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -227,9 +227,8 @@ and release to register a diagonal drag.")
. ((hmouse-drag-item-to-display) . (hmouse-drag-item-to-display)))
;; Drag between windows not on an item
((hmouse-drag-between-windows)
- ;; Note that `hui:ebut-link-directly' uses any active
- ;; region as the label of the button to create.
- . ((hui:ebut-link-directly) . (hui:ibut-link-directly)))
+ ;; Note that functions on next line use any region as button name
+ . ((hui:ibut-link-directly) . (hui:ebut-link-directly)))
((hmouse-drag-region-active)
. ((hmouse-drag-not-allowed) . (hmouse-drag-not-allowed)))
((setq hkey-value (hmouse-drag-horizontally))
diff --git a/hui.el b/hui.el
index afb711f2c3..e45746d2f1 100644
--- a/hui.el
+++ b/hui.el
@@ -3,7 +3,7 @@
;; Author: Bob Weiner
;;
;; Orig-Date: 19-Sep-91 at 21:42:03
-;; Last-Mod: 26-Dec-23 at 23:43:32 by Bob Weiner
+;; Last-Mod: 27-Dec-23 at 23:57:10 by Bob Weiner
;;
;; SPDX-License-Identifier: GPL-3.0-or-later
;;
@@ -1241,7 +1241,7 @@ With optional NAME-ARG-FLAG (interactively, the prefix
argument set to
anything other than a single C-u (list 4)), prompt for a name to precede
the implicit button.
-An Assist Mouse Key drag between windows runs this command.
+An Action Mouse Key drag between windows runs this command.
Alternatively, to swap buffers between two windows, Assist Mouse Key
drag from a window to another window's modeline."
(interactive (progn
diff --git a/man/hkey-help.txt b/man/hkey-help.txt
index bac0b5aef9..a9371c9c62 100644
--- a/man/hkey-help.txt
+++ b/man/hkey-help.txt
@@ -53,7 +53,7 @@ Mouse-only Control
but/buffer/file menu item Displays ref/buffer/file <- same
in window of button release
buffer/file menu 1st line Moves buffer/file menu <- same
- anywhere else Creates an ebut link Creates an ibut link
+ anywhere else Creates an ibut link Creates an ebut link
Drag outside of Emacs from:
but/buffer/file menu item Displays ref/buffer/file Moves window to new
frame
diff --git a/man/hyperbole.html b/man/hyperbole.html
index 1b83abf2bf..a9e9cc8ec3 100644
--- a/man/hyperbole.html
+++ b/man/hyperbole.html
@@ -382,7 +382,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
<PRE>
Edition 9.0.0
-Printed December 26, 2023.
+Printed December 28, 2023.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -1154,12 +1154,13 @@ window’s buffer by pressing <kbd>{C-h h e
l}</kbd>.
<dt><em>Implicit buttons</em></dt>
<dd><p>are patterns automatically recognized within existing text that perform
actions, e.g. bug#24568 displays the bug status information for that Emacs
-bug number, without the need for any additional markup.
+bug number, without the need for any additional markup. Implicit link
+buttons can be added to documents with a simple drag between windows too.
</p>
-<p>With two windows on screen, an implicit link button can be created at point
-in the current buffer linking to the position in the other window’s
buffer by
-pressing <kbd>{C-h h i l}</kbd>. Use <kbd>{C-u C-h h i l}</kbd> instead to be
prompted
-for a name for the implicit button.
+<p>Or from the keyboard, With two windows on screen, an implicit link button
+can be created at point in the current buffer linking to the position in
+the other window’s buffer by pressing <kbd>{C-h h i l}</kbd>. Use
<kbd>{M-1
+C-h h i l}</kbd> instead to be prompted for a name for the implicit button.
</p>
</dd>
<dt><em>Global buttons</em></dt>
@@ -1186,7 +1187,9 @@ Assist Key, that perform an extensive array of
context-sensitive operations
across emacs usage, including activating and showing help for Hyperbole
buttons. In many popular Emacs modes, they allow you to perform common,
sometimes complex operations without having to use a different key for each
-operation. Just press a Smart Key and the right thing happens. See <a
href="#Smart-Keys">Smart Keys</a>.
+operation. Just press a Smart Key and the right thing happens. The
+mouse versions of these keys additionally allow for drag actions. We
+call these the Action Mouse and Action Assist keys or buttons. See <a
href="#Smart-Keys">Smart Keys</a>.
</p>
</dd>
<dt><em>HyRolo</em></dt>
@@ -1683,7 +1686,7 @@ Mouse-only Control
but/buffer/file menu item Displays ref/buffer/file <- same
in window of button release
buffer/file menu 1st line Moves buffer/file menu <- same
- anywhere else Creates an ebut link Creates an ibut link
+ anywhere else Creates an ibut link Creates an ebut link
Drag outside of Emacs from:
but/buffer/file menu item Displays ref/buffer/file Moves window to new
frame
@@ -2426,12 +2429,12 @@ Previous: <a href="#Displaying-Items" accesskey="p"
rel="prev">Displaying Items<
<p>If you run Emacs under a window system and there is no prior key binding
on <kbd>{M-o}</kbd> when you load Hyperbole, then many Action Key drags can be
emulated from the keyboard. To do so, press <kbd>{M-o}</kbd>, the
-<code>hkey-operate</code> command, at the button source location, move
-to the link destination, e.g. with <kbd>{C-x o}</kbd>, and then press
-<kbd>{M-o}</kbd> again. This simulates a depress and release of the
-Action Key. <kbd>{C-u M-o}</kbd> emulates drags of the Assist Key.
-This will not work when Hyperbole is run from a dumb terminal Emacs
-session since drag actions are not supported without a window system.
+<code>hkey-operate</code> command, at the button source location, move to the
+link destination, e.g. with <kbd>{C-x o}</kbd>, and then press <kbd>{M-o}</kbd>
+again. This simulates a depress and release of the Action Key.
+<kbd>{C-u M-o}</kbd> emulates drags of the Assist Key. This will not work when
+Hyperbole is run from a dumb terminal Emacs session since drag actions
+are not supported without a window system.
</p>
<a name="index-ace_002dwindow-1"></a>
<a name="index-hkey_002dace_002dwindow_002dsetup"></a>
@@ -2443,19 +2446,20 @@ session since drag actions are not supported without a
window system.
use the Emacs package <code>ace-window</code>
(see <a
href="https://elpa.gnu.org/packages/ace-window.html">https://elpa.gnu.org/packages/ace-window.html</a>).
</p>
-<p>The ace-window package assigns short letter IDs to each Emacs window and
lets
-you jump to or operate upon a specific window by giving its ID. Hyperbole can
-add commands to ace-window that replace the two-step drag emulation key
-described above with a single key sequence that does not require moving to
-the drag target window since it is specified by ID as part of the command.
-</p>
-<p>To enable this feature, in your Emacs initialization file after
-Hyperbole is initialized, if you do not have a key bound for
-<code>ace-window</code>, then call: <code>(hkey-ace-window-setup
\"\M-o\")</code>
-to bind it to <kbd>{M-o}</kbd>, replacing Hyperbole’s
-default <code>hkey-operate</code> command there (because ace-window can emulate
-the drags performed by <code>hkey-operate</code>). If you already have a key
bound
-for <code>ace-window</code>, then just ensure it is initialized by calling
+<p>The <em>ace-window</em> package assigns short letter IDs to each Emacs
+window and lets you jump to or operate upon a specific window by giving
+its ID. Hyperbole can add commands to ace-window that replace the
+two-step drag emulation key described above with a single key sequence
+that does not require moving to the drag target window since it is
+specified by ID as part of the command.
+</p>
+<p>To enable this feature, in your Emacs initialization file after Hyperbole
+is initialized, if you do not have a key bound for <code>ace-window</code>,
+then call: <code>(hkey-ace-window-setup \"\M-o\")</code> to bind it
to
+<kbd>{M-o}</kbd>, replacing Hyperbole’s default
<code>hkey-operate</code> command
+there (because ace-window can emulate the drags performed by
+<code>hkey-operate</code>). If you already have a key bound for
+<code>ace-window</code>, then just ensure it is initialized by calling
<code>(hkey-ace-window-setup)</code> without a key argument.
</p>
<a name="index-M_002do-i-_003cwindow_002did_003e"></a>
@@ -2484,24 +2488,28 @@ selected window’s buffer with that of another
window, use <kbd>{M-o m
<id-of-window-to-swap-with>}</kbd>.
</p>
<a name="index-M_002do-w-_003cwindow_002did_003e"></a>
+<a name="index-M_002d1-M_002do-w-_003cwindow_002did_003e"></a>
<a name="index-create-link-button"></a>
<a name="index-link-button"></a>
-<a name="index-hui_003aebut_002dlink_002ddirectly"></a>
-<p>And finally, to create an explicit link between the selected window
-and another window, use <kbd>{M-o w <id-of-referent-window>}</kbd>.
-<code>hui:ebut-link-directly</code> determines the link type by using
-the referent context.
+<a name="index-hui_003aibut_002dlink_002ddirectly"></a>
+<p>And finally, to create a new, <em>unnamed</em> implicit link in the
+selected window that refers to the location in the other window, use
+<kbd>{M-o w <referent-window-id>}</kbd>. This executes
<code>hui:ibut-link-directly</code>
+which determines the link type by using the referent context. To create
+a <em>named</em> implicit link button in the selected window, use
+<kbd>{M-1 M-o w <window>}</kbd>. It prompts for the name and then links
to
+the referent window location. If you highlight a region
+before invoking this, Hyperbole will use that as the name for the
+implicit button.
</p>
-
<a name="index-C_002du-M_002do-w-_003cwindow_002did_003e"></a>
-<a name="index-M_002d1-M_002do-w-_003cwindow_002did_003e"></a>
-<a name="index-hui_003aibut_002dlink_002ddirectly"></a>
-<p><kbd>{C-u M-o w <window>}</kbd> creates a new, <em>unnamed</em>
implicit
-button in the selected (current) window that links to point in the
-referent <window>. <code>hui:ibut-link-directly</code> determines the
link
-type by using the referent context. <kbd>{M-1 M-o w <window>}</kbd>
creates
-a new, <em>named</em> implicit button in the selected (current) window
-that links to point in the referent <window>.
+<a name="index-hui_003aebut_002dlink_002ddirectly"></a>
+<p>To create an explicit button the same way, use <kbd>{C-u M-o w
+<window-id>}</kbd>. This executes <code>hui:ebut-link-directly</code>,
prompts for
+any needed arguments, determines the link type by using the referent
+context and then creates the explicit button. If you highlight a region
+before invoking this, Hyperbole will use that as the name for the
+explicit button.
</p>
<a name="index-M_002do-t-_003cwindow_002did_003e"></a>
<a name="index-item-throw"></a>
@@ -2537,18 +2545,20 @@ trigger an error
</p>
</dd>
<dt>M-o w <window></dt>
-<dd><p>window link, create a new <em>explicit button</em> in the selected
+<dd><p>window link, create a new <em>unnamed implicit button</em> in the
selected
(current) window, linking to point in the referent <window>.
</p>
</dd>
-<dt>C-u M-o w <window></dt>
-<dd><p>window link, create a new, <em>unnamed implicit button</em> in the
-selected (current) window, linking to point in the referent <window>.
+<dt>M-1 M-o w <window></dt>
+<dd><p>window link, create a new <em>named implicit button</em> in the selected
+(current) window, linking to point in the referent <window>. Use region,
+if any, as the button name.
</p>
</dd>
-<dt>M-1 M-o w <window></dt>
-<dd><p>window link, create a new, <em>named implicit button</em> in the
-selected (current) window, linking to point in the referent <window>.
+<dt>C-u M-o w <window></dt>
+<dd><p>window link, create a new <em>explicit button</em> in the selected
+(current) window, linking to point in the referent <window>. Use region,
+if any, as the button name.
</p></dd>
</dl>
@@ -11432,8 +11442,8 @@ Next: <a href="#Smart-Mouse-Drags-within-a-Window"
accesskey="n" rel="next">Smar
See <code>hmouse-drag-item-mode-forms</code> for how to allow for
draggable
items in other modes.
(2) Otherwise, creates a new link button at the drag start location,
- linked to the drag end location. Action Key creates an explicit
button;
- Assist Key creates an implicit button.
+ linked to the drag end location. Action Key creates an ixplicit
button;
+ Assist Key creates an emplicit button.
In Hyperbole versions prior to 9, Assist Key drags between windows
would
swap buffers. In version 9 and above, start or end the drag between
diff --git a/man/hyperbole.info b/man/hyperbole.info
index bee0e06c60..762f3af51d 100644
Binary files a/man/hyperbole.info and b/man/hyperbole.info differ
diff --git a/man/hyperbole.pdf b/man/hyperbole.pdf
index 8ce9cace0f..418e5bab13 100644
Binary files a/man/hyperbole.pdf and b/man/hyperbole.pdf differ
diff --git a/man/hyperbole.texi b/man/hyperbole.texi
index 1c763c438c..6b89e52a1e 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: 26-Dec-23 at 20:39:20 by Bob Weiner
+@c Last-Mod: 28-Dec-23 at 00:49:57 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 9.0.0
-Printed December 26, 2023.
+Printed December 28, 2023.
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -198,7 +198,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@example
Edition 9.0.0
-December 26, 2023
+December 28, 2023
Published by the Free Software Foundation, Inc.
Author: Bob Weiner
@@ -750,12 +750,13 @@ window's buffer by pressing @bkbd{C-h h e l}.
@item Implicit buttons
are patterns automatically recognized within existing text that perform
actions, e.g. bug#24568 displays the bug status information for that Emacs
-bug number, without the need for any additional markup.
+bug number, without the need for any additional markup. Implicit link
+buttons can be added to documents with a simple drag between windows too.
-With two windows on screen, an implicit link button can be created at point
-in the current buffer linking to the position in the other window's buffer by
-pressing @bkbd{C-h h i l}. Use @bkbd{C-u C-h h i l} instead to be prompted
-for a name for the implicit button.
+Or from the keyboard, With two windows on screen, an implicit link button
+can be created at point in the current buffer linking to the position in
+the other window's buffer by pressing @bkbd{C-h h i l}. Use @bkbd{M-1
+C-h h i l} instead to be prompted for a name for the implicit button.
@item Global buttons
are buttons that are activated by name from anywhere within Emacs. They may
@@ -781,7 +782,9 @@ Assist Key, that perform an extensive array of
context-sensitive operations
across emacs usage, including activating and showing help for Hyperbole
buttons. In many popular Emacs modes, they allow you to perform common,
sometimes complex operations without having to use a different key for each
-operation. Just press a Smart Key and the right thing happens. @xref{Smart
+operation. Just press a Smart Key and the right thing happens. The
+mouse versions of these keys additionally allow for drag actions. We
+call these the Action Mouse and Action Assist keys or buttons. @xref{Smart
Keys}.
@item HyRolo
@@ -1757,12 +1760,12 @@ the destination (swapping buffers), just as it does
with other buffers.
If you run Emacs under a window system and there is no prior key binding
on @bkbd{M-o} when you load Hyperbole, then many Action Key drags can be
emulated from the keyboard. To do so, press @bkbd{M-o}, the
-@code{hkey-operate} command, at the button source location, move
-to the link destination, e.g.@: with @bkbd{C-x o}, and then press
-@bkbd{M-o} again. This simulates a depress and release of the
-Action Key. @bkbd{C-u M-o} emulates drags of the Assist Key.
-This will not work when Hyperbole is run from a dumb terminal Emacs
-session since drag actions are not supported without a window system.
+@code{hkey-operate} command, at the button source location, move to the
+link destination, e.g.@: with @bkbd{C-x o}, and then press @bkbd{M-o}
+again. This simulates a depress and release of the Action Key.
+@bkbd{C-u M-o} emulates drags of the Assist Key. This will not work when
+Hyperbole is run from a dumb terminal Emacs session since drag actions
+are not supported without a window system.
@findex ace-window
@findex hkey-ace-window-setup
@@ -1774,19 +1777,20 @@ For even faster keyboard-based display of items and
drag emulations,
use the Emacs package @code{ace-window}
(see @url{https://elpa.gnu.org/packages/ace-window.html}).
-The ace-window package assigns short letter IDs to each Emacs window and lets
-you jump to or operate upon a specific window by giving its ID. Hyperbole can
-add commands to ace-window that replace the two-step drag emulation key
-described above with a single key sequence that does not require moving to
-the drag target window since it is specified by ID as part of the command.
-
-To enable this feature, in your Emacs initialization file after
-Hyperbole is initialized, if you do not have a key bound for
-@code{ace-window}, then call: @code{(hkey-ace-window-setup \"\M-o\")}
-to bind it to @bkbd{M-o}, replacing Hyperbole's
-default @code{hkey-operate} command there (because ace-window can emulate
-the drags performed by @code{hkey-operate}). If you already have a key bound
-for @code{ace-window}, then just ensure it is initialized by calling
+The @dfn{ace-window} package assigns short letter IDs to each Emacs
+window and lets you jump to or operate upon a specific window by giving
+its ID. Hyperbole can add commands to ace-window that replace the
+two-step drag emulation key described above with a single key sequence
+that does not require moving to the drag target window since it is
+specified by ID as part of the command.
+
+To enable this feature, in your Emacs initialization file after Hyperbole
+is initialized, if you do not have a key bound for @code{ace-window},
+then call: @code{(hkey-ace-window-setup \"\M-o\")} to bind it to
+@bkbd{M-o}, replacing Hyperbole's default @code{hkey-operate} command
+there (because ace-window can emulate the drags performed by
+@code{hkey-operate}). If you already have a key bound for
+@code{ace-window}, then just ensure it is initialized by calling
@code{(hkey-ace-window-setup)} without a key argument.
@kindex M-o i <window-id>
@@ -1815,24 +1819,28 @@ selected window's buffer with that of another window,
use @bkbd{M-o m
<id-of-window-to-swap-with>}.
@kindex M-o w <window-id>
+@kindex M-1 M-o w <window-id>
@cindex create link button
@cindex link button
-@findex hui:ebut-link-directly
-And finally, to create an explicit link between the selected window
-and another window, use @bkbd{M-o w <id-of-referent-window>}.
-@code{hui:ebut-link-directly} determines the link type by using
-the referent context.
-
+@findex hui:ibut-link-directly
+And finally, to create a new, @emph{unnamed} implicit link in the
+selected window that refers to the location in the other window, use
+@bkbd{M-o w <referent-window-id>}. This executes @code{hui:ibut-link-directly}
+which determines the link type by using the referent context. To create
+a @emph{named} implicit link button in the selected window, use
+@bkbd{M-1 M-o w <window>}. It prompts for the name and then links to
+the referent window location. If you highlight a region
+before invoking this, Hyperbole will use that as the name for the
+implicit button.
@kindex C-u M-o w <window-id>
-@kindex M-1 M-o w <window-id>
-@findex hui:ibut-link-directly
-@bkbd{C-u M-o w <window>} creates a new, @emph{unnamed} implicit
-button in the selected (current) window that links to point in the
-referent <window>. @code{hui:ibut-link-directly} determines the link
-type by using the referent context. @bkbd{M-1 M-o w <window>} creates
-a new, @emph{named} implicit button in the selected (current) window
-that links to point in the referent <window>.
+@findex hui:ebut-link-directly
+To create an explicit button the same way, use @bkbd{C-u M-o w
+<window-id>}. This executes @code{hui:ebut-link-directly}, prompts for
+any needed arguments, determines the link type by using the referent
+context and then creates the explicit button. If you highlight a region
+before invoking this, Hyperbole will use that as the name for the
+explicit button.
@kindex M-o t <window-id>
@cindex item throw
@@ -1865,16 +1873,18 @@ replace the selected (current) window's buffer with
that of <window>
throw region, listing item at point, or current buffer to <window>
@item M-o w <window>
-window link, create a new @emph{explicit button} in the selected
+window link, create a new @emph{unnamed implicit button} in the selected
(current) window, linking to point in the referent <window>.
-@item C-u M-o w <window>
-window link, create a new, @emph{unnamed implicit button} in the
-selected (current) window, linking to point in the referent <window>.
-
@item M-1 M-o w <window>
-window link, create a new, @emph{named implicit button} in the
-selected (current) window, linking to point in the referent <window>.
+window link, create a new @emph{named implicit button} in the selected
+(current) window, linking to point in the referent <window>. Use region,
+if any, as the button name.
+
+@item C-u M-o w <window>
+window link, create a new @emph{explicit button} in the selected
+(current) window, linking to point in the referent <window>. Use region,
+if any, as the button name.
@end table
@c -------
@@ -9674,8 +9684,8 @@ Otherwise, if dragged from inside one window to another:
See @code{hmouse-drag-item-mode-forms} for how to allow for draggable
items in other modes.
(2) Otherwise, creates a new link button at the drag start location,
- linked to the drag end location. Action Key creates an explicit
button;
- Assist Key creates an implicit button.
+ linked to the drag end location. Action Key creates an ixplicit
button;
+ Assist Key creates an emplicit button.
In Hyperbole versions prior to 9, Assist Key drags between windows
would
swap buffers. In version 9 and above, start or end the drag between
- [elpa] externals/hyperbole bc0c5b9086 044/143: HyRolo - if hyrolo-file-list is set on load, initialize its cache, (continued)
- [elpa] externals/hyperbole bc0c5b9086 044/143: HyRolo - if hyrolo-file-list is set on load, initialize its cache, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 1f45b45af9 047/143: Add hyrolo-get-file-list tests, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 38110ee8f7 065/143: Makefile - Change running of ert tests from interactively to batch, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 407114d7f3 070/143: Run tests in batch mode specified by selector, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 926f8a02fd 010/143: Fix many hyrolo multi-file-format issues; fix hywconfig by name, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 027eb85174 014/143: Merge matsl-rsw-hpath-expand' into rsw, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole a7a5723712 015/143: Fix 'hpath--expand-list-match-regexp' test., ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 54d7ae565a 020/143: Complete test suite for hui:link-possible-types, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 12950cd2db 029/143: Matsl rsw fix failing tests (#424), ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 98edfae8d1 021/143: Fix test with link-to-string-match since bug is fixed, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 966605b7a3 028/143: hkey-window-link, {M-o w} - invert the meaning of prefix arg,
ELPA Syncer <=
- [elpa] externals/hyperbole 7adb441c0e 036/143: kotl-mode - fix kill and yank commands not moving to valid pos first, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 2187b3522b 049/143: Add test for hiding and showing, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole e995fc8905 050/143: Add test for moving between two sections, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 7657601745 043/143: hyrolo-mode-map - bind {n} and {C-c C-n} to the same command, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole e67d0f733f 058/143: Fix edebugging of tests that have not been previously defined, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole fc6df9d652 056/143: Merge remote branch 'rsw' into rsw, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole acec506a2c 061/143: Require hbut so defib is defined, needed for compiling (#430), ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 12e714d824 072/143: Move xref extensions to new "hsys-xref.el". Add ibut API extensions, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole a08fd67af3 057/143: Merge pull request #427 from rswgnu/matsl-rsw-add-hyrolo-tests, ELPA Syncer, 2024/02/19
- [elpa] externals/hyperbole 29dda66c3e 059/143: Merge remote branch 'rsw' of hyperbole into rsw, ELPA Syncer, 2024/02/19