<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sciteco/doc/htbl.tes, 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>simplified the htbl.tes preprocessor and the SUBST_MACRO using new --quiet, --stdin and --stdout options</title>
<updated>2025-08-03T15:01:34+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2025-08-03T14:56:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c5510d684e4879ab9a5295b4a1981888a4268627'/>
<id>c5510d684e4879ab9a5295b4a1981888a4268627</id>
<content type='text'>
* htbl.tes now reads from stdin and writes to stdout.
  Allows avoiding temporary `*.htbl` files
* grosciteco.tes still cannot be simplified since --stdin cannot be combined with
  passing command-line arguments (FIXME).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* htbl.tes now reads from stdin and writes to stdout.
  Allows avoiding temporary `*.htbl` files
* grosciteco.tes still cannot be simplified since --stdin cannot be combined with
  passing command-line arguments (FIXME).
</pre>
</div>
</content>
</entry>
<entry>
<title>htbl.tes: fixed searching for caret</title>
<updated>2024-10-08T09:26:09+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2024-10-08T09:26:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=7adcfbff502c721f01cb57882dbf5aa3150e5871'/>
<id>7adcfbff502c721f01cb57882dbf5aa3150e5871</id>
<content type='text'>
* Due to recent changes, you now have to type S^Q^Q^^$ since
  the ASCII caret (94) is interpreted as a pattern match character.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Due to recent changes, you now have to type S^Q^Q^^$ since
  the ASCII caret (94) is interpreted as a pattern match character.
</pre>
</div>
</content>
</entry>
<entry>
<title>all SciTECO scripts used during the build process now always write files with Unix linebreaks</title>
<updated>2021-06-08T17:10:03+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2021-06-07T19:49:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=bb08565b91c21e1ffaf0b4b4f0750a52dbb87af2'/>
<id>bb08565b91c21e1ffaf0b4b4f0750a52dbb87af2</id>
<content type='text'>
* when hosted on Windows, the default is DOS linebreaks
* Unix linebreaks are in many cases more consistent as all other sources use Unix linebreaks
* woman pages with Unix linebreaks are slightly faster to load due to EOL conversion
* especially Groff input must not contain CR as it will otherwise log lots of warnings
  (affects htbl.tes and tedoc.tes).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* when hosted on Windows, the default is DOS linebreaks
* Unix linebreaks are in many cases more consistent as all other sources use Unix linebreaks
* woman pages with Unix linebreaks are slightly faster to load due to EOL conversion
* especially Groff input must not contain CR as it will otherwise log lots of warnings
  (affects htbl.tes and tedoc.tes).
</pre>
</div>
</content>
</entry>
<entry>
<title>htbl.tes: clean up and added support for boxed tables with separator lines</title>
<updated>2016-12-06T15:45:19+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2016-12-06T15:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=c1113c2bccc754f439bb755bfca7d8218a58b3ed'/>
<id>c1113c2bccc754f439bb755bfca7d8218a58b3ed</id>
<content type='text'>
 * fixes formatting of sciteco.7.html
 * it is still not ideal since tables with rule="none" can only get
   row borders by adding them to the table cells.
   Perhaps the entire border handling should be done with CSS.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * fixes formatting of sciteco.7.html
 * it is still not ideal since tables with rule="none" can only get
   row borders by adding them to the table cells.
   Perhaps the entire border handling should be done with CSS.
</pre>
</div>
</content>
</entry>
<entry>
<title>partially reversed/fixed-up b7ff56db631: avoid g_slice allocators and performance issues with memory measurements</title>
<updated>2016-11-22T17:03:48+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2016-11-21T15:58:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=20fcf2feccbe2c48ee33cee73ed8bf9a6d4a06a2'/>
<id>20fcf2feccbe2c48ee33cee73ed8bf9a6d4a06a2</id>
<content type='text'>
 * Fixed build problems on Windows
 * g_slice on Windows has been shown to be of little use either
   and it does not work well with the GetProcessMemoryInfo()
   measurements.
   Also, it brings the same problem as on Glibc: Not even command-line
   termination returns the memory to the OS.
   Therefore, we don't use g_slice at all and commented on it.
 * The custom Linux and Windows memory measurement approaches
   have been shown to be inefficient.
   As a workaround, scripts disable memory limiting.
 * A better approach -- but it will only work on Glibc -- might
   be to hook into malloc(), realloc() and free() globally
   and use the malloc_usable_size() of a heap object for
   memory measurements. This will be relatively precise and cheap.
 * We still need the "Object" base class in order to measure
   memory usage as a fallback approach.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * Fixed build problems on Windows
 * g_slice on Windows has been shown to be of little use either
   and it does not work well with the GetProcessMemoryInfo()
   measurements.
   Also, it brings the same problem as on Glibc: Not even command-line
   termination returns the memory to the OS.
   Therefore, we don't use g_slice at all and commented on it.
 * The custom Linux and Windows memory measurement approaches
   have been shown to be inefficient.
   As a workaround, scripts disable memory limiting.
 * A better approach -- but it will only work on Glibc -- might
   be to hook into malloc(), realloc() and free() globally
   and use the malloc_usable_size() of a heap object for
   memory measurements. This will be relatively precise and cheap.
 * We still need the "Object" base class in order to measure
   memory usage as a fallback approach.
