Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
A new 'ABRIDGE_CLOSURES' configuration parameter has been added to esconfig.h. It defaults to 0 so a closure string is abridged to %closure(a;b;...)@ * {...} When 'ABRIDGE_CLOSURES' is enabled, some old code that was previously commented out has been uncommented, so even closures with cyclical references can be printed: ; whatis <={@ x y { (x y) = @ cmd { $cmd $y } 1 ; result $x }} %closure(x='0 $&nestedbinding';y=1)@ cmd{$cmd $y} # 0 $&nestedbinding # the code tree associated with the closure, i.e. # '@ cmd{$cmd $y}' in this case # {n} $&nestedbinding # the code tree bound to another closure # # NOTE: $&nestedbinding doesn't actually exist. # It's purely an indicator of a cyclical reference, like # how 'wryun#1=(a b . wryun#1#)' is used in some Lisps to avoid # printing an endless stream of 'a b'.
- Loading branch information