• Rob Pike's avatar
    text/template: better error messages during execution, · 7f4b4c0c
    Rob Pike authored
    They now show the correct name, the byte offset on the line, and context for the failed evaluation.
    Before:
            template: three:7: error calling index: index out of range: 5
    After:
            template: top:7:20: executing "three" at <index "hi" $>: error calling index: index out of range: 5
    Here top is the template that was parsed to create the set, and the error appears with the action
    starting at byte 20 of line 7 of "top", inside the template called "three", evaluating the expression
    <index "hi" $>.
    
    Also fix a bug in index: it didn't work on strings. Ouch.
    
    Also fix bug in error for index: was showing type of index not slice.
    The real previous error was:
            template: three:7: error calling index: can't index item of type int
    The html/template package's errors can be improved by building on this;
    I'll do that in a separate pass.
    
    Extends the API for text/template/parse but only by addition of a field and method. The
    old API still works.
    
    Fixes #3188.
    
    R=golang-dev, dsymonds
    CC=golang-dev
    https://golang.org/cl/6576058
    7f4b4c0c
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...