# HG changeset patch # User Christian Ebert # Date 1273396483 -7200 # Node ID 9f46c562c4b5dd35a612162b027174d8c3384ac5 # Parent 25235530940d61328e0655486009c4fea9e8c18a Support extensions using dorecord, e.g. crecord Provide extendable keyword.recordextensions variable, so other extensions beside hgext.record which provide the dorecord function can cooperate with hgext.keyword like so (example from crecord): def extsetup(): try: keyword = extensions.find('keyword') keyword.restricted += ' crecord qcrecord' try: # use record support in keyword.py if present keyword.recordcommands += ' crecord qcrecord' keyword.recordextensions += ' crecord' except AttributeError: pass except KeyError: pass diff -r 25235530940d -r 9f46c562c4b5 hgkw/keyword.py --- a/hgkw/keyword.py Wed May 05 14:02:45 2010 +0200 +++ b/hgkw/keyword.py Sun May 09 11:14:43 2010 +0200 @@ -91,6 +91,8 @@ # commands using dorecord recordcommands = 'record qrecord' +# names of extensions using dorecord +recordextensions = 'record' # provide cvs-like UTC date filter utcdate = lambda x: util.datestr((x[0], 0), '%Y/%m/%d %H:%M:%S') @@ -515,11 +517,12 @@ extensions.wrapfunction(patch, 'diff', kw_diff) for c in 'annotate changeset rev filediff diff'.split(): extensions.wrapfunction(webcommands, c, kwweb_skip) - try: - record = extensions.find('record') - extensions.wrapfunction(record, 'dorecord', kw_dorecord) - except KeyError: - pass + for name in recordextensions.split(): + try: + record = extensions.find(name) + extensions.wrapfunction(record, 'dorecord', kw_dorecord) + except KeyError: + pass cmdtable = { 'kwdemo':