mercurial/ui.py
changeset 27274 82910fdc216f
parent 27266 4dccc37b87bd
child 27275 f2cd240f2f7c
equal deleted inserted replaced
27273:5d5b98346fc2 27274:82910fdc216f
  1042         ui.write(s, 'label') is equivalent to
  1042         ui.write(s, 'label') is equivalent to
  1043         ui.write(ui.label(s, 'label')).
  1043         ui.write(ui.label(s, 'label')).
  1044         '''
  1044         '''
  1045         return msg
  1045         return msg
  1046 
  1046 
  1047     def develwarn(self, msg):
  1047     def develwarn(self, msg, stacklevel=1):
  1048         """issue a developer warning message"""
  1048         """issue a developer warning message
       
  1049 
       
  1050         Use 'stacklevel' to report the offender some layers further up in the
       
  1051         stack.
       
  1052         """
  1049         msg = 'devel-warn: ' + msg
  1053         msg = 'devel-warn: ' + msg
       
  1054         stacklevel += 1 # get in develwarn
  1050         if self.tracebackflag:
  1055         if self.tracebackflag:
  1051             util.debugstacktrace(msg, 2, self.ferr, self.fout)
  1056             util.debugstacktrace(msg, stacklevel, self.ferr, self.fout)
  1052         else:
  1057         else:
  1053             curframe = inspect.currentframe()
  1058             curframe = inspect.currentframe()
  1054             calframe = inspect.getouterframes(curframe, 2)
  1059             calframe = inspect.getouterframes(curframe, 2)
  1055             self.write_err('%s at: %s:%s (%s)\n' % ((msg,) + calframe[2][1:4]))
  1060             self.write_err('%s at: %s:%s (%s)\n'
       
  1061                            % ((msg,) + calframe[stacklevel][1:4]))
  1056 
  1062 
  1057 class paths(dict):
  1063 class paths(dict):
  1058     """Represents a collection of paths and their configs.
  1064     """Represents a collection of paths and their configs.
  1059 
  1065 
  1060     Data is initially derived from ui instances and the config files they have
  1066     Data is initially derived from ui instances and the config files they have