[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] pic bug between 1.18.1 and 1.19.x

From: Werner LEMBERG
Subject: Re: [Groff] pic bug between 1.18.1 and 1.19.x
Date: Fri, 17 Jun 2005 13:14:18 +0200 (CEST)

> Also, it happens only on pics that use for loops.

Aah, there was indeed a change of the code!

  2004-07-19  Werner LEMBERG  <address@hidden>

    * src/preproc/pic/lex.cpp (for_input): Add member `from'.
    Update constructor.
    (do_for, for_input::get, for_input::peek): Handle negative `by'.
    * src/preproc/pic/, doc/, NEWS: Document it.


   The syntax of the for statement is:

     for variable = expr1 to expr2 [by [*]expr3] do X body X

   The semantics are as follows: Set `variable' to `expr1'.  While the
   value of `variable' is less than or equal to `expr2', do body and
   increment `variable' by `expr3'; if `by' is not given, increment
   `variable' by 1.  If `expr3' is prefixed by `*' then `variable'
   will instead be multiplied by `expr3'.  The value of `expr3' can be
   negative for the additive case; `variable' is then tested whether
   it is greater than or equal to `expr2'.  For the multiplicative
   case, `expr3' must be greater than zero.  If the constraints aren't
   met, the loop isn't executed.  [...]

Note the remark about negative values of `expr3', which is new --
maybe this is causing problems.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]