<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco, 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>prepared v2.2.0 release</title>
<updated>2024-12-09T10:47:17+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-09T10:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f70ddf925c98ff5566b990a7b0744d5dab392002'/>
<id>f70ddf925c98ff5566b990a7b0744d5dab392002</id>
<content type='text'>
This release is mainly for the upcoming FreeBSD package.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This release is mainly for the upcoming FreeBSD package.
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed rubbing out file open with glob patterns</title>
<updated>2024-12-08T13:41:34+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-08T13:41:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=3f6572c5b46254002cb1b3fd1001bc28ecc2bb10'/>
<id>3f6572c5b46254002cb1b3fd1001bc28ecc2bb10</id>
<content type='text'>
* This would crash if &lt;EB&gt; opened more than one file, e.g. EB*.c$.
  The reason is that teco_current_doc_undo_edit() must be called before every teco_ring_edit().
* Unfortunately, this is not reproduceable with
  sciteco --no-profile --fake-cmdline '@EB"foo*.txt"{HK}'
  since the crashes actually happen when printing messages in interactive mode.
  That's why no test case has been added.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This would crash if &lt;EB&gt; opened more than one file, e.g. EB*.c$.
  The reason is that teco_current_doc_undo_edit() must be called before every teco_ring_edit().
* Unfortunately, this is not reproduceable with
  sciteco --no-profile --fake-cmdline '@EB"foo*.txt"{HK}'
  since the crashes actually happen when printing messages in interactive mode.
  That's why no test case has been added.
</pre>
</div>
</content>
</entry>
<entry>
<title>implemented the ^Q command for converting between line and glyph positions</title>
<updated>2024-12-08T13:10:29+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-08T02:22:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=bd87ff40e73929e761e1233aa812a6736cacbed1'/>
<id>bd87ff40e73929e761e1233aa812a6736cacbed1</id>
<content type='text'>
* As known from DEC TECO, but extended to convert absolute positions to line numbers as well.
  :^Q returns the current line.
* Especially useful in macros that accept line arguments,
  as it is much shorter than something like
  ^E@ES/LINEFROMPOSITION//+Q.l@ES/POSITIONFROMLINE//:^E-.
* On the other hand, the fact that ^Q checks the line range means we cannot
  easily replace lexer.checkheader with something like
  [:J 0,^Q::S...$ ]:
  Using SCI_POSITIONFROMLINE still has the advantage that it returns `Z` for out-of-bounds ranges
  which would be cumbersome to write with the current ^Q.
* Perhaps there should be a separate command for converting between absolute lines and positions
  and :^Q should be repurposed to return a failure boolean for out-of-range values?
* fnkeys.tes could be simplified.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* As known from DEC TECO, but extended to convert absolute positions to line numbers as well.
  :^Q returns the current line.
* Especially useful in macros that accept line arguments,
  as it is much shorter than something like
  ^E@ES/LINEFROMPOSITION//+Q.l@ES/POSITIONFROMLINE//:^E-.
* On the other hand, the fact that ^Q checks the line range means we cannot
  easily replace lexer.checkheader with something like
  [:J 0,^Q::S...$ ]:
  Using SCI_POSITIONFROMLINE still has the advantage that it returns `Z` for out-of-bounds ranges
  which would be cumbersome to write with the current ^Q.
* Perhaps there should be a separate command for converting between absolute lines and positions
  and :^Q should be repurposed to return a failure boolean for out-of-range values?
* fnkeys.tes could be simplified.
</pre>
</div>
</content>
</entry>
<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>nightly builds: use Mac OS 13 instead of the deprecated version 12</title>
<updated>2024-12-05T17:46:02+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-05T17:46:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c4e73ae7ef24796cf1f24f0c30d93f2ab21a4572'/>
<id>c4e73ae7ef24796cf1f24f0c30d93f2ab21a4572</id>
<content type='text'>
* 13 is now the oldest supported version
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 13 is now the oldest supported version
</pre>
</div>
</content>
</entry>
<entry>
<title>updated NEWS: mention the chatroom poll</title>
<updated>2024-12-05T17:43:43+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-05T17:43:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=3679adc1c1c356a4b3e5e6a742b018b829e2120f'/>
<id>3679adc1c1c356a4b3e5e6a742b018b829e2120f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>use the new ^Y, ^S and @Xq commands in tedoc.tes and string.tes</title>
<updated>2024-12-04T14:36:38+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-04T14:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=a93243ba77edf2f818ca5f2088485fa93bb32149'/>
<id>a93243ba77edf2f818ca5f2088485fa93bb32149</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>implemented ^Y/^S commands for receiving pattern match/insertion ranges and lengths (refs #27)</title>
<updated>2024-12-04T08:43:18+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-03T23:22:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=3a823fb43ba0abe52f3152d337675e9ed9a3f175'/>
<id>3a823fb43ba0abe52f3152d337675e9ed9a3f175</id>
<content type='text'>
* Allows storing pattern matches into Q-Registers (^YXq).
* You can also refer to subpatterns marked by ^E[...] by passing a number &gt; 0.
  This is equivalent to \0-9 references in many programming languages.
* It's especially useful for supporting TECO's equivalent of structural regular expressions.
  This will be done with additional macros.
* You can also simply back up to the beginning of an insertion or search.
  So I...$^SC leaves dot at the beginning of the insertion.
  S...$^SC leaves dot before the found pattern.
  This has been previously requested by users.
* Perhaps there should be ^Y string building characters as well to backreference
  in search-replacement commands (TODO).
  This means that the search commands would have to store the matched text itself
  in teco_range_t structures since FR deletes the matched text before
  processing the replacement string.
  It could also be made into a FR/FS-specific construct,
  so we don't fetch the substrings unnecessarily.
* This differs from DEC TECO in always returning the same range even after dot movements,
  since we are storing start/end byte positions instead of only the length.
  Also DEC TECO does not support fetching subpattern ranges.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Allows storing pattern matches into Q-Registers (^YXq).
* You can also refer to subpatterns marked by ^E[...] by passing a number &gt; 0.
  This is equivalent to \0-9 references in many programming languages.
* It's especially useful for supporting TECO's equivalent of structural regular expressions.
  This will be done with additional macros.
* You can also simply back up to the beginning of an insertion or search.
  So I...$^SC leaves dot at the beginning of the insertion.
  S...$^SC leaves dot before the found pattern.
  This has been previously requested by users.
* Perhaps there should be ^Y string building characters as well to backreference
  in search-replacement commands (TODO).
  This means that the search commands would have to store the matched text itself
  in teco_range_t structures since FR deletes the matched text before
  processing the replacement string.
  It could also be made into a FR/FS-specific construct,
  so we don't fetch the substrings unnecessarily.
* This differs from DEC TECO in always returning the same range even after dot movements,
  since we are storing start/end byte positions instead of only the length.
  Also DEC TECO does not support fetching subpattern ranges.
</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>
</feed>
