diff mercurial/templatefuncs.py @ 37975:faa41fd282d1

templatefuncs: show hint if extdata source is evaluated to empty (issue5843)
author Yuya Nishihara <yuya@tcha.org>
date Thu, 19 Apr 2018 21:00:12 +0900
parents da083d9fafab
children bd7a3fa71a72
line wrap: on
line diff
--- a/mercurial/templatefuncs.py	Fri May 04 21:31:34 2018 -0700
+++ b/mercurial/templatefuncs.py	Thu Apr 19 21:00:12 2018 +0900
@@ -113,6 +113,13 @@
         raise error.ParseError(_('extdata expects one argument'))
 
     source = evalstring(context, mapping, args['source'])
+    if not source:
+        sym = templateutil.findsymbolicname(args['source'])
+        if sym:
+            raise error.ParseError(_('empty data source specified'),
+                                   hint=_("did you mean extdata('%s')?") % sym)
+        else:
+            raise error.ParseError(_('empty data source specified'))
     cache = context.resource(mapping, 'cache').setdefault('extdata', {})
     ctx = context.resource(mapping, 'ctx')
     if source in cache: