From e4d5a995a037ae938d08480359a53dc097deec21 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Wed, 30 Nov 2016 19:26:16 +0100 Subject: allow dollar sign as another variant of ^[ (discard all arguments or return) * some classic TECOs have this * just like ^[, dollar works as a command only, not as a string terminator * it improves the readability of macros using printable characters only * it closes a gap in the language by allowing $$ (double-dollar) and ^[$ as printable ways to write the return from macro command. ^[^[ was not and is not possible. * since command line termination is a regular interactive return-command in SciTECO, double-dollar will also terminate the command line now. This will be allowed unless it turns out to be a cause of trouble. * The handling of unterminated commands has been cleaned up by introducing State::end_of_macro(). Most commands (and thus states) except the start state cannot be valid at the end of a macro since this indicates an unterminated/incomplete command. All lookahead-commands (currently only ^[) will end implicitly at the end of a macro and so will need a way to perform their action. The virtual method allows these actions to be defined with the rest of the state's implementation. --- TODO | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'TODO') diff --git a/TODO b/TODO index d9418a6..390c6c5 100644 --- a/TODO +++ b/TODO @@ -160,10 +160,20 @@ Features: between effective and rubbed out command line - without resetting it. This would add another alternative to { and } for fixing up a command line. - * some missing useful VideoTECO/TECO-11 commands: + * some missing useful VideoTECO/TECO-11 commands and unnecessary + incompatibilities: * EF with buffer id * ER command: read file into current buffer at dot * nEW to save a buffer by id + * EI is used to open an indirect macro file in classic TECO. + EM should thus be renamed EI. + EM (position magtape in classic TECO) would be free again, + e.g. for execute macro with string argument or as a special version + of EI that considers $SCITECOPATH. + Current use of EI (insert without string building) will have + to move, e.g. to FI. + * ^S (-(length) of last referenced string), ^Y as .+^S,. + * ^Q convert line arg into character arg * ^A and stdio in general * Buffer ids should be "circular", i.e. interpreted modulo the number of buffers in the ring. This allows "%*" to wrap at the -- cgit v1.2.3