mercurial/extensions.py
changeset 48410 7e6488aa1261
parent 48409 0d0ce2529540
child 48966 6000f5b25c9b
equal deleted inserted replaced
48409:0d0ce2529540 48410:7e6488aa1261
   289         b'loading %sextensions\n',
   289         b'loading %sextensions\n',
   290         b'additional ' if newindex else b'',
   290         b'additional ' if newindex else b'',
   291     )
   291     )
   292     ui.log(b'extension', b'- processing %d entries\n', len(result))
   292     ui.log(b'extension', b'- processing %d entries\n', len(result))
   293     with util.timedcm('load all extensions') as stats:
   293     with util.timedcm('load all extensions') as stats:
       
   294         default_sub_options = ui.configsuboptions(b"extensions", b"*")[1]
       
   295 
   294         for (name, path) in result:
   296         for (name, path) in result:
   295             if path:
   297             if path:
   296                 if path[0:1] == b'!':
   298                 if path[0:1] == b'!':
   297                     if name not in _disabledextensions:
   299                     if name not in _disabledextensions:
   298                         ui.log(
   300                         ui.log(
   313                     error_msg %= (name, path, msg)
   315                     error_msg %= (name, path, msg)
   314                 else:
   316                 else:
   315                     error_msg = _(b'failed to import extension "%s": %s')
   317                     error_msg = _(b'failed to import extension "%s": %s')
   316                     error_msg %= (name, msg)
   318                     error_msg %= (name, msg)
   317 
   319 
       
   320                 options = default_sub_options.copy()
   318                 ext_options = ui.configsuboptions(b"extensions", name)[1]
   321                 ext_options = ui.configsuboptions(b"extensions", name)[1]
   319                 if stringutil.parsebool(ext_options.get(b"required", b'no')):
   322                 options.update(ext_options)
       
   323                 if stringutil.parsebool(options.get(b"required", b'no')):
   320                     hint = None
   324                     hint = None
   321                     if isinstance(inst, error.Hint) and inst.hint:
   325                     if isinstance(inst, error.Hint) and inst.hint:
   322                         hint = inst.hint
   326                         hint = inst.hint
   323                     if hint is None:
   327                     if hint is None:
   324                         hint = _(
   328                         hint = _(