equal
deleted
inserted
replaced
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 = _( |