Reject malformed =^ at parse time.

This prevents bad =^ forms like =^(1 2 3 4) from slipping through
and crashing in open:ap. (Which can in turn crash dojo, naturally.)

It looks like %tskt should also be defined as

    [%tskt p=term q=wing r=twig s=twig]

in ++twig, but full-on language migrations are beyond my pay grade.
This commit is contained in:
Dan Haffey 2015-11-29 18:44:03 -08:00
parent f800913504
commit 8c6c1d9042

View File

@ -9678,7 +9678,7 @@
^. stet ^. limo ^. stet ^. limo
:~ ['|' (rune bar %tsbr expo)] :~ ['|' (rune bar %tsbr expo)]
['.' (rune dot %tsdt expq)] ['.' (rune dot %tsdt expq)]
['^' (rune ket %tskt expd)] ['^' (rune ket %tskt bono)]
[':' (rune col %tscl expp)] [':' (rune col %tscl expp)]
['<' (rune gal %tsgl expb)] ['<' (rune gal %tsgl expb)]
['>' (rune gar %tsgr expb)] ['>' (rune gar %tsgr expb)]
@ -9871,6 +9871,13 @@
== ==
loaf loaf
== ==
++ bono |. :: term, wing, 2 twigs
;~ gunk :: (as twigs)
(cook |=(cog=term [%cnzz [cog ~]]) sym)
(cook |=(hyp=wing [%cnzz hyp]) rope)
loaf
loaf
==
++ bont ;~ (bend) :: term, optional twig ++ bont ;~ (bend) :: term, optional twig
;~(pfix cen sym) ;~(pfix cen sym)
;~(pfix dot ;~(pose wide ;~(pfix muck loaf))) ;~(pfix dot ;~(pose wide ;~(pfix muck loaf)))