<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/TODO, branch libxcurses</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>bumped minimum GCC version to v8.1</title>
<updated>2025-08-26T14:42:52+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-08-26T14:42:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f525d8f09ec0e60effe70623a19c700a3a202db0'/>
<id>f525d8f09ec0e60effe70623a19c700a3a202db0</id>
<content type='text'>
Scintilla v5.5.7 officially requires at least GCC v9, but if it's
only the charconv header that's required from newer releases, v8.1
will probably do as well. We assume so until proven wrong.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Scintilla v5.5.7 officially requires at least GCC v9, but if it's
only the charconv header that's required from newer releases, v8.1
will probably do as well. We assume so until proven wrong.
</pre>
</div>
</content>
</entry>
<entry>
<title>fully support NetBSD with its native libcurses</title>
<updated>2025-08-21T23:48:24+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-08-11T08:56:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f740ad3774c1adc7844451dd561c7de143766635'/>
<id>f740ad3774c1adc7844451dd561c7de143766635</id>
<content type='text'>
* It requires a forced refresh on startup (even though that should be the
  default). Otherwise, it wouldn't print the info line correctly.
* Redirect stdin and pass it to newterm() to fix key queuing.
  Probably necessary for supporting ncurses on NetBSD as well.
* Avoid doupdate() if screen is too small: fixes crashes for very
  small windows.
* Updated Scintilla: There were some implicit typing assumptions,
  that are broken by this platform.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* It requires a forced refresh on startup (even though that should be the
  default). Otherwise, it wouldn't print the info line correctly.
* Redirect stdin and pass it to newterm() to fix key queuing.
  Probably necessary for supporting ncurses on NetBSD as well.
* Avoid doupdate() if screen is too small: fixes crashes for very
  small windows.
* Updated Scintilla: There were some implicit typing assumptions,
  that are broken by this platform.
</pre>
</div>
</content>
</entry>
<entry>
<title>updated README, NEWS and TODO</title>
<updated>2025-08-16T14:21:48+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-08-16T14:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e87027295e9c750f1d6704ba61e84255484635c7'/>
<id>e87027295e9c750f1d6704ba61e84255484635c7</id>
<content type='text'>
Esp. mention the new OBS repositories.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Esp. mention the new OBS repositories.
</pre>
</div>
</content>
</entry>
<entry>
<title>support :=/:==/:=== commands: print number without trailing linefeed</title>
<updated>2025-07-25T21:42:15+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-25T08:08:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=83dddcf2064c26d3ac2a12d7b8158f8891329181'/>
<id>83dddcf2064c26d3ac2a12d7b8158f8891329181</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>implemented the &lt;^A&gt; command for printing arbitrary strings</title>
<updated>2025-07-25T21:42:15+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-24T22:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=eee669a76b3c0b1928475d55d9e1333b3d15bb8c'/>
<id>eee669a76b3c0b1928475d55d9e1333b3d15bb8c</id>
<content type='text'>
* Greatly improved usability as a scripting language.
* The command is in DEC TECO, but in contrast to DEC TECO, we also
  support string building constructs in ^A.
* Required some refactoring: As we want it to write everything verbatim
  to stdout, the per-interface method is now teco_interface_msg_literal()
  and it has to deal with unprintable characters.
  When displaying in the UI, we use teco_curses_format_str() and TecoGtkLabel
  functions/widgets to deal with possible control codes.
* Numbers printed with `=` have to be written with a trailing linefeed,
  which would also be visible as a reverse "LF" in the UI.
  Not sure whether this is acceptable - the alternative would be to strip
  the strings before displaying them.
* Messages written to stdout are also auto-flushed at the moment.
  In the future we might want to put flushing under control of the language.
  Perhaps :^A could inhibit the flushing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Greatly improved usability as a scripting language.
* The command is in DEC TECO, but in contrast to DEC TECO, we also
  support string building constructs in ^A.
* Required some refactoring: As we want it to write everything verbatim
  to stdout, the per-interface method is now teco_interface_msg_literal()
  and it has to deal with unprintable characters.
  When displaying in the UI, we use teco_curses_format_str() and TecoGtkLabel
  functions/widgets to deal with possible control codes.
* Numbers printed with `=` have to be written with a trailing linefeed,
  which would also be visible as a reverse "LF" in the UI.
  Not sure whether this is acceptable - the alternative would be to strip
  the strings before displaying them.
* Messages written to stdout are also auto-flushed at the moment.
  In the future we might want to put flushing under control of the language.
  Perhaps :^A could inhibit the flushing.
