# HG changeset patch # User FUJIWARA Katsunori # Date 1501603400 -32400 # Node ID 97ee669f1f6d785395dd1174e825f9a5a30f8acf # Parent 81b12f69ef5b10d2c5a5870eeab6c4c3d07e1a6d i18n: make hggettext use original docstring to compute offset Before this patch, hggettext uses __doc__ of each functions to compute offset of document text. But __doc__ of many functions is already modified by decorators in registrar (e.g. @templatekeyword adds ":NAME: " prefix to it), and hggettext can not find it out in original source. This causes many "unknown offset in ..." warning at "make update-pot", and leaving them might cause overlooking serious problems. This patch makes hggettext use original docstring, which decorators in registrar save into _origdoc, to compute offset. Even after this patch, there are still a few "unknown offset in ..." warning at "make update-pot" for specific reasons. These will be fixed later one by one. diff -r 81b12f69ef5b -r 97ee669f1f6d i18n/hggettext --- a/i18n/hggettext Fri Aug 11 14:21:49 2017 +0200 +++ b/i18n/hggettext Wed Aug 02 01:03:20 2017 +0900 @@ -122,9 +122,14 @@ name = "%s.%s" % (actualpath, func.__name__) lineno = inspect.getsourcelines(func)[1] doc = func.__doc__ + origdoc = getattr(func, '_origdoc', '') if rstrip: doc = doc.rstrip() - lineno += offset(src, doc, name, 1) + origdoc = origdoc.rstrip() + if origdoc: + lineno += offset(src, origdoc, name, 1) + else: + lineno += offset(src, doc, name, 1) print(poentry(actualpath, lineno, doc))