[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/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
Re: [Groff] pic bug between 1.18.1 and 1.19.x, Heinz-Jürgen Oertel, 2005/06/17