<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/src/interface-curses, branch v2.3.0</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>Curses: fixed inserting null-byte (^@) by pressing Ctrl+@</title>
<updated>2024-12-22T16:33:48+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-22T15:54:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=8aa8c05089dd59cf669753cbf75670b58ab3a5bd'/>
<id>8aa8c05089dd59cf669753cbf75670b58ab3a5bd</id>
<content type='text'>
* g_utf8_get_char_validated() returns -2 for null-bytes (sometimes!?)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* g_utf8_get_char_validated() returns -2 for null-bytes (sometimes!?)
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed indention in interface-curses/interface.c</title>
<updated>2024-12-22T16:33:48+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-22T15:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=f4fd6de46a8d66032efd6fa86a5674edd0ec839f'/>
<id>f4fd6de46a8d66032efd6fa86a5674edd0ec839f</id>
<content type='text'>
This is a purely cosmetic change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a purely cosmetic change.
</pre>
</div>
</content>
</entry>
<entry>
<title>implemented Scintilla lexer for SciTECO code, i.e. TECO syntax highlighting</title>
<updated>2024-12-12T21:58:14+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-09T09:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=244a54a18b7db6af177c9d10f3224772f08d7484'/>
<id>244a54a18b7db6af177c9d10f3224772f08d7484</id>
<content type='text'>
* this works by embedding the SciTECO parser and driving it always (exclusively)
  in parse-only mode.
* A new teco_state_t::style determines the Scintilla style for any character
  accepted in the given state.
* Therefore, the SciTECO lexer is always 100% exact and corresponds to the current
  SciTECO grammer - it does not have to be maintained separately.
  There are a few exceptions and tweaks, though.
* The contents of curly-brace escapes (`@^Uq{...}`) are rendered as ordinary
  code using a separate parser instance.
  This can be disabled with the lexer.sciteco.macrodef property.
  Unfortunately, SciTECO does not currently allow setting lexer properties (FIXME).
* Labels and comments are currently styled the same.
  This could change in the future once we introduce real comments.
* Lexers are usually implemented in C++, but I did not want to draw in C++.
  Especially not since we'd have to include parser.h and other SciTECO headers,
  that really do not want to keep C++-compatible.
  Instead, the lexer is implemented "in the container".
  @ES/SCI_SETILEXER/sciteco/ is internally translated to SCI_SETILEXER(NULL)
  and we get Scintilla notifications when styling the view becomes necessary.
  This is then centrally forwarded to the teco_lexer_style() which
  uses the ordinary teco_view_ssm() API for styling.
* Once the command line becomes a Scintilla view even on Curses,
  we can enabled syntax highlighting of the command line macro.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* this works by embedding the SciTECO parser and driving it always (exclusively)
  in parse-only mode.
* A new teco_state_t::style determines the Scintilla style for any character
  accepted in the given state.
* Therefore, the SciTECO lexer is always 100% exact and corresponds to the current
  SciTECO grammer - it does not have to be maintained separately.
  There are a few exceptions and tweaks, though.
* The contents of curly-brace escapes (`@^Uq{...}`) are rendered as ordinary
  code using a separate parser instance.
  This can be disabled with the lexer.sciteco.macrodef property.
  Unfortunately, SciTECO does not currently allow setting lexer properties (FIXME).
* Labels and comments are currently styled the same.
  This could change in the future once we introduce real comments.
* Lexers are usually implemented in C++, but I did not want to draw in C++.
  Especially not since we'd have to include parser.h and other SciTECO headers,
  that really do not want to keep C++-compatible.
  Instead, the lexer is implemented "in the container".
  @ES/SCI_SETILEXER/sciteco/ is internally translated to SCI_SETILEXER(NULL)
  and we get Scintilla notifications when styling the view becomes necessary.
  This is then centrally forwarded to the teco_lexer_style() which
  uses the ordinary teco_view_ssm() API for styling.
* Once the command line becomes a Scintilla view even on Curses,
  we can enabled syntax highlighting of the command line macro.
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed compiler warnings when building release builds</title>
<updated>2024-12-09T21:38:03+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-12-09T21:38:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=d654d0a52df5eb96f9e7a81e320b0814ead6df45'/>
<id>d654d0a52df5eb96f9e7a81e320b0814ead6df45</id>
<content type='text'>
* g_assert() apparently does not reference the expression when assertions are disabled
  in contrast to glibc's assert()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* g_assert() apparently does not reference the expression when assertions are disabled
  in contrast to glibc's assert()