</pre>
</div>
</content>
</entry>
<entry>
<title>improved command line option handling</title>
<updated>2016-11-18T06:05:52+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2016-11-16T15:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=cb5e08b40d7444817c7eb6c1e4e8bf5208c2823c'/>
<id>cb5e08b40d7444817c7eb6c1e4e8bf5208c2823c</id>
<content type='text'>
 * it turns out that option-like arguments could not be reliably passed to
   SciTECO scripts for two reasons:
   a) "--" arguments are not removed from argv by GOption if it detects
      and following option-like argument.
      "--" would thus be passed as a script argument which will disable
      option parsing in scripts that interpret "--".
   b) A script run via the Hash-Bang line "#!...sciteco -m" would
      require an explicit "--" to turn of GOption parsing.
      However it is __impossible__ to insert after the script file name
      on UNIX.
 * Therefore, SciTECO now removes leading "--" arguments left over by GOption.
 * If possible (Glib &gt;= 2.44), option parsing is performed in strict POSIX
   mode which inhibits parsing after the first non-option argument.
   This reduces the number of cases where an explicit "--" is required.
 * --mung no longer takes an argument. Instead, the first non-option argument
   is expected to be the script file name.
   This looks weird at first but is more consistent with how other interpeters
   work. Once we revise argument passing to scripts, the script name can also
   be passed to the script which is more consistent with it being the first
   non-option argument.
   Also, with strict POSIX parsing, this fixed Hash-Bang lines since
   the script file name constructed by the kernel will automatically switch
   off option parsing, passing all option-like script arguments uninterpreted
   to the script.
 * Since we're supporting Glib &lt; 2.44, the Hash-Bang lines are still broken
   for certain builds.
   Therefore, a wrapper script is installed to libexecdir (it never has to be
   executed by users and Hash-Bang lines need absolute paths anyway) which
   transparently inserts "--" into the SciTECO command line and should be used
   as the interpreter in portable SciTECO scripts.
   The wrapper script is generated and points to the exact SciTECO binary
   installed. This is important when doing parallel installs of Curses and Gtk
   binaries since each one will get its own working wrapper script.
   The wrapper-script workaround can be removed once we depend on Glib &gt;= 2.44
   (some day...).
 * The default /usr/bin/env Hash-Bang lines are no longer used in the
   scripts since they are broken anyway (UNIX incl. Linux cannot pass
   multiple arguments to the interpreter!).
   Scripts that get installed will get a fixed-up Hash-Bang line referring
   to the installed SciTECO binary anyway.
 * Interface::main() has been renamed to Interface::init() and is optional
   now. The Interface::main() method was introduced because of the misconception
   that interfaces will find their options in the argv array and have to do
   their own parsing.
   This is wrong, since their option group already cares about parsing.
   Therefore, gtk_init() does not have to called explicitly, too.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * it turns out that option-like arguments could not be reliably passed to
   SciTECO scripts for two reasons:
   a) "--" arguments are not removed from argv by GOption if it detects
      and following option-like argument.
      "--" would thus be passed as a script argument which will disable
      option parsing in scripts that interpret "--".
   b) A script run via the Hash-Bang line "#!...sciteco -m" would
      require an explicit "--" to turn of GOption parsing.
      However it is __impossible__ to insert after the script file name
      on UNIX.
 * Therefore, SciTECO now removes leading "--" arguments left over by GOption.
 * If possible (Glib &gt;= 2.44), option parsing is performed in strict POSIX
   mode which inhibits parsing after the first non-option argument.
   This reduces the number of cases where an explicit "--" is required.
 * --mung no longer takes an argument. Instead, the first non-option argument
   is expected to be the script file name.
   This looks weird at first but is more consistent with how other interpeters
   work. Once we revise argument passing to scripts, the script name can also
   be passed to the script which is more consistent with it being the first
   non-option argument.
   Also, with strict POSIX parsing, this fixed Hash-Bang lines since
   the script file name constructed by the kernel will automatically switch
   off option parsing, passing all option-like script arguments uninterpreted
   to the script.
 * Since we're supporting Glib &lt; 2.44, the Hash-Bang lines are still broken
   for certain builds.
   Therefore, a wrapper script is installed to libexecdir (it never has to be
   executed by users and Hash-Bang lines need absolute paths anyway) which
   transparently inserts "--" into the SciTECO command line and should be used
   as the interpreter in portable SciTECO scripts.
   The wrapper script is generated and points to the exact SciTECO binary
   installed. This is important when doing parallel installs of Curses and Gtk
   binaries since each one will get its own working wrapper script.
   The wrapper-script workaround can be removed once we depend on Glib &gt;= 2.44
   (some day...).
 * The default /usr/bin/env Hash-Bang lines are no longer used in the
   scripts since they are broken anyway (UNIX incl. Linux cannot pass
   multiple arguments to the interpreter!).
   Scripts that get installed will get a fixed-up Hash-Bang line referring
   to the installed SciTECO binary anyway.
 * Interface::main() has been renamed to Interface::init() and is optional
   now. The Interface::main() method was introduced because of the misconception
   that interfaces will find their options in the argv array and have to do
   their own parsing.
   This is wrong, since their option group already cares about parsing.
   Therefore, gtk_init() does not have to called explicitly, too.
