>> > Reason is that traps are not recursive, IIRC: Traps are not
>> > handled while another trap is active (this seems to be missing in
>> > the info file).
>
> But they are handled sequentially when a `.sp' passes more than one in a
> single bound.

Yes.

>> > In other words, while your first trap is active, it moves down
>> > one line, which passes some traps without triggering them.
>>
>> That bit of information is missing from the manual
>
> And from CSTR 54.  Werner, are you sure about that?  I don't recall
> hearing it before.

No, I'm not sure, but I don't have a different explanation without
debugging this (for which I don't have time, sorry).

> Going back to Dave's supplied test, I get two distinct sets of
> output.  [...]
>
> Appending ` \n(nl' to each `.tm' line and repeated runs, commenting
> various `.wh' out, and then marking up what's present in the above
> output, and what's a duplicate, gives
>
>     ps
>     trap 1 156000  present
>     trap 2 168000  present
>     trap 3 168000           same as 2
>     trap 4 180000  present
>     trap 5 180000           same as 4
>     trap 6 192000  present

BTW, an exact list of trap positions can be printed using the `.ptr'
request:

  trap1   151200
  trap2   158400
  trap3   165600
  trap4   172800
  trap5   180000
  trap6   187200


    Werner

Reply via email to