diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2024-11-22 16:59:07 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2024-11-23 02:33:49 +0300 |
commit | 1cfe37610253c20a4fcb0d937c29e70894ecc4f5 (patch) | |
tree | ac05844c25fc0918e8fd451d8912fd7f1964acb7 /doc | |
parent | 07b52f78680858683acb4e40b158f8926285cae4 (diff) | |
download | sciteco-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.template | 29 |
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 |