<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/tests/atlocal.in, branch v2.5.2</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>Haiku is officially supported again from now on</title>
<updated>2026-01-09T11:07:54+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-01-09T11:07:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=acc6f6e83b9cabdc78b6a4f331c510c69e5ff757'/>
<id>acc6f6e83b9cabdc78b6a4f331c510c69e5ff757</id>
<content type='text'>
* Turns out that it works perfectly with the default --enable-malloc-replacement
  as malloc() is replaced globally.
* Added note to configure.ac that malloc() replacement may be useful on platforms
  without a global symbol namespace - you just have to link statically (--enable-static-executables)
  as well.
  This wasn't necessary on Haiku, though.
* Only the test suite required a minor fix since Haiku doesn't support `ulimit`.
* The Gtk interface is broken though on Haiku: You cannot type dead keys,
  Ctrl and AltGr combinations.
  Doesn't appear to be SciTECO-specific though. The libraries simply doesn't
  report modifiers. Appears to be a bug in Haiku's GTK 3 port,
  at least in their Beta5 branch. It can be reproduced with gtk-demo as well.
* This opens the door for contributing a port into HaikuPorts.
  This will probably be Curses-only for the time being (see above).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Turns out that it works perfectly with the default --enable-malloc-replacement
  as malloc() is replaced globally.
* Added note to configure.ac that malloc() replacement may be useful on platforms
  without a global symbol namespace - you just have to link statically (--enable-static-executables)
  as well.
  This wasn't necessary on Haiku, though.
* Only the test suite required a minor fix since Haiku doesn't support `ulimit`.
* The Gtk interface is broken though on Haiku: You cannot type dead keys,
  Ctrl and AltGr combinations.
  Doesn't appear to be SciTECO-specific though. The libraries simply doesn't
  report modifiers. Appears to be a bug in Haiku's GTK 3 port,
  at least in their Beta5 branch. It can be reproduced with gtk-demo as well.
* This opens the door for contributing a port into HaikuPorts.
  This will probably be Curses-only for the time being (see above).
</pre>
</div>
</content>
</entry>
<entry>
<title>./configure --with-launcher=LAUNCHER can be used to run SciTECO with a launcher command (e.g. wine or wine64)</title>
<updated>2025-09-24T00:13:40+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2025-09-24T00:13:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=8159f5930df5cc8bde25c69e064a203dcbfdd6bf'/>
<id>8159f5930df5cc8bde25c69e064a203dcbfdd6bf</id>
<content type='text'>
* This can be used for bootstrapping Windows binaries cross-compiled on FreeBSD or Linux
  without requiring a native build to be installed first.
  It will also allow running the test suite under Wine.
  While Linux allows registering Wine as the launcher via binfmt_misc,
  on FreeBSD we have no choice than to use --with-launcher.
* Unfortunately, SciTECO cannot currently be properly built with versions running under Wine
  and the test suite also fails.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This can be used for bootstrapping Windows binaries cross-compiled on FreeBSD or Linux
  without requiring a native build to be installed first.
  It will also allow running the test suite under Wine.
  While Linux allows registering Wine as the launcher via binfmt_misc,
  on FreeBSD we have no choice than to use --with-launcher.
* Unfortunately, SciTECO cannot currently be properly built with versions running under Wine
  and the test suite also fails.
</pre>
</div>
</content>
</entry>
<entry>
<title>added -v/--version and &lt;EO&gt; command</title>
<updated>2025-07-31T14:19:07+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-31T14:19:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=ca70c9061146386ce0986631cd7fc9209a935a34'/>
<id>ca70c9061146386ce0986631cd7fc9209a935a34</id>
<content type='text'>
* DEC TECO had an &lt;EO&gt; command.
  In contrast to DEC TECO's implementation, the value reported by
  &lt;EO&gt; encodes a major.minor.micro semantic version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* DEC TECO had an &lt;EO&gt; command.
  In contrast to DEC TECO's implementation, the value reported by
  &lt;EO&gt; encodes a major.minor.micro semantic version.
</pre>
</div>
</content>
</entry>
<entry>
<title>revised test suite: got rid of most escaping for the TECO code snippets</title>
<updated>2025-05-13T20:28:36+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-05-13T20:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e8cc15b01976d2c35751e82f2f045b45415293f9'/>
<id>e8cc15b01976d2c35751e82f2f045b45415293f9</id>
<content type='text'>
* Test cases where hard to read since there was a layer of shell and M4 escaping -- sometimes
  with the help of quadrigraphs -- to preserve the original TECO characters.