</pre>
</div>
</content>
</entry>
<entry>
<title>ncurses: support the window title on XTerm-like emulators</title>
<updated>2025-07-23T13:27:02+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-23T13:27:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f7a11166d4a376867235bee213eeffddc05a8d78'/>
<id>f7a11166d4a376867235bee213eeffddc05a8d78</id>
<content type='text'>
* Many terminal emulators won't have the status-line terminfo capabilities
  but still support OSC-0 escape sequences for setting the window title.
  This affects the real XTerm, rxvt-based and many emulators that claim to be
  XTerm via $TERM (e.g. GNOME Console).
* It seems we can safely assume that any emulator with $TERM beginning with "xterm" or
  "rxvt" does in fact have OSC-0 or at least ignores it.
  The number of whitelisted emulators might be extended later on.
  This way, we don't have to add another ED flag.
* We still give precendence to the to_status_line/from_status_line capabilities
  if they are in terminfo.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Many terminal emulators won't have the status-line terminfo capabilities
  but still support OSC-0 escape sequences for setting the window title.
  This affects the real XTerm, rxvt-based and many emulators that claim to be
  XTerm via $TERM (e.g. GNOME Console).
* It seems we can safely assume that any emulator with $TERM beginning with "xterm" or
  "rxvt" does in fact have OSC-0 or at least ignores it.
  The number of whitelisted emulators might be extended later on.
  This way, we don't have to add another ED flag.
* We still give precendence to the to_status_line/from_status_line capabilities
  if they are in terminfo.
</pre>
</div>
</content>
</entry>
<entry>
<title>support &lt;==&gt; and &lt;===&gt; for printing octal and hexadecimal numbers</title>
<updated>2025-07-20T21:33:13+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-20T21:19:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=48dcfd22f9c2db5cf6745eaec0ff28895858c638'/>
<id>48dcfd22f9c2db5cf6745eaec0ff28895858c638</id>
<content type='text'>
* These are famously in DEC TECO-11, but also in Video TECO.
* The implementation is tricky. They need to use lookahead states,
  but this would be inacceptable during interactive execution.
  Therefore only if executing from the end of the command line
  `==` and `===` are allowed to print multiple values.
  The number is therefore also not popped form the stack immediately
  but only peeked. It's popped only when it has been decided that
  the command has ended.
* This may break existing macros that use multiple `=` in a row
  to print multiple values from the stack.
  You will now e.g. have to insert whitespace to separate such `=` commands.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* These are famously in DEC TECO-11, but also in Video TECO.
* The implementation is tricky. They need to use lookahead states,
  but this would be inacceptable during interactive execution.
  Therefore only if executing from the end of the command line
  `==` and `===` are allowed to print multiple values.
  The number is therefore also not popped form the stack immediately
  but only peeked. It's popped only when it has been decided that
  the command has ended.
* This may break existing macros that use multiple `=` in a row
  to print multiple values from the stack.
  You will now e.g. have to insert whitespace to separate such `=` commands.
</pre>
</div>
</content>
</entry>
<entry>
<title>document bug: you cannot currently use `{` and `}` to insert anything after $$ into the commandline</title>
<updated>2025-07-20T08:14:57+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-20T08:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=20aef26f311cc04550cc188e237c9288d5fb7b72'/>
<id>20aef26f311cc04550cc188e237c9288d5fb7b72</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>&lt;EW&gt; now accepts a numeric argument to specify the buffer to save</title>
<updated>2025-07-19T15:09:33+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-19T14:38:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=29e11f68bae0364034fb692062403735bec8d07a'/>
<id>29e11f68bae0364034fb692062403735bec8d07a</id>
<content type='text'>
* In this case we always save the given buffer and never the current Q-Register.
* The current Q-Register is only saved without any numeric argument.
  The same semantics make sense for &lt;EF&gt; so that Q*EF closes the current buffer
  even when editing a Q-Register.
* This variant is present in Video TECO.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* In this case we always save the given buffer and never the current Q-Register.
* The current Q-Register is only saved without any numeric argument.
  The same semantics make sense for &lt;EF&gt; so that Q*EF closes the current buffer
  even when editing a Q-Register.
* This variant is present in Video TECO.
</pre>
</div>
</content>
</entry>
<entry>
<title>&lt;nEL&gt; (set EOL mode) now sets the buffer's dirty flag</title>
<updated>2025-07-17T22:59:46+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-17T22:59:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=cf7e3bc51731ea4be786ec163532a63d7f93af87'/>
<id>cf7e3bc51731ea4be786ec163532a63d7f93af87</id>
<content type='text'>
* While it doesn't directly change the buffer's contents in bytes,
  a subsequent write would result in a different file on disk,
  so it is consequent to remind the user of saving or discarding changes.
* Will also fix :EX after changing the EOL mode.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* While it doesn't directly change the buffer's contents in bytes,
  a subsequent write would result in a different file on disk,
  so it is consequent to remind the user of saving or discarding changes.
* Will also fix :EX after changing the EOL mode.
</pre>
</div>
</content>
</entry>
</feed>
