<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/doc/sciteco.7.template, branch v2.2.0</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>support the ::S anchored search (string comparison) command (and ::FD, ::FR, ::FS as well)</title>
<updated>2024-12-06T14:20:52+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-06T14:20:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e5884ab2166ab5a03294baa54601b8785e6d9727'/>
<id>e5884ab2166ab5a03294baa54601b8785e6d9727</id>
<content type='text'>
* The colon modifier can now occur 2 times.
  Specifying `@` more than once or `:` more than twice is an error now.
* Commands do not check for excess colon modifiers - almost every command would have
  to check it. Instead, a double colon will simply behave like a single colon on most
  commands.
* All search commands inherit the anchored semantics, but it's not very useful in some combinations
  like -::S, ::N or ::FK.
  That's why the `::` variants are not documented everywhere.
* The lexer.checkheader macro could be simplified and should also be faster now,
  speeding up startup.
  Eventually this macro can be made superfluous, e.g. by using 1:FB or 0,1^Q::S.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* The colon modifier can now occur 2 times.
  Specifying `@` more than once or `:` more than twice is an error now.
* Commands do not check for excess colon modifiers - almost every command would have
  to check it. Instead, a double colon will simply behave like a single colon on most
  commands.
* All search commands inherit the anchored semantics, but it's not very useful in some combinations
  like -::S, ::N or ::FK.
  That's why the `::` variants are not documented everywhere.
* The lexer.checkheader macro could be simplified and should also be faster now,
  speeding up startup.
  Eventually this macro can be made superfluous, e.g. by using 1:FB or 0,1^Q::S.
</pre>
</div>
</content>
</entry>
<entry>
<title>the &lt;Xq&gt; command now supports the @ modifier for cutting into the register</title>
<updated>2024-12-04T13:43:51+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-04T13:43:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=48308687979f26a3498e7af94eacc8fe34307a78'/>
<id>48308687979f26a3498e7af94eacc8fe34307a78</id>
<content type='text'>
* Can be freely combined with the colon-modifier as well.
  :@Xq cut-appends to register q.
* This simply deletes the given buffer range after the copy or append operation
  as if followed by another &lt;K&gt; command.
* This has indeed been a very annoying missing feature, as you often have to retype the
  range for a K or D command.
  At the same time, this cannot be reasonably solved with a macro since macros
  do not accept Q-Register arguments -- so we would have to restrict ourselves to one or a few
  selected registers.
  I was also considering to solve this with a special stack operation that duplicates the
  top values, so that Xq leaves arguments for K, but this couldn't work for cutting lines
  and would also be longer to type.
* It's the first non-string command that accepts @.
  Others may follow in the future.
  We're approaching ITS TECO madness levels.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Can be freely combined with the colon-modifier as well.
  :@Xq cut-appends to register q.
* This simply deletes the given buffer range after the copy or append operation
  as if followed by another &lt;K&gt; command.
* This has indeed been a very annoying missing feature, as you often have to retype the
  range for a K or D command.
  At the same time, this cannot be reasonably solved with a macro since macros
  do not accept Q-Register arguments -- so we would have to restrict ourselves to one or a few
  selected registers.
  I was also considering to solve this with a special stack operation that duplicates the
  top values, so that Xq leaves arguments for K, but this couldn't work for cutting lines
  and would also be longer to type.
* It's the first non-string command that accepts @.
  Others may follow in the future.
  We're approaching ITS TECO madness levels.
</pre>
</div>
</content>
</entry>
<entry>
<title>sciteco(7): fixed outdated information about the STYLE_CALLTIP default colors</title>
<updated>2024-11-30T20:59:25+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-11-30T20:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=11054d94a99e8c11d6010b117c84ee88b4fa1a73'/>
<id>11054d94a99e8c11d6010b117c84ee88b4fa1a73</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>sciteco(7): minor documentation fix</title>
<updated>2024-11-24T03:37:01+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-11-24T03:37:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=726847bdf3250e235c97c451a6ab466b3e9103f2'/>
<id>726847bdf3250e235c97c451a6ab466b3e9103f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>added special Q-Register ":" for accessing dot</title>
<updated>2024-11-24T01:51:34+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-11-24T01:38:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=23c90e37ff48707c4aabdb8b1460df382a600d7a'/>
<id>23c90e37ff48707c4aabdb8b1460df382a600d7a</id>
<content type='text'>
* We cannot call it "." since that introduces a local register
  and we don't want to add an unnecessary syntactic exception.
* Allows the idiom [: ... ]: to temporarily move around.
  Also, you can now write ^E\: without having to store dot in a register first.
* In the future we might add an ^E register as well for byte offsets.
  However, there are much fewer useful applications.
* Of course, you can now also write nU: instead of nJ, Q: instead of "." and
  n%: instead of "nC.". However it's all not really useful.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* We cannot call it "." since that introduces a local register
  and we don't want to add an unnecessary syntactic exception.
