Patch: tal:define="local var expr"

[email protected] Thu, 21 Sep 2006 15:29:00 -0400
Newsgroups gmane.comp.lang.perl.modules.petal
Message-ID <D8D5877DA585E44EB09C01220755320D0125E81E@STAUNTON.ad.priority-health.com>
This is a multi-part message in MIME format.

------_=_NextPart_001_01C6DDB4.310F2AAD
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: quoted-printable


Here is a patch that localizes tal:define=3D"local var expr", as in TAL.
It leaves unspecified defines as global.
It adds <=3Flocal name=3D"var"=3F> ... <=3Fend=3F> to the canonical syntax.
Also, some oddities in repeat loops are cleaned up by localizing, and
some vars are properly quoted in code.

-Jeff

** ** **  PRIVILEGED AND CONFIDENTIAL  ** ** **
This email transmission contains privileged and confidential information =
intended only for the use of the individual or entity named above.  Any =
unauthorized review, use, disclosure or distribution is prohibited and may =
be a violation of law.  If you are not the intended recipient or a person =
responsible for delivering this message to an intended recipient, please =
delete the email and immediately notify the sender via the email return =
address or mailto:[email protected]  Thank you.

- end -
=0D
------_=_NextPart_001_01C6DDB4.310F2AAD
Content-Type: application/octet-stream;
 name=petal-local.patch
Content-Transfer-Encoding: base64
Content-Description: petal-local.patch
Content-Disposition: attachment;
 filename=petal-local.patch

