
Mon, 27 Oct 2003

   *  zoem-03-300 released. We are spending day 300 in 2003 people!

   *  added -tl k [tablength] option for regulating (optional) indent.

   *  Introduced zoemzoem manual page which lists the available
      zoem documentation.

   *  Fixed DOCTYPE declaration for html output, it contained stupid
      whitespace/case errors.

   *  Fixed some XML/HTML syntactic sugar bugs.

   *  Introduced the concept of alpha-stage new syntax.
      alpha-stage syntax is volatile and subject to change.

   *  \: is now generally described as introducing a pre-processing sequence;
      Its main use (and with syntax obeying the principle of Huffman
      encoding) is that of introducing comments.

   *  Retro-actively declared the recently introduced \:\ syntax
      to be alpha-stage, and removed it.

      Subtle errors could arise when commenting out
      macro sequences \foo as \:\foo (removing the newline as well).
      \:\ will never be extended preprocessing syntax again.

      The functionality previously provided by \:\ is now provided by \:/
      (introducing a comment up till and including the newline).

   *  Added alpha-stage \<foobar!> syntactic sugar for writing HTML-style
      single tags such as <br>. Now you can write
      \<br!> rather than \@{<br>} -- both result in <br>.
      It's alpha stage because perhaps another character might be better.
      Opinions, anyone?

   *  Added \:! preprocessing sequence, and the following rule:
      \: followed by whitespace or alphanumerical character or backslash will
      always be a regular comment up till and excluding the newline.

      \:! will be replaced during preprocessing time by a '\' (backslash).
      One use is this:
      \verbatim{\protect{\foo
         \bar
         \:!:  this will end up as a comment.
      }}

Sun, 12 Oct 2003

   *  zoem-03-285 released.

   *  Disabled (by default) \system#3, implemented the --unsafe,
      --unsafe-silent, and --system-honor options.

      With --unsafe, the user is prompted for each \system#3 invocation.
         If prompting is not possible (due to STDIN redirection),
         the primitive fails.
      With --unsafe-silent, the user is not prompted.
      With --system-honor, any \system#3 failure (for whatever reason,
         including safe behaviour) is regarded as a zoem failure.
         Without --system-honor (i.e. by default), \system#3 failures are
         ignored in all modes: safe, unsafe, and unsafe-silent.

   *  applied/fixed a number of fixes/issues brought forth by Andreas Kahari.

   *  added \dowhile#2 primitive.

   *  added \branch#1 primitive, which employs a vararg.
      \branch{
         {condition1}{branch1}
         {condition2}{branch2}
           ...
         {conditionN}{branchN}
         {else branch}     \: optional
      }

   *  fixed inspect#4 segfaulting bug, and inspect#4 functional bug.

   *  documented the man macros \genkvp#2 \usekvp#2 \defkvp#3 in man_zmm(7).

   *  Added \"man::cat" which can optionally be used to set
      the category heading for manual pages. If not set, a default
      is derived from the \"man::section" macro.

Mon, 22 Sep 2003

   *  Introduced NAME#2 macro; using this will ensure that the NAME
      section is apropos compatible.

   *  groff-base 1.18.1-10 has an entirely new idea of what a reasonable
      right margin is (no less than 2 positions wide). Since zoem adjusted
      the line lenght a little, this caused previous zoem output
      to have no right margin at all. Consequently, zoem now decreases
      the output line length by 2.

   *  \:\ now introduces a comment that will be stripped up to and including
      the newline. All other \: sequences introduce a comment that will
      be stripped up to and excluding the newline.

   *  Eliminated irregular inline file syntax. It now behaves the
      same as other primitives taking an argument (the argument
      is delimited by balanced curlies).

Tue, 12 Aug 2003

   *  zoem-03-224 released

   *  Removed \%snt% syntax in \formatted; replaced by
      fully similar \`snt` syntax. It looks better (no :?) and the % syntax
      was needed for grape keys (the new name for multi-dimensional data).

   *  Replaced low-level at directives \# \^ \_ by single \+{} directive.

   *  Fixed bug in formerly \dfree#1, now \%%%.

   *  Removed dget#1 dset#2 dsetx#2 dfree#1 dprint#1
      Their syntax was assimilated by set#2 def#2 setx#2 defx#2
      so that more functional behaviour was obtained with less primitives.
      Assigning:

      \set{%{a}{b}}{d}.

      retrieval now done using
         \%{a}{b}

      removal done with
         \%%{a}{b} [ \%% for the full tree ]

      dumping done with
         \%%%{a}{b} [ \%%% for the full tree ]

   *  added \"html::charset" to the generic macros.

Tue, 03 Jun 2003

   *  zoem-03-166 released.

   *  began tracking changes in ChangeLog.