</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>PDCurses: filter out bogus double keypresses in combination with CTRL (refs #20)</title>
<updated>2024-10-29T14:33:39+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-10-29T14:15:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=5f0c39134d29b16ce6e864d9ad1a88c959786466'/>
<id>5f0c39134d29b16ce6e864d9ad1a88c959786466</id>
<content type='text'>
* Has been observed on PDCursesMod/WinGUI when pressing CTRL+Shift+6 on an US layout.
  I would expect code 30 (^^) to be inserted, instead PDCurses reports two keypresses (6^^).
  The first one is now filtered out since this will not be fixed upstream.
  See also https://github.com/Bill-Gray/PDCursesMod/issues/323
* Since AltGr on German layouts is reported as CTRL+ALT, we must be careful not to filter those
  out as well.
* This is active on all PDCurses variants - who knows which other platforms will behave similarily.
* You still cannot insert code 0 via CTRL+@ since PDCurses doesn't report it, but ncurses does not allow that either.
  This _could_ be synthesized by evaluating the modifier flags, though.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Has been observed on PDCursesMod/WinGUI when pressing CTRL+Shift+6 on an US layout.
  I would expect code 30 (^^) to be inserted, instead PDCurses reports two keypresses (6^^).
  The first one is now filtered out since this will not be fixed upstream.
  See also https://github.com/Bill-Gray/PDCursesMod/issues/323
* Since AltGr on German layouts is reported as CTRL+ALT, we must be careful not to filter those
  out as well.
* This is active on all PDCurses variants - who knows which other platforms will behave similarily.
* You still cannot insert code 0 via CTRL+@ since PDCurses doesn't report it, but ncurses does not allow that either.
  This _could_ be synthesized by evaluating the modifier flags, though.
</pre>
</div>
</content>
</entry>
<entry>
<title>teco_interface_cmdline_update() now protects against batch mode (--fake-cmdline)</title>
<updated>2024-10-29T13:15:00+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-10-29T13:15:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=cd4528ae07da53abeb0c0b349634edb508b6d28e'/>
<id>cd4528ae07da53abeb0c0b349634edb508b6d28e</id>
<content type='text'>
* Fixes the test suite on PDcurses/Win32 and therefore CI builds.
* Should be necessary on UNIX as well since later on, we would access
  cmdline_window, which is not yet initialized.
  I didn't see any errors in Valgrind, though.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fixes the test suite on PDcurses/Win32 and therefore CI builds.
* Should be necessary on UNIX as well since later on, we would access
  cmdline_window, which is not yet initialized.
  I didn't see any errors in Valgrind, though.
</pre>
</div>
</content>
</entry>
<entry>
<title>netbsd-curses: fixed the default escape delay</title>
<updated>2024-10-15T08:30:18+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-10-15T08:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e307e56d5591f844c77425a9e72dca6c1cabd766'/>
<id>e307e56d5591f844c77425a9e72dca6c1cabd766</id>
<content type='text'>
* Apparently, netbsd-curses overwrites the escdelay on initscr() (if $ESCDELAY is not set),
  so we have to apply the default 25ms after screen initialization.
* The info line is not drawn correctly on netbsd-curses, but only on st/simpleterm.
  I assume this is just a shortcoming of the included terminfo entry.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Apparently, netbsd-curses overwrites the escdelay on initscr() (if $ESCDELAY is not set),
  so we have to apply the default 25ms after screen initialization.
* The info line is not drawn correctly on netbsd-curses, but only on st/simpleterm.
  I assume this is just a shortcoming of the included terminfo entry.
</pre>
</div>
</content>
</entry>
<entry>
<title>Gtk UI: support setting and getting clipboards containing null bytes</title>
<updated>2024-10-05T16:27:18+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-10-05T16:27:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=52d73e8b5d82aba0ec3c1b0efd8b6b0a1ee5b5a2'/>
<id>52d73e8b5d82aba0ec3c1b0efd8b6b0a1ee5b5a2</id>
<content type='text'>
* added TECO_ERROR_CLIPBOARD for all clipboard-related errors
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* added TECO_ERROR_CLIPBOARD for all clipboard-related errors
</pre>
</div>
</content>
</entry>
<entry>
<title>Git lexer: added support for TAG_EDITMSG and MERGE_MSG</title>
<updated>2024-09-26T13:12:49+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-09-26T13:12:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c4a1c3a21818965f669ebc6a081f08323a6919f1'/>
<id>c4a1c3a21818965f669ebc6a081f08323a6919f1</id>
<content type='text'>
* Curses: "icons" have also been added
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Curses: "icons" have also been added
</pre>
</div>
</content>
</entry>
</feed>