* We introduced TE_CHECK() and TE_CHECK_CMDLINE() M4 macros which care about shell escaping
  automatically.
* If all TECO code is double quoted with [[ and ]], single square and round brackets
  are preserved as well.
* Only in case of using *unbalanced* single square brackets, you have to take action
  and add `![!` or `!]!` TECO comments to balance them out.
  This is still better than quadrigraphs.
* The $ESCAPE and $RUBOUT environment variables are replaced by equivalent
  M4 macros, so they can be used with TE_CHECK_CMDLINE().
* Other references to shell variables have been resolved by exporting them
  into the environment (as in the case of $srcdir) or by introducing
  new M4 macros (TE_MAXINTxx, TE_MININTxx).
* The $WORDS_EXAMPLE variable has been got rid of by writing it into a temporary
  file instead. There is some redundancy -- in principle an M4 macro could have also been used.
* This leaves only 6 remaining usages of AT_CHECK() for invoking SciTECO,
  mainly for testing opener.tes, where we have to pass in command line arguments.
  In theory most of them could be avoided as well by preparing the unnamed buffer appropriately.
  However the way that command line parameters are passed will be changed sooner or later.
* This uses GNU M4 extensions, but Autoconf requires that anyway.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Test cases where hard to read since there was a layer of shell and M4 escaping -- sometimes
  with the help of quadrigraphs -- to preserve the original TECO characters.
* We introduced TE_CHECK() and TE_CHECK_CMDLINE() M4 macros which care about shell escaping
  automatically.
* If all TECO code is double quoted with [[ and ]], single square and round brackets
  are preserved as well.
* Only in case of using *unbalanced* single square brackets, you have to take action
  and add `![!` or `!]!` TECO comments to balance them out.
  This is still better than quadrigraphs.
* The $ESCAPE and $RUBOUT environment variables are replaced by equivalent
  M4 macros, so they can be used with TE_CHECK_CMDLINE().
* Other references to shell variables have been resolved by exporting them
  into the environment (as in the case of $srcdir) or by introducing
  new M4 macros (TE_MAXINTxx, TE_MININTxx).
* The $WORDS_EXAMPLE variable has been got rid of by writing it into a temporary
  file instead. There is some redundancy -- in principle an M4 macro could have also been used.
* This leaves only 6 remaining usages of AT_CHECK() for invoking SciTECO,
  mainly for testing opener.tes, where we have to pass in command line arguments.
  In theory most of them could be avoided as well by preparing the unnamed buffer appropriately.
  However the way that command line parameters are passed will be changed sooner or later.
* This uses GNU M4 extensions, but Autoconf requires that anyway.
</pre>
</div>
</content>
</entry>
<entry>
<title>opener.tes: Fixed +line,column syntax</title>
<updated>2025-04-26T23:55:06+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-04-26T21:44:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=3a1eaff81196650214bcdbee3c98098ed02f77cb'/>
<id>3a1eaff81196650214bcdbee3c98098ed02f77cb</id>
<content type='text'>
* After detecting +line[,column] constructs, the next argument is not parsed as a potential
  filename:line[:column] construct.
* This code turned out to be tricky to get right, so I added a test case.
  Standard library modules can well be checked in the test suite since
  we have $SCITECOPATH pointing to the source tree's lib/ directory.
* Make sure that relevant variables from atlocal.in are really exported into the
  process environment.
  This was also broken for the Glib debug options.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* After detecting +line[,column] constructs, the next argument is not parsed as a potential
  filename:line[:column] construct.
* This code turned out to be tricky to get right, so I added a test case.
  Standard library modules can well be checked in the test suite since
  we have $SCITECOPATH pointing to the source tree's lib/ directory.