</pre>
</div>
</content>
</entry>
<entry>
<title>implemented self-documenting (online) help system</title>
<updated>2016-11-18T06:05:52+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2016-02-26T01:02:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=e7867fb0d9979c550e6e3d7597ece73b680c4af6'/>
<id>e7867fb0d9979c550e6e3d7597ece73b680c4af6</id>
<content type='text'>
 * the new "?" (help) command can be used to look up
   help topics.
 * help topics are index from $SCITECOPATH/women/*.woman.tec
   files.
 * looking up a help topic opens the corresponding "womanpage"
   and jumps to the position of the topic (it acts like an anchor
   into the document).
 * styling is performed by *.woman.tec files.
 * Setting up the Scintilla view and munging the *.tec file
   is performed by the new "woman.tes" lexer.
   On supporting UIs (Gtk), womanpages are shown in a variable-width
   font.
 * Woman pages are usually not hand-written, but generated from manpages.
   A special Groff post-processor grosciteco has been introduced for this
   purpose. It is much like grotty, but can output SciTECO macros for styling
   the document (ie. the *.woman.tec files).
   It is documented in its own man-page.
 * grosciteco also introduces sciteco.tmac - special Troff macros
   for controlling the formatting of the document in SciTECO.
   It also defines .SCITECO_TOPIC which can be used to mark up
   help topics/terms in Troff markup.
 * Woman pages are generated/formatted by grosciteco at compile-time, so
   they will work on platforms without Groff (ie. as on windows).
 * Groff has been added as a hard compile-time requirement.
 * The sciteco(1) and sciteco(7) man pages have been augmented with
   help topic anchors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * the new "?" (help) command can be used to look up
   help topics.
 * help topics are index from $SCITECOPATH/women/*.woman.tec
   files.
 * looking up a help topic opens the corresponding "womanpage"
   and jumps to the position of the topic (it acts like an anchor
   into the document).
 * styling is performed by *.woman.tec files.
 * Setting up the Scintilla view and munging the *.tec file
   is performed by the new "woman.tes" lexer.
   On supporting UIs (Gtk), womanpages are shown in a variable-width
   font.
 * Woman pages are usually not hand-written, but generated from manpages.
   A special Groff post-processor grosciteco has been introduced for this
   purpose. It is much like grotty, but can output SciTECO macros for styling
   the document (ie. the *.woman.tec files).
   It is documented in its own man-page.
 * grosciteco also introduces sciteco.tmac - special Troff macros
   for controlling the formatting of the document in SciTECO.
   It also defines .SCITECO_TOPIC which can be used to mark up
   help topics/terms in Troff markup.
 * Woman pages are generated/formatted by grosciteco at compile-time, so
   they will work on platforms without Groff (ie. as on windows).
 * Groff has been added as a hard compile-time requirement.
 * The sciteco(1) and sciteco(7) man pages have been augmented with
   help topic anchors.
</pre>
</div>
</content>
</entry>
<entry>
<title>changed syntax for long Q-Register names: use [] brackets instead of {}</title>
<updated>2014-11-01T23:06:28+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2014-11-01T23:06:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=a395c9df173b53e095f1a20d6bc583063cdb60c7'/>
<id>a395c9df173b53e095f1a20d6bc583063cdb60c7</id>
<content type='text'>
this breaks many existing scripts, and means you may have to rebuild SciTECO
with ./configure --enable-bootstrap

The syntax of SciTECO might change in backwards-incompatible until
version 1.0 is released.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this breaks many existing scripts, and means you may have to rebuild SciTECO
with ./configure --enable-bootstrap

The syntax of SciTECO might change in backwards-incompatible until
version 1.0 is released.
</pre>
</div>
</content>
</entry>
<entry>
<title>use new ^E\ string building character for arrays and to simplify number insertions</title>
<updated>2013-03-17T17:46:55+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2013-03-17T17:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=fee2f8c935e6a9675ac4b0e1559a564728e681e5'/>
<id>fee2f8c935e6a9675ac4b0e1559a564728e681e5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>prevent image generation during HTML production, instead generate HTML tables using htbl.tes preprocessor</title>
<updated>2013-03-16T17:07:32+00:00</updated>
<author>
<name>Robin Haberkorn</name>
<email>robin.haberkorn@googlemail.com</email>
</author>
<published>2013-03-13T16:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.fmsbw.de/sciteco/commit/?id=1c4c0acaeb284c5b65c6e117fdf2d2aa3c4dbdcb'/>
<id>1c4c0acaeb284c5b65c6e117fdf2d2aa3c4dbdcb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
