mercurial/extensions.py
changeset 34048 0e0ac8f09048
parent 34014 47e52f079a57
child 34087 5361771f9714
--- a/mercurial/extensions.py	Sat Aug 19 22:04:03 2017 +0900
+++ b/mercurial/extensions.py	Tue Aug 29 18:24:51 2017 +0200
@@ -133,6 +133,14 @@
                           "registrar.command to register '%s'" % c, '4.6')
         missing = [a for a in _cmdfuncattrs if not util.safehasattr(f, a)]
         if not missing:
+            for option in e[1]:
+                default = option[2]
+                if isinstance(default, type(u'')):
+                    raise error.ProgrammingError(
+                        "option '%s.%s' has a unicode default value"
+                        % (c, option[1]),
+                        hint=("change the %s.%s default value to a "
+                              "non-unicode string" % (c, option[1])))
             continue
         raise error.ProgrammingError(
             'missing attributes: %s' % ', '.join(missing),