From: Bjørn Erik Pedersen Date: Tue, 9 Feb 2016 18:00:07 +0000 (+0100) Subject: Prevent confusing template errors when seq is nil X-Git-Tag: v0.16~341 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8fe1070872bd59961b9700ea5e62ad11a1b04b96;p=brevno-suite%2Fhugo Prevent confusing template errors when seq is nil The common is the `where` func and this: ``` panic: reflect: call of reflect.Value.Type on zero Value [recovered] panic: reflect: call of reflect.Value.Type on zero Value ``` --- diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go index f495adf9..3c4a8747 100644 --- a/tpl/template_funcs.go +++ b/tpl/template_funcs.go @@ -814,7 +814,7 @@ func where(seq, key interface{}, args ...interface{}) (r interface{}, err error) } return rv.Interface(), nil default: - return nil, errors.New("can't iterate over " + reflect.ValueOf(seq).Type().String()) + return nil, fmt.Errorf("can't iterate over %v", seq) } } @@ -858,7 +858,7 @@ func apply(seq interface{}, fname string, args ...interface{}) (interface{}, err return r, nil default: - return nil, errors.New("can't apply over " + reflect.ValueOf(seq).Type().String()) + return nil, fmt.Errorf("can't apply over %v", seq) } } @@ -950,7 +950,7 @@ func delimit(seq, delimiter interface{}, last ...interface{}) (template.HTML, er } default: - return "", errors.New("can't iterate over " + reflect.ValueOf(seq).Type().String()) + return "", fmt.Errorf("can't iterate over %v", seq) } return template.HTML(str), nil