branch: externals/transient
commit 323d6b6c84e6ae55e578efa1efb6bb4d42a69cac
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>
manual: Document when to invoke prefix arguments
---
docs/transient.org | 31 ++++++++++++++++++++++-------
docs/transient.texi | 56 +++++++++++++++++++++++------------------------------
2 files changed, 48 insertions(+), 39 deletions(-)
diff --git a/docs/transient.org b/docs/transient.org
index b1c71e94b3..02389c83c2 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -142,13 +142,13 @@ When using Transient, one can call a command with
arguments that are
just as complex as when calling the same function non-interactively
from Lisp.
-Invoking a transient command with arguments is similar to invoking a
-command in a shell with command-line completion and history enabled.
-One benefit of the Transient interface is that it remembers history
-not only on a global level (“this command was invoked using these
-arguments, and previously it was invoked using those other arguments”),
-but also remembers the values of individual arguments independently.
-See [[*Using History]].
+Invoking a transient suffix command with arguments is similar to
+invoking a command in a shell with command-line completion and history
+enabled. One benefit of the Transient interface is that it remembers
+history not only on a global level (“this command was invoked using
+these arguments, and previously it was invoked using those other
+arguments”), but also remembers the values of individual arguments
+independently. See [[*Using History]].
After a transient prefix command is invoked, {{{kbdvar(C-h <KEY>)}}} can be
used to
show the documentation for the infix or suffix command that {{{var(KEY)}}} is
@@ -164,6 +164,23 @@ Additionally, Transient provides abstractions for defining
new types,
which the author of Transient did not anticipate (or didn't get around
to implementing yet).
+Note that suffix commands also support regular prefix arguments. A
+suffix command may even be called with both infix and prefix arguments
+at the same time. If you invoke a command as a suffix of a transient
+prefix command, but also want to pass prefix arguments to it, then
+first invoke the prefix command, and only after doing that invoke the
+prefix arguments, before finally invoking the suffix command. If you
+instead began by providing the prefix arguments, then those would
+apply to the prefix command, not the suffix command. Likewise, if you
+want to change infix arguments before invoking a suffix command with
+prefix arguments, then change the infix arguments before invoking the
+prefix arguments. In other words, regular prefix arguments always
+apply to the next command, and since transient prefix, infix and
+suffix commands are just regular commands, the same applies to them.
+(Regular prefix keys behave differently because they are not commands
+at all, instead they are just incomplete key sequences, and those
+cannot be interrupted with prefix commands.)
+
* Usage
** Invoking Transients
#+cindex: invoking transients
diff --git a/docs/transient.texi b/docs/transient.texi
index 3aef6d7352..7d8bce0875 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -248,13 +248,13 @@ When using Transient, one can call a command with
arguments that are
just as complex as when calling the same function non-interactively
from Lisp.
-Invoking a transient command with arguments is similar to invoking a
-command in a shell with command-line completion and history enabled.
-One benefit of the Transient interface is that it remembers history
-not only on a global level (“this command was invoked using these
-arguments, and previously it was invoked using those other arguments”),
-but also remembers the values of individual arguments independently.
-See @ref{Using History}.
+Invoking a transient suffix command with arguments is similar to
+invoking a command in a shell with command-line completion and history
+enabled. One benefit of the Transient interface is that it remembers
+history not only on a global level (“this command was invoked using
+these arguments, and previously it was invoked using those other
+arguments”), but also remembers the values of individual arguments
+independently. See @ref{Using History}.
After a transient prefix command is invoked, @kbd{C-h @var{KEY}} can be used to
show the documentation for the infix or suffix command that @var{KEY} is
@@ -270,21 +270,26 @@ Additionally, Transient provides abstractions for
defining new types,
which the author of Transient did not anticipate (or didn't get around
to implementing yet).
+Note that suffix commands also support regular prefix arguments. A
+suffix command may even be called with both infix and prefix arguments
+at the same time. If you invoke a command as a suffix of a transient
+prefix command, but also want to pass prefix arguments to it, then
+first invoke the prefix command, and only after doing that invoke the
+prefix arguments, before finally invoking the suffix command. If you
+instead began by providing the prefix arguments, then those would
+apply to the prefix command, not the suffix command. Likewise, if you
+want to change infix arguments before invoking a suffix command with
+prefix arguments, then change the infix arguments before invoking the
+prefix arguments. In other words, regular prefix arguments always
+apply to the next command, and since transient prefix, infix and
+suffix commands are just regular commands, the same applies to them.
+(Regular prefix keys behave differently because they are not commands
+at all, instead they are just incomplete key sequences, and those
+cannot be interrupted with prefix commands.)
+
@node Usage
@chapter Usage
-@menu
-* Invoking Transients::
-* Aborting and Resuming Transients::
-* Common Suffix Commands::
-* Saving Values::
-* Using History::
-* Getting Help for Suffix Commands::
-* Enabling and Disabling Suffixes::
-* Other Commands::
-* Configuration::
-@end menu
-
@node Invoking Transients
@section Invoking Transients
@@ -995,14 +1000,6 @@ signal an error.
@node Defining New Commands
@chapter Defining New Commands
-@menu
-* Defining Transients::
-* Binding Suffix and Infix Commands::
-* Defining Suffix and Infix Commands::
-* Using Infix Arguments::
-* Transient State::
-@end menu
-
@node Defining Transients
@section Defining Transients
@@ -2225,11 +2222,6 @@ See @ref{Enabling and Disabling Suffixes}.
@node Related Abstractions and Packages
@chapter Related Abstractions and Packages
-@menu
-* Comparison With Prefix Keys and Prefix Arguments::
-* Comparison With Other Packages::
-@end menu
-
@node Comparison With Prefix Keys and Prefix Arguments
@section Comparison With Prefix Keys and Prefix Arguments