* Make sure that relevant variables from atlocal.in are really exported into the
  process environment.
  This was also broken for the Glib debug options.
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed formatting of the smallest possible integer</title>
<updated>2025-04-10T00:16:18+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-04-09T23:00:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c462509adfd68e8b849b8a6713360fb4f9026578'/>
<id>c462509adfd68e8b849b8a6713360fb4f9026578</id>
<content type='text'>
* In other words, fixed `-9223372036854775808\` on --with-teco-integer=64
  (which is the default).
* The reason is that ABS(G_MININT64) == G_MININT64 since -G_MININT64 == G_MININT64.
  It is therefore important not to call ABS() on arbitrary teco_int_t's.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* In other words, fixed `-9223372036854775808\` on --with-teco-integer=64
  (which is the default).
* The reason is that ABS(G_MININT64) == G_MININT64 since -G_MININT64 == G_MININT64.
  It is therefore important not to call ABS() on arbitrary teco_int_t's.
</pre>
</div>
</content>
</entry>
<entry>
<title>improved rubbing out commands with modifiers</title>
<updated>2025-04-08T20:59:21+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-04-08T19:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=44307bd7998e5f1fc81d63d74edaf4756ddf5a47'/>
<id>44307bd7998e5f1fc81d63d74edaf4756ddf5a47</id>
<content type='text'>
* This was actually broken if the command is preceded by `@` and `:` characters, which
  are __not__ modifiers.
  E.g. `Q:@I/foo^W` would have rubbed out the `:` register as well.
* Also, since it was all done in teco_state_process_edit_cmd(),
  it would also rub out modifier characters from within string arguments,
  E.g. `@I/::^EQ^W`
* Real commands now have their own ^W rubout implementation, while the generic
  fallback just rubs out until the start state is re-established.
  This fails to rub out modifiers as in `@I/^W`, though.
* Real command characters now use the common TECO_DEFINE_STATE_COMMAND().
* Added test cases for CTRL+W rub out.
  A few control characters are now portably available to tests
  via environment variables `$ESCAPE`, `$RUBOUT` and `$RUBOUT_WORD`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This was actually broken if the command is preceded by `@` and `:` characters, which
  are __not__ modifiers.
  E.g. `Q:@I/foo^W` would have rubbed out the `:` register as well.
* Also, since it was all done in teco_state_process_edit_cmd(),
  it would also rub out modifier characters from within string arguments,
  E.g. `@I/::^EQ^W`
* Real commands now have their own ^W rubout implementation, while the generic
  fallback just rubs out until the start state is re-established.
  This fails to rub out modifiers as in `@I/^W`, though.
* Real command characters now use the common TECO_DEFINE_STATE_COMMAND().
* Added test cases for CTRL+W rub out.
  A few control characters are now portably available to tests
  via environment variables `$ESCAPE`, `$RUBOUT` and `$RUBOUT_WORD`.
</pre>
</div>
</content>
</entry>
<entry>
<title>test suite: perform leak checking when run under Valgrind</title>
<updated>2025-03-17T14:35:13+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-03-17T14:35:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=6bc8e4a4caaa13b832c88f345e33f94ab4b83a13'/>
<id>6bc8e4a4caaa13b832c88f345e33f94ab4b83a13</id>
<content type='text'>
This became the default in later Valgrind versions.
With leak checking, the test suite does not currently run cleanly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This became the default in later Valgrind versions.
With leak checking, the test suite does not currently run cleanly.
</pre>
</div>
</content>
</entry>
<entry>
<title>rewrote &lt;W&gt; command on the same basis as &lt;V&gt; and &lt;Y&gt;</title>
<updated>2025-03-12T23:14:03+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-03-12T23:14:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=541bee1c6d56ce81a0302263af006b53dc1aea64'/>
<id>541bee1c6d56ce81a0302263af006b53dc1aea64</id>
<content type='text'>
* &lt;W&gt; was also using keyboard movement commands.
* This fixes an inconsistency between the handling of punctuation characters,
  e.g. "(word" followed by -W vs. Y.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* &lt;W&gt; was also using keyboard movement commands.
* This fixes an inconsistency between the handling of punctuation characters,
  e.g. "(word" followed by -W vs. Y.
</pre>
</div>
</content>
</entry>
<entry>
<title>test suite: fixed failure detection in the commandline-editing test cases</title>
<updated>2024-11-06T21:02:27+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-11-06T21:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=6747f318f50760d7a3a773e894df3d3ed449e5d7'/>
<id>6747f318f50760d7a3a773e894df3d3ed449e5d7</id>
<content type='text'>
* The program exit code will usually not signal failures since they are caught earlier.
* Therefore, we always have to capture and check stderr.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* The program exit code will usually not signal failures since they are caught earlier.
* Therefore, we always have to capture and check stderr.
</pre>
</div>
</content>
</entry>
</feed>