SW5kZXg6IGxpYi9QZXRhbC9Db2RlR2VuZXJhdG9yLnBtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92
YXIvc3Bvb2wvY3ZzL1BldGFsL2xpYi9QZXRhbC9Db2RlR2VuZXJhdG9yLnBtLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjQ4CmRpZmYgLXIxLjQ4IENvZGVHZW5lcmF0b3IucG0KMzljMzkKPCBvdXIg
JFBJX1JFID0gJ148XD8oPzpcc3xccnxcbikqKGF0dHJ8aW5jbHVkZXx2YXJ8aWZ8Y29uZGl0aW9u
fGVsc2V8cmVwZWF0fGxvb3B8Zm9yZWFjaHxmb3J8ZXZhbHxlbmRldmFsfGVuZHxkZWZzbG90KS4q
P1w/PiQnOwotLS0KPiBvdXIgJFBJX1JFID0gJ148XD8oPzpcc3xccnxcbikqKGF0dHJ8aW5jbHVk
ZXxsb2NhbHx2YXJ8aWZ8Y29uZGl0aW9ufGVsc2V8cmVwZWF0fGxvb3B8Zm9yZWFjaHxmb3J8ZXZh
bHxlbmRldmFsfGVuZHxkZWZzbG90KS4qP1w/PiQnOwoxODFhMTgyCj4gCQkvXmxvY2FsJC8gICAg
IGFuZCBkbyB7ICRjbGFzcy0+X2xvY2FsOyAgIGxhc3QgQ0FTRSB9OwozMzBhMzMyLDM1Ngo+ICMg
JGNsYXNzLT5fbG9jYWw7Cj4gIyAtLS0tLS0tLS0tLS0tCj4gIyBwcm9jZXNzIGEgPD9sb2NhbCBu
YW1lPSJibGFoIj8+IHN0YXRlbWVudAo+IHN1YiBfbG9jYWwKPiB7Cj4gICAgIG15ICRjbGFzcyA9
IHNoaWZ0Owo+ICAgICBteSAkdmFyaWFibGUgPSAkdG9rZW5faGFzaHtuYW1lfSBvcgo+ICAgICAg
ICAgY29uZmVzcyAiQ2Fubm90IHBhcnNlICR0b2tlbiA6ICduYW1lJyBhdHRyaWJ1dGUgaXMgbm90
IGRlZmluZWQiOwo+ICAgICAKPiAgICAgKGRlZmluZWQgJHZhcmlhYmxlIGFuZCAkdmFyaWFibGUp
IG9yCj4gICAgICAgICBjb25mZXNzICJDYW5ub3QgcGFyc2UgJHRva2VuIDogJ25hbWUnIGF0dHJp
YnV0ZSBpcyBub3QgZGVmaW5lZCI7Cj4gICAgIAo+ICAgICAjIHNldCB0aGUgdmFyaWFibGUgaW4g
dGhlICR2YXJpYWJsZXMgaGFzaAo+ICAgICBteSAkdG1wID0gJHZhcmlhYmxlOwo+ICAgICAkdG1w
ID1+IHMvXC4uKi8vOwo+ICAgICAkdmFyaWFibGVzLT57JHRtcH0gPSAxOwo+ICAgICAKPiAgICAg
JHZhcmlhYmxlID1+IHMvXCcvXFxcJy9nOwo+ICAgICAkY2xhc3MtPmFkZF9jb2RlICggJ2RvIHsn
ICk7Cj4gICAgICRjbGFzcy0+aW5kZW50X2luY3JlbWVudCgpOwo+IAo+ICAgICBteSAkcXVvdGVf
dmFyID0gcXVvdGVtZXRhKCR2YXJpYWJsZSk7Cj4gICAgICRjbGFzcy0+YWRkX2NvZGUgKCJsb2Nh
bCBcJGhhc2gtPntxcXskcXVvdGVfdmFyfX07Iik7Cj4gfQo+IAo0ODNjNTA5CjwgICAgICRjbGFz
cy0+YWRkX2NvZGUgKCJteSBcJGhhc2ggICA9IFwkaGFzaC0+bmV3KCk7Iik7Ci0tLQo+ICAgICAj
ICRjbGFzcy0+YWRkX2NvZGUgKCJteSBcJGhhc2ggICA9IFwkaGFzaC0+bmV3KCk7Iik7CjQ5NCw0
OTljNTIwLDUyNQo8ICAgICAkY2xhc3MtPmFkZF9jb2RlICgiXCRoYXNoLT57X19jb3VudF9ffSAg
ICA9IFwkbnVtYmVyOyIpOwo8ICAgICAkY2xhc3MtPmFkZF9jb2RlICgiXCRoYXNoLT57X19pc19m
aXJzdF9ffSA9IFwkc3RhcnQ7Iik7CjwgICAgICRjbGFzcy0+YWRkX2NvZGUgKCJcJGhhc2gtPntf
X2lzX2xhc3RfX30gID0gXCRlbmQ7Iik7CjwgICAgICRjbGFzcy0+YWRkX2NvZGUgKCJcJGhhc2gt
PntfX2lzX2lubmVyX199ID0gXCRpbm5lcjsiKTsKPCAgICAgJGNsYXNzLT5hZGRfY29kZSAoIlwk
aGFzaC0+e19fZXZlbl9ffSAgICAgPSBcJGV2ZW47Iik7CjwgICAgICRjbGFzcy0+YWRkX2NvZGUg
KCJcJGhhc2gtPntfX29kZF9ffSAgICAgID0gXCRvZGQ7Iik7Ci0tLQo+ICAgICAkY2xhc3MtPmFk
ZF9jb2RlICgibG9jYWwgXCRoYXNoLT57X19jb3VudF9ffSAgICA9IFwkbnVtYmVyOyIpOwo+ICAg
ICAkY2xhc3MtPmFkZF9jb2RlICgibG9jYWwgXCRoYXNoLT57X19pc19maXJzdF9ffSA9IFwkc3Rh
cnQ7Iik7Cj4gICAgICRjbGFzcy0+YWRkX2NvZGUgKCJsb2NhbCBcJGhhc2gtPntfX2lzX2xhc3Rf
X30gID0gXCRlbmQ7Iik7Cj4gICAgICRjbGFzcy0+YWRkX2NvZGUgKCJsb2NhbCBcJGhhc2gtPntf
X2lzX2lubmVyX199ID0gXCRpbm5lcjsiKTsKPiAgICAgJGNsYXNzLT5hZGRfY29kZSAoImxvY2Fs
IFwkaGFzaC0+e19fZXZlbl9ffSAgICAgPSBcJGV2ZW47Iik7Cj4gICAgICRjbGFzcy0+YWRkX2Nv
ZGUgKCJsb2NhbCBcJGhhc2gtPntfX29kZF9ffSAgICAgID0gXCRvZGQ7Iik7CjUwMmM1MjgKPCAg
ICAgJGNsYXNzLT5hZGRfY29kZSAoIlwkaGFzaC0+e3JlcGVhdH0gPSB7Iik7Ci0tLQo+ICAgICAk
Y2xhc3MtPmFkZF9jb2RlICgibG9jYWwgXCRoYXNoLT57cmVwZWF0fSA9IHsiKTsKNTEyYTUzOSw1
NDAKPiAKPiAgICAgbXkgJHF1b3RlX2FzID0gcXVvdGVtZXRhKCRhcyk7CjUxNGM1NDIsNTQ0Cjwg
ICAgICRjbGFzcy0+YWRkX2NvZGUgKCJcJGhhc2gtPnsnJGFzJ30gPSBcJGFycmF5W1wkaV07Iik7
Ci0tLQo+ICAgICAkY2xhc3MtPmFkZF9jb2RlICgibG9jYWwgXCRoYXNoLT57cXF7JHF1b3RlX2Fz
fX0gPSBcJGFycmF5W1wkaV07Iik7Cj4gCj4gICAgICRjbGFzcy0+YWRkX2NvZGUgKCJcJGhhc2gt
PmRlbGV0ZV9jYWNoZWQocXF7KCRxdW90ZV9hc3xyZXBlYXR8X18oY291bnR8ZXZlbnxvZGR8fGlz
XyhmaXJzdHxsYXN0fGlubmVyKSlfXyl9KTsiKTsKSW5kZXg6IGxpYi9QZXRhbC9DYW5vbmljYWxp
emVyL1hIVE1MLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvc3Bvb2wvY3ZzL1BldGFsL2xp
Yi9QZXRhbC9DYW5vbmljYWxpemVyL1hIVE1MLnBtLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI1
CmRpZmYgLXIxLjI1IFhIVE1MLnBtCjIzOGMyMzgsMjM5CjwgICAgIHB1c2ggQFBldGFsOjpDYW5v
bmljYWxpemVyOjpYTUw6OlJlc3VsdCwgbWFwIHsgJzw/ZW5kPz4nIH0gMSAuLiAoJHJlcGVhdCsk
Y29uZGl0aW9uKyRkZWZpbmVfc2xvdCk7Ci0tLQo+ICAgICBteSAkbG9jYWwgPSAkbm9kZS0+e2xv
Y2FsfSB8fCAnMCc7Cj4gICAgIHB1c2ggQFBldGFsOjpDYW5vbmljYWxpemVyOjpYTUw6OlJlc3Vs
dCwgbWFwIHsgJzw/ZW5kPz4nIH0gMSAuLiAoJHJlcGVhdCskY29uZGl0aW9uKyRkZWZpbmVfc2xv
dCskbG9jYWwpOwpJbmRleDogbGliL1BldGFsL0Nhbm9uaWNhbGl6ZXIvWE1MLnBtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC92YXIvc3Bvb2wvY3ZzL1BldGFsL2xpYi9QZXRhbC9DYW5vbmljYWxpemVy
L1hNTC5wbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNwpkaWZmIC1yMS4zNyBYTUwucG0KMjc3
YzI3NywyNzgKPCAgICAgcHVzaCBAUmVzdWx0LCBtYXAgeyAnPD9lbmQ/PicgfSAxIC4uICgkcmVw
ZWF0KyRjb25kaXRpb24rJGRlZmluZV9zbG90KTsKLS0tCj4gICAgIG15ICRsb2NhbCA9ICRub2Rl
LT57bG9jYWx9IHx8ICcwJzsKPiAgICAgcHVzaCBAUmVzdWx0LCBtYXAgeyAnPD9lbmQ/PicgfSAx
IC4uICgkcmVwZWF0KyRjb25kaXRpb24rJGRlZmluZV9zbG90KyRsb2NhbCk7CjM5OWM0MDAsNDIw
CjwgICAgIHB1c2ggQFJlc3VsdCwgbWFwIHsgIjw/dmFyIG5hbWU9XCJzZXQ6ICRfXCI/PiIgfSAk
Y2xhc3MtPl9zcGxpdF9leHByZXNzaW9uICgkZXhwcik7Ci0tLQo+IAo+ICAgICBmb3IgKCRjbGFz
cy0+X3NwbGl0X2V4cHJlc3Npb24gKCRleHByKSkgewo+ICAgICAgICAgIyBwdXQgJ2xvY2FsIG5h
bWUgZXhwcicgaW4gYSA8P2xvY2FsPz4gYmxvY2sKPiAKPiAgICAgICAgIGlmIChzL15sb2NhbFxz
KygoXFMrKVxzK1xTKykvJDEvKSB7Cj4gICAgICAgICAgICBteSAkbmFtZSA9ICQyOwo+ICAgICAg
ICAgICAgcHVzaCBAUmVzdWx0LCAgIjw/bG9jYWwgbmFtZT1cIiRuYW1lXCI/PiI7Cj4gICAgICAg
ICAgICAkTm9kZVN0YWNrWyQjTm9kZVN0YWNrXS0+e2xvY2FsfSsrOwo+IAo+ICAgICAgICAgfSAK
PiAgICAgICAgICMgdHJlYXQgJ2dsb2JhbCcgYXMgbm9ybWFsCj4gICAgICAgICBlbHNpZiAocy9e
Z2xvYmFsXHMrKChcUyspXHMrXFMrKS8kMS8pIHsKPiAgICAgICAgICAgICA7Cj4gICAgICAgICB9
IAo+ICAgICAgICAgIyB0cmVhdCB1bnNwZWNpZmllZCBhcyBnbG9iYWwKPiAgICAgICAgIGVsc2Ug
ewo+ICAgICAgICAgICAgIDsKPiAgICAgICAgIH0KPiAgICAgICAgIHB1c2ggQFJlc3VsdCwgICI8
P3ZhciBuYW1lPVwic2V0OiAkX1wiPz4iOwo+ICAgICB9Cj4gCg==

------_=_NextPart_001_01C6DDB4.310F2AAD--