# HG changeset patch # User Christian Ebert # Date 1273396483 -7200 # Node ID 6d0d945f9e5232ee377a2be2e78fde5a607dea75 # Parent b5ef95b5ae141eaf96f49813b9672f469a7b03cc keyword: 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 b5ef95b5ae14 -r 6d0d945f9e52 hgext/keyword.py --- a/hgext/keyword.py Wed May 12 14:49:46 2010 -0500 +++ b/hgext/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':