<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/fallback.teco_ini, branch v2.5.1</title>
<subtitle>Scintilla-based Text Editor and COrrector</subtitle>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/'/>
<entry>
<title>allow configuring the command line height using h,5EJ</title>
<updated>2025-11-09T18:26:37+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2025-11-09T18:26:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=5d7e8df952b2e51c28fad3443d7c9973659fc2ed'/>
<id>5d7e8df952b2e51c28fad3443d7c9973659fc2ed</id>
<content type='text'>
* This allows for several customizations.
  * You can simply increase the visible command line history.
    For that you must also set SCI_SETWRAPMODE(SC_WRAP_CHAR).
    An example was added to fallback.teco_ini.
  * You could also set SCI_SETLINEENDTYPESALLOWED(SC_LINE_END_TYPE_DEFAULT)
    to see the structure of inserted text.
* Alternatively we could have introduced a new command like EP or FW
  and also overload it to replace the current ED&amp;2048 (e.g. -EP and EP).
  In DEC TECO `W` comes closest to what 5EJ now does.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* This allows for several customizations.
  * You can simply increase the visible command line history.
    For that you must also set SCI_SETWRAPMODE(SC_WRAP_CHAR).
    An example was added to fallback.teco_ini.
  * You could also set SCI_SETLINEENDTYPESALLOWED(SC_LINE_END_TYPE_DEFAULT)
    to see the structure of inserted text.
* Alternatively we could have introduced a new command like EP or FW
  and also overload it to replace the current ED&amp;2048 (e.g. -EP and EP).
  In DEC TECO `W` comes closest to what 5EJ now does.
</pre>
</div>
</content>
</entry>
<entry>
<title>added ED flag 2048 to redirect Scintilla messages to the command line view: enables syntax highlighting on the command line</title>
<updated>2025-11-08T12:00:47+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>rhaberkorn@fmsbw.de</email>
</author>
<published>2025-11-07T20:52:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=397554a6091f4a8d337cc4935638bf736bef23be'/>
<id>397554a6091f4a8d337cc4935638bf736bef23be</id>
<content type='text'>
* M[lexer.set.cmdline] can be used to set up syntax highlighting on the command line
  (if desired).
* Color schemes with light-dark themes (solarized.tes) are now responsible
  to update the command line view as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* M[lexer.set.cmdline] can be used to set up syntax highlighting on the command line
  (if desired).
* Color schemes with light-dark themes (solarized.tes) are now responsible
  to update the command line view as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>command-line arguments are no longer passed via the unnamed buffer, but via special Q-registers ^Ax</title>
<updated>2025-08-06T13:46:37+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-08-06T13:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=280cb9da39fc7b5357f6071926d511394f6d0152'/>
<id>280cb9da39fc7b5357f6071926d511394f6d0152</id>
<content type='text'>
* The unnamed buffer is also used for reading from --stdin, so you couldn't practically combine
  --stdin with passing command-line arguments to macros.
* The old approach of passing command-line arguments via lines in the
  unnamed buffer was flawed anyway as it wouldn't work with filenames containing LF.
  This is just a very ancient feature, written when there weren't even long Q-reg names in SciTECO.
* You can now e.g. pipe into SciTECO and edit what was read interactively, e.g. `dmesg | sciteco -i`.
  You can practically use SciTECO as a pager.
* htbl.tes is now a command-line filter (uses -qio).
* grosciteco.tes reads Troff intermediate code from stdin, so we no longer need
  "*.intermediate" temporary files.
* added a getopt.tes test case to the testsuite.
* This change unfortunately breaks most macros accepting command-line arguments,
  even if they used getopt.tes.
  It also requires updating ~/.teco_ini - see fallback.teco_ini.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* The unnamed buffer is also used for reading from --stdin, so you couldn't practically combine
  --stdin with passing command-line arguments to macros.
* The old approach of passing command-line arguments via lines in the
  unnamed buffer was flawed anyway as it wouldn't work with filenames containing LF.
  This is just a very ancient feature, written when there weren't even long Q-reg names in SciTECO.
* You can now e.g. pipe into SciTECO and edit what was read interactively, e.g. `dmesg | sciteco -i`.
  You can practically use SciTECO as a pager.
* htbl.tes is now a command-line filter (uses -qio).
* grosciteco.tes reads Troff intermediate code from stdin, so we no longer need
  "*.intermediate" temporary files.
* added a getopt.tes test case to the testsuite.
* This change unfortunately breaks most macros accepting command-line arguments,
  even if they used getopt.tes.
  It also requires updating ~/.teco_ini - see fallback.teco_ini.
</pre>
</div>
</content>
</entry>
<entry>
<title>the primary clipboard is now chosen by the 10th bit in the ED flags</title>
<updated>2025-07-15T21:15:33+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-15T21:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=4794367ce0c31f820bf2bd72d44c886984e3f7ed'/>
<id>4794367ce0c31f820bf2bd72d44c886984e3f7ed</id>
<content type='text'>
* `[q]~` was broken and resulted in crashes since it reset the clipboard character to 0.
  In fact, if we don't want to break the `[a]b` idiom we cannot use the numeric cell
  of register `~`.
