<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/configure.ac, 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>prepared v2.5.2 release</title>
<updated>2026-04-19T20:26:37+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-04-19T20:17:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=488dd3d64418f81555c9a005445d6a3adcc5eb0a'/>
<id>488dd3d64418f81555c9a005445d6a3adcc5eb0a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>UNIX: do not automatically restart syscalls on SIGINT</title>
<updated>2026-04-18T22:02:16+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-04-18T22:02:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=d4c864e92f89003e73883fe0b259e6c2e3bfb4f3'/>
<id>d4c864e92f89003e73883fe0b259e6c2e3bfb4f3</id>
<content type='text'>
* signal() sets SA_RESTART by default.
* Some syscalls can theoretically block indefinitely.
  Even opening a special file could result in an indefinitely
  blocking operation, that should be interruptible.
  You must still poll teco_interrupted in these read() loops of course.
* Also makes sure that clipboard operations are interruptible
  even if $SCITECO_CLIPBOARD_GET blocks.
  Although I couldn't provoke problems in practice,
  I did observe hangs with xclip on Wayland on Linux,
  that could only be resolved by manually killing xclip.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* signal() sets SA_RESTART by default.
* Some syscalls can theoretically block indefinitely.
  Even opening a special file could result in an indefinitely
  blocking operation, that should be interruptible.
  You must still poll teco_interrupted in these read() loops of course.
* Also makes sure that clipboard operations are interruptible
  even if $SCITECO_CLIPBOARD_GET blocks.
  Although I couldn't provoke problems in practice,
  I did observe hangs with xclip on Wayland on Linux,
  that could only be resolved by manually killing xclip.
</pre>
</div>
</content>
</entry>
<entry>
<title>updated Scinterm: extended color-pair support has been merged</title>
<updated>2026-02-07T21:23:49+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-02-07T21:23:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=2f2119f9e7c63c03746dc550fa49cc7a0b96b5e8'/>
<id>2f2119f9e7c63c03746dc550fa49cc7a0b96b5e8</id>
<content type='text'>
* Hopefully also fixed FreeBSD CI builds. Always define NCURSES_WIDECHAR.
* Windows builds were probably also broken.
  We now pass down PDC_WIDE and PDC_FORCE_UTF8 into Scinterm as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Hopefully also fixed FreeBSD CI builds. Always define NCURSES_WIDECHAR.
* Windows builds were probably also broken.
  We now pass down PDC_WIDE and PDC_FORCE_UTF8 into Scinterm as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>fixup: require wide-char support even on PDCurses and document new requirements</title>
<updated>2026-01-31T13:38:08+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-01-31T13:38:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=cbb822ff9e228883bb877ebcf4f22bb4e2cc0e8e'/>
<id>cbb822ff9e228883bb877ebcf4f22bb4e2cc0e8e</id>
<content type='text'>
Also, Scinterm had to be updated again since NetBSD curses stores up to 8 wchar_t per cell.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also, Scinterm had to be updated again since NetBSD curses stores up to 8 wchar_t per cell.
</pre>
</div>
</content>
</entry>
<entry>
<title>GTK: fixed --detach and support stdout/stderr redirections</title>
<updated>2026-01-24T15:37:27+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-01-24T15:29:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=7ff541040edc3b3f8a25bb69e04ecb57cba12954'/>
<id>7ff541040edc3b3f8a25bb69e04ecb57cba12954</id>
<content type='text'>
* We fork after command line arguments have been parsed, which
  is after gtk_get_option_group() has been called.
  This means that GTK was already initialized and it wasn't safe
  to continue after forking.
* As a workaround, we now re-exec with the original argv array,
  so GTK can be properly reinitialized.
  Since we did not remove `--detach` from argv (and that would be
  nontrivial), it would fork again endlessly,
  so we use an environment variable
  $__SCITECO_DETACHED to guard against recursive forks.
* Also, do not close stdin/stdout/stderr if has been redirected
  to a file, so you can now e.g. call `gsciteco -d &gt;some-file`.
* This was broken since v2.5.0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* We fork after command line arguments have been parsed, which
  is after gtk_get_option_group() has been called.
  This means that GTK was already initialized and it wasn't safe
  to continue after forking.
* As a workaround, we now re-exec with the original argv array,
  so GTK can be properly reinitialized.
  Since we did not remove `--detach` from argv (and that would be
  nontrivial), it would fork again endlessly,
  so we use an environment variable
  $__SCITECO_DETACHED to guard against recursive forks.
* Also, do not close stdin/stdout/stderr if has been redirected
  to a file, so you can now e.g. call `gsciteco -d &gt;some-file`.
* This was broken since v2.5.0.
</pre>
</div>
</content>
</entry>
<entry>
<title>prepared v2.5.1 release</title>
<updated>2026-01-10T15:43:45+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-01-10T15:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=d092657aa6eda21da9d676c702418fca66ba7ce7'/>
<id>d092657aa6eda21da9d676c702418fca66ba7ce7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<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>PDCurses: fixed modifiers (CTRL, ALT, SHIFT) and mouse support on XCurses</title>
<updated>2026-01-06T10:36:38+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2026-01-06T10:00:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e55bd8e619aad30c119e8e17894337021fb16af8'/>
<id>e55bd8e619aad30c119e8e17894337021fb16af8</id>
<content type='text'>
* While xcurses-config does define PDC_WIDE, it does not
  define PDC_NCMOUSE, which we currently rely on so that
  NCURSES_MOUSE_VERSION is set correctly.
  Therefore we check for it just like when using --with-interface=pdcurses.
* The modifiers were broken on all variants of PDCurses.
  This was a regression from v2.4.0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* While xcurses-config does define PDC_WIDE, it does not
  define PDC_NCMOUSE, which we currently rely on so that
  NCURSES_MOUSE_VERSION is set correctly.
  Therefore we check for it just like when using --with-interface=pdcurses.
* The modifiers were broken on all variants of PDCurses.
  This was a regression from v2.4.0.
</pre>
</div>
</content>
</entry>
<entry>
<title>prepared v2.5.0 release</title>
<updated>2025-12-31T19:55:47+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2025-12-31T19:54:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=5aec46ccb7c3340440ff6de3546ac018f06aea5e'/>
<id>5aec46ccb7c3340440ff6de3546ac018f06aea5e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>GTK: implemented --detach|-d option for detaching from controlling terminal</title>
<updated>2025-12-29T23:42:34+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2025-12-29T11:01:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=a7202a1fb911f72c309380b42c0ff995c05ba94c'/>
<id>a7202a1fb911f72c309380b42c0ff995c05ba94c</id>
<content type='text'>
This is useful to launch from a terminal without "blocking" this terminal.
There are tools like nohup and daemonize (BSD) to do the same, but having it
builtin is shorter to write.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is useful to launch from a terminal without "blocking" this terminal.
There are tools like nohup and daemonize (BSD) to do the same, but having it
builtin is shorter to write.
</pre>
</div>
</content>
</entry>
</feed>