* Allows the idiom [: ... ]: to temporarily move around.
  Also, you can now write ^E\: without having to store dot in a register first.
* In the future we might add an ^E register as well for byte offsets.
  However, there are much fewer useful applications.
* Of course, you can now also write nU: instead of nJ, Q: instead of "." and
  n%: instead of "nC.". However it's all not really useful.
</pre>
</div>
</content>
</entry>
<entry>
<title>the search mode and current radix are mapped to __local__ Q-Registers ^X and ^R now (refs #17)</title>
<updated>2024-11-22T23:33:49+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-11-22T13:59:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=1cfe37610253c20a4fcb0d937c29e70894ecc4f5'/>
<id>1cfe37610253c20a4fcb0d937c29e70894ecc4f5</id>
<content type='text'>
* 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 "^".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 "^".
</pre>
</div>
</content>
</entry>
<entry>
<title>minor documentation fixes</title>
<updated>2024-11-19T11:32:21+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-11-19T11:32:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=9610dceb6527fcf43e0997c53e8dcf7186721e1a'/>
<id>9610dceb6527fcf43e0997c53e8dcf7186721e1a</id>
<content type='text'>
* also explicitly mention -%q
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* also explicitly mention -%q
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed some common typos: "ie." and "eg.", "ocur" instead of "occur"</title>
<updated>2024-11-18T13:30:59+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-11-18T13:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=52d66c5783d39a23027102c3087eac8ef1c0f02f'/>
<id>52d66c5783d39a23027102c3087eac8ef1c0f02f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>pattern match characters support ^Q/^R now as well</title>
<updated>2024-10-04T19:41:16+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-10-04T19:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=b36ff2502ae3b0e18fa862a01fba9cc2c9067e31'/>
<id>b36ff2502ae3b0e18fa862a01fba9cc2c9067e31</id>
<content type='text'>
* makes it possible, albeit cumbersome, to escape pattern match characters
* For instance, to search for ^Q, you now have to type
  S^Q^Q^Q^Q$.
  To search for ^E you have to type
  S^Q^Q^Q^E$.
  But the last character cannot be typed with carets currently (FIXME?).
  For pattern-only characters, two ^Q should be sufficient as in
  S^Q^Q^X$.
* Perhaps it would be more elegant to abolish the difference between string building
  and pattern matching characters to avoid double quoting.
  But then all string building constructs like ^EQq should operate at the pattern level
  as well (ie. match the contents of register q verbatim instead of being interpreted as a pattern).
  TECOC and TECO-64 don't do that either.
  If we leave everything as it is, at least a new string building construct should be added for
  auto-quoting patterns (analoguous to ^EN and ^E@).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* makes it possible, albeit cumbersome, to escape pattern match characters
* For instance, to search for ^Q, you now have to type
  S^Q^Q^Q^Q$.
  To search for ^E you have to type
  S^Q^Q^Q^E$.
  But the last character cannot be typed with carets currently (FIXME?).
  For pattern-only characters, two ^Q should be sufficient as in
  S^Q^Q^X$.
* Perhaps it would be more elegant to abolish the difference between string building
  and pattern matching characters to avoid double quoting.
  But then all string building constructs like ^EQq should operate at the pattern level
  as well (ie. match the contents of register q verbatim instead of being interpreted as a pattern).
  TECOC and TECO-64 don't do that either.
  If we leave everything as it is, at least a new string building construct should be added for
  auto-quoting patterns (analoguous to ^EN and ^E@).
</pre>
</div>
</content>
</entry>
<entry>
<title>inhibit some immediate editing commands after ^Q/^R string building constructs</title>
<updated>2024-09-25T11:56:20+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-09-25T11:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=dcaeb77ef2c5fad1810d242d7a96669e33c4b082'/>
<id>dcaeb77ef2c5fad1810d242d7a96669e33c4b082</id>
<content type='text'>
* This allows you to type ^Q^U (which would otherwise rub out the entire argument)
  and ^Q^W (which would otherwise rub out the ^Q).
* ^Q^U coincidentally worked previously since the teco_state_stringbuilding_escaped
  state would default to teco_state_process_edit_cmd().
  But it's better to make this feauture explicit.
* This finally makes it possible to insert the ^W (23) char into a buffer.
  In interactive mode, you can still only type Caret+W as a string building construct.
* ^G could also be inhibited after ^Q, but the control char is not used anywhere yet,
  so there is no point in doing that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This allows you to type ^Q^U (which would otherwise rub out the entire argument)
  and ^Q^W (which would otherwise rub out the ^Q).
* ^Q^U coincidentally worked previously since the teco_state_stringbuilding_escaped
  state would default to teco_state_process_edit_cmd().
  But it's better to make this feauture explicit.
* This finally makes it possible to insert the ^W (23) char into a buffer.
  In interactive mode, you can still only type Caret+W as a string building construct.
* ^G could also be inhibited after ^Q, but the control char is not used anywhere yet,
  so there is no point in doing that.
</pre>
</div>
</content>
</entry>
</feed>