* Therefore we no longer use the numeric part of register `~`.
  Once the clipboard registers are initialized they completely replace
  any existing register with the same name that may have been
  set in the profile.
  So we still don't leak any memory.
  (But perhaps it would now be better to fail with an error
  if one of the clipboard registers already exist?)
* Instead, bit 10 (1024) of ED is now used to change the default
  clipboard to the primary selection.
  The alternative might have been an EJ flag or even a special register containing
  the name of the default clipboard register.
* partially reverses 8c6de6cc718debf44f6056a4c34c4fbb13bc5020
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* `[q]~` was broken and resulted in crashes since it reset the clipboard character to 0.
  In fact, if we don't want to break the `[a]b` idiom we cannot use the numeric cell
  of register `~`.
* Therefore we no longer use the numeric part of register `~`.
  Once the clipboard registers are initialized they completely replace
  any existing register with the same name that may have been
  set in the profile.
  So we still don't leak any memory.
  (But perhaps it would now be better to fail with an error
  if one of the clipboard registers already exist?)
* Instead, bit 10 (1024) of ED is now used to change the default
  clipboard to the primary selection.
  The alternative might have been an EJ flag or even a special register containing
  the name of the default clipboard register.
* partially reverses 8c6de6cc718debf44f6056a4c34c4fbb13bc5020
</pre>
</div>
</content>
</entry>
<entry>
<title>allow changing the default clipboard by setting the `~` integer</title>
<updated>2025-07-12T21:53:58+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-07-12T21:53:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=8c6de6cc718debf44f6056a4c34c4fbb13bc5020'/>
<id>8c6de6cc718debf44f6056a4c34c4fbb13bc5020</id>
<content type='text'>
* It continues to default to 67 (C), which is the system clipboard.
  But you can now overwrite it e.g. by adding `^^PU~` to the profile.
* This fixes a minor memory leak:
  If you set one of the clipboard registers in the profile (initializing
  them as plain registers), the clipboard register had been leaked.
  The clipboard registers now replace any existing register,
  while at the same time preserving the numeric part.
* All remaining Q-Reg table insertions use a new function
  teco_qreg_table_insert_unique() which adds an assertion, so that
  we notice any future possible memory leaks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* It continues to default to 67 (C), which is the system clipboard.
  But you can now overwrite it e.g. by adding `^^PU~` to the profile.
* This fixes a minor memory leak:
  If you set one of the clipboard registers in the profile (initializing
  them as plain registers), the clipboard register had been leaked.
  The clipboard registers now replace any existing register,
  while at the same time preserving the numeric part.
* All remaining Q-Reg table insertions use a new function
  teco_qreg_table_insert_unique() which adds an assertion, so that
  we notice any future possible memory leaks.
</pre>
</div>
</content>
</entry>
<entry>
<title>&lt;EI&gt; has been repurposed and is the macro file inclusion (indirect file) command now</title>
<updated>2025-05-24T14:22:52+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-05-24T13:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=6e3da17a2fae11af9ae00d9b59bd0d752022e16b'/>
<id>6e3da17a2fae11af9ae00d9b59bd0d752022e16b</id>
<content type='text'>
* Improves DEC TECO-11 compatibility.
* &lt;EM&gt; is still supported as a synonym, but considered deprecated and is no longer documented.
  A warning is printed when invoked.
  It can be repurposed at any time in the future.
* `EI$` is not yet supported.
  I am unsure whether this makes any sense.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Improves DEC TECO-11 compatibility.
* &lt;EM&gt; is still supported as a synonym, but considered deprecated and is no longer documented.
  A warning is printed when invoked.
  It can be repurposed at any time in the future.
* `EI$` is not yet supported.
  I am unsure whether this makes any sense.
</pre>
</div>
</content>
</entry>
<entry>
<title>grosciteco: folding in woman pages</title>
<updated>2025-05-02T08:59:05+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-05-01T20:13:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=cb1ef4788be0117f57497299ba008652f62cba24'/>
<id>cb1ef4788be0117f57497299ba008652f62cba24</id>
<content type='text'>
* Support fold level configuration using `.SCITECO_FOLDLEVEL`.
  This sets the current output line as the fold header and all subsequent lines
  with the given fold level (until another `.SCITECO_FOLDLEVEL` instruction
  is encountered).
* This is now done automatically for man's SH and SS macros,
  so the man-page based woman pages provide folding.
* The folding margin is therefore now always enabled in fallback.teco_ini.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Support fold level configuration using `.SCITECO_FOLDLEVEL`.
  This sets the current output line as the fold header and all subsequent lines
  with the given fold level (until another `.SCITECO_FOLDLEVEL` instruction
  is encountered).
* This is now done automatically for man's SH and SS macros,
  so the man-page based woman pages provide folding.
