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

Aah, there was indeed a change of the code!

  2004-07-19  Werner LEMBERG  <[EMAIL PROTECTED]>

    * 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/pic.man, doc/pic.ms, NEWS: Document it.

>From pic.ms:

   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.


    Werner


_______________________________________________
Groff mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/groff

Reply via email to