docs: def context(fname, node):
      """
      Context manager managing exceptions and adding line number of the
      current node and name of the current file to the error message.
  
      :param fname: the current file being processed
      :param node: the current node being processed
      """
      try:
          yield node
      except Exception:
          etype, exc, tb = sys.exc_info()
          msg = 'node %s: %s, line %s of %s' % (
              striptag(node.tag), exc, getattr(node, 'lineno', '?'), fname)
          raise_(etype, msg, tb)