* The folding margin is therefore now always enabled in fallback.teco_ini.
</pre>
</div>
</content>
</entry>
<entry>
<title>support folding via F1 and clicks in the folding margin</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-26T14:46:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e3498abfd8d95dbd083ccfd1d386f9ad37044a43'/>
<id>e3498abfd8d95dbd083ccfd1d386f9ad37044a43</id>
<content type='text'>
* Set up the folding margin in the currently empty margin column
  after the line number.
  On Gtk, this meant resetting all the marker symbols and their
  foreground/background colors as well as the margin's colors themselves.
  This looks like a bug. It's not necessary on Scinterm, which apparently
  uses the default/linenumber styles by default.
  Perhaps we should try upgrading Scintilla?
* The folding state is considered not to be directly controlled by the
  language (just like the scroll position and zoom level). That's why
  we can directly control it by clicking on the margin column.
* F1 can be used to toggle all folds globally.
* The only support within the C core necessary for folding is to make
  sure that the current line is unfolded after every keypress.
* We might add custom folding commands to the language later on
  (e.g. F+, F-). In this case, the key macros will have to be changed
  of course.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Set up the folding margin in the currently empty margin column
  after the line number.
  On Gtk, this meant resetting all the marker symbols and their
  foreground/background colors as well as the margin's colors themselves.
  This looks like a bug. It's not necessary on Scinterm, which apparently
  uses the default/linenumber styles by default.
  Perhaps we should try upgrading Scintilla?
* The folding state is considered not to be directly controlled by the
  language (just like the scroll position and zoom level). That's why
  we can directly control it by clicking on the margin column.
* F1 can be used to toggle all folds globally.
* The only support within the C core necessary for folding is to make
  sure that the current line is unfolded after every keypress.
* We might add custom folding commands to the language later on
  (e.g. F+, F-). In this case, the key macros will have to be changed
  of course.
</pre>
</div>
</content>
</entry>
<entry>
<title>fixup: fixed monospace sections in womanpages when lexer.font is not customized (refs #34)</title>
<updated>2025-04-22T23:07:59+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-04-22T23:07:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=01419ac9b5c8961e240feaa9f5d160a633f801ed'/>
<id>01419ac9b5c8961e240feaa9f5d160a633f801ed</id>
<content type='text'>
* In the grosciteco-generated .woman.tec files, the fonts were only
  set on the monospaced styles if lexer.font was set since it was
  undefined by default.
  We'd need a lare IF-ELSE statement to handle that in womanpages
  since woman.tes changes the default font to a variable-width font.
  Just leaving the default font, therefore won't work.
* We now always initialize lexer.font in lexer.tes.
  You no longer have to check for its existance.
* Consequently, you can no longer set lexer.font *before* munging
  lexer.tes because it will be overwritten.
  At least not without additional checks.
  Such a design is not suggested by fallback.teco_ini, though.
* Fixes monospaced sections in the tutorial and other womanpages on Gtk.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* In the grosciteco-generated .woman.tec files, the fonts were only
  set on the monospaced styles if lexer.font was set since it was
  undefined by default.
  We'd need a lare IF-ELSE statement to handle that in womanpages
  since woman.tes changes the default font to a variable-width font.
  Just leaving the default font, therefore won't work.
* We now always initialize lexer.font in lexer.tes.
  You no longer have to check for its existance.
* Consequently, you can no longer set lexer.font *before* munging
  lexer.tes because it will be overwritten.
  At least not without additional checks.
  Such a design is not suggested by fallback.teco_ini, though.
* Fixes monospaced sections in the tutorial and other womanpages on Gtk.
</pre>
</div>
</content>
</entry>
<entry>
<title>Gtk: monospaced sections in womanpages now respect lexer.font and variable-width font is configurable via lexer.woman.font (refs #34)</title>
<updated>2025-04-22T17:50:48+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-04-22T17:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=93d3cbd390e65576d0c8740233b0a7569d9bdd89'/>
<id>93d3cbd390e65576d0c8740233b0a7569d9bdd89</id>
<content type='text'>
* grosciteco was just hardcoding "Monospace", regardless of what was configured via lexer.font in ~/.teco_ini
* The variable-width font used for ordinary "womanpage" body texts was hardcoded to "Serif".
  It is now configurable via the lexer.woman.font register.
* There is a difference, though:
  lexer.font has no default value and must therefore be checked everywhere.
  This is so you can set it even before munging lexer.tes.
  lexer.woman.font however has a default (Serif), so it can only be overridden after
  munging lexer.tes.
  Perhaps it would be easier and more consistent to have a default for lexer.font as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* grosciteco was just hardcoding "Monospace", regardless of what was configured via lexer.font in ~/.teco_ini
* The variable-width font used for ordinary "womanpage" body texts was hardcoded to "Serif".
  It is now configurable via the lexer.woman.font register.
* There is a difference, though:
  lexer.font has no default value and must therefore be checked everywhere.
  This is so you can set it even before munging lexer.tes.
  lexer.woman.font however has a default (Serif), so it can only be overridden after
  munging lexer.tes.
  Perhaps it would be easier and more consistent to have a default for lexer.font as well.
</pre>
</div>
</content>
</entry>
</feed>
