aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-11-22 16:59:07 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-11-23 02:33:49 +0300
commit1cfe37610253c20a4fcb0d937c29e70894ecc4f5 (patch)
treeac05844c25fc0918e8fd451d8912fd7f1964acb7 /doc
parent07b52f78680858683acb4e40b158f8926285cae4 (diff)
downloadsciteco-1cfe37610253c20a4fcb0d937c29e70894ecc4f5.tar.gz
the search mode and current radix are mapped to __local__ Q-Registers ^X and ^R now (refs #17)
* This way the search mode and radix are local to the current macro frame, unless the macro was invoked with :Mq. If colon-modified, you can reproduce the same effect by calling [.^X 0^X ... ].^X * The radix register is cached in the Q-Reg table as an optimization. This could be done with the other "special" registers as well, but at the cost of larger stack frames. * In order to allow constructs like [.^X typed with upcarets, the Q-Register specification syntax has been extended: ^c is the corresponding control code instead of the register "^".
Diffstat (limited to 'doc')
-rw-r--r--doc/sciteco.7.template29
1 files changed, 28 insertions, 1 deletions
diff --git a/doc/sciteco.7.template b/doc/sciteco.7.template
index 15247a5..8ded77c 100644
--- a/doc/sciteco.7.template
+++ b/doc/sciteco.7.template
@@ -1417,7 +1417,7 @@ textual and numeric cells \(em they overwrite default operations
with custom side-effects in order to support unique idioms.
Some of the registers with special significance are initialized
by \*(ST while others must be manually defined.
-The following list is an overview of all special global registers:
+The following list is an overview of all special \fIglobal\fP registers:
.TP 2
.SCITECO_TOPIC "search condition"
.BR _ " (underscore)"
@@ -1583,6 +1583,24 @@ in the \fBED\fP flags (see subsection \fBBuffer Editing Hooks\fP).
The numeric part of register \fBED\fP is currently unused and
the register is not automatically initialized on startup.
.LP
+Furthermore, \*(ST supports special local Q-Registers.
+The values of these properties will therefore be known at the beginning
+of macro calls (unless these calls are colon-modified).
+The following list is an overview of all special \fIlocal\fP registers:
+.TP 2
+.BR ^R " (CTRL+R)"
+The current radix as reported and configurable with the
+\fB^R\fP, \fB^O\fP and \fB^D\fP commands (10 by default).
+The string part of this register is currently unused.
+.TP
+.BR ^X " (CTRL+X)"
+The current search mode flag as set and reported by the
+.B ^X
+command.
+The default value of 0 means that searches are always
+case-insensitive at the beginning of macro calls.
+The string part of this register is currently unused.
+.LP
Some commands may create and initialize new registers if
necessary, while it is an error to access undefined registers
for some other commands.
@@ -1602,14 +1620,23 @@ specifications:
.BI . c
Refers to a one character Q-Register.
The one character name is upper-cased.
+All one character names except for \(lq.\(rq, \(lq^\(rq and \(lq#\(rq
+can be referenced this way.
If lead by a dot, the name refers to a local Q-Register,
otherwise to a global one.
.TP
+.BI ^ c
+.TQ
+.BI .^ c
+Refers to a Q-Register, whose name is a single byte control code.
+Those can be typed with upcarets as well.
+.TP
.BI # cc
.TQ
.BI .# cc
Refers to a two character global or local Q-Register whose
name is upper-cased.
+\# FIXME: Space characters could/should be disallowed here.
.TP
.BI [ name ]
.TQ