mercurial/extensions.py
changeset 5031 af0995261f02
parent 4819 616a5adbf402
child 5131 3edd6fedc33a
equal deleted inserted replaced
5030:c89671c3b062 5031:af0995261f02
    22             if k.endswith('.' + name) or k.endswith('/' + name):
    22             if k.endswith('.' + name) or k.endswith('/' + name):
    23                 return v
    23                 return v
    24         raise KeyError(name)
    24         raise KeyError(name)
    25 
    25 
    26 def load(ui, name, path):
    26 def load(ui, name, path):
    27     if name in _extensions:
    27     if name.startswith('hgext.'):
       
    28         shortname = name[6:]
       
    29     else:
       
    30         shortname = name
       
    31     if shortname in _extensions:
    28         return
    32         return
    29     if path:
    33     if path:
    30         # the module will be loaded in sys.modules
    34         # the module will be loaded in sys.modules
    31         # choose an unique name so that it doesn't
    35         # choose an unique name so that it doesn't
    32         # conflicts with other modules
    36         # conflicts with other modules
    47             return mod
    51             return mod
    48         try:
    52         try:
    49             mod = importh("hgext.%s" % name)
    53             mod = importh("hgext.%s" % name)
    50         except ImportError:
    54         except ImportError:
    51             mod = importh(name)
    55             mod = importh(name)
    52     _extensions[name] = mod
    56     _extensions[shortname] = mod
    53 
    57 
    54     uisetup = getattr(mod, 'uisetup', None)
    58     uisetup = getattr(mod, 'uisetup', None)
    55     if uisetup:
    59     if uisetup:
    56         uisetup(ui)
    60         uisetup(ui)
    57     reposetup = getattr(mod, 'reposetup', None)
    61     reposetup = getattr(mod, 'reposetup', None)