mercurial/fancyopts.py
changeset 25563 69e8384a436c
parent 21794 753af9ee7c81
child 25947 6002e2d95e54
equal deleted inserted replaced
25560:2b2108c35bfc 25563:69e8384a436c
   101     opts, args = parse(args, shortlist, namelist)
   101     opts, args = parse(args, shortlist, namelist)
   102 
   102 
   103     # transfer result to state
   103     # transfer result to state
   104     for opt, val in opts:
   104     for opt, val in opts:
   105         name = argmap[opt]
   105         name = argmap[opt]
   106         t = type(defmap[name])
   106         obj = defmap[name]
   107         if t is type(fancyopts):
   107         t = type(obj)
       
   108         if callable(obj):
   108             state[name] = defmap[name](val)
   109             state[name] = defmap[name](val)
   109         elif t is type(1):
   110         elif t is type(1):
   110             try:
   111             try:
   111                 state[name] = int(val)
   112                 state[name] = int(val)
   112             except ValueError:
   113             except ValueError: