new bug, new branch
[ikiwiki.git] / doc / bugs / error_handlers_with_gettext_can_clobber___36____64__.mdwn
1 [[!template id=gitbranch name=smcv/ready/careful-eval author="[[smcv]]"]]
2 [[!tag patch]]
3
4 As noted in the Try::Tiny man page, eval/$@ can be quite awkward in
5 corner cases, because $@ has the same properties and problems as C's
6 errno. While writing a regression test for definetemplate
7 in which it couldn't find an appropriate template, I received
8     
9     <span class="error">Error: failed to process template
10     <span class="createlink">deftmpl</span> </span>
11     
12 instead of the intended
13     
14     <span class="error">Error: failed to process template
15     <span class="createlink">deftmpl</span> template deftmpl not
16     found</span>
17     
18 which turned out to be because the "catch"-analogous block called
19 gettext before it used $@, and gettext can call define_gettext,
20 which uses eval.
21
22 Fixed in my branch smcv/ready/careful-eval. --[[smcv]]