shithub: hugo

Download patch

ref: 8fe1070872bd59961b9700ea5e62ad11a1b04b96
parent: 2b3b90a6dfc30677c6cd20e5a34a7c8243ba9145
author: Bjørn Erik Pedersen <[email protected]>
date: Tue Feb 9 14:00:07 EST 2016

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
```

--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -814,7 +814,7 @@
 		}
 		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 @@
 
 		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 @@
 		}
 
 	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