At Sat, 05 Aug 2017 03:16:57 +0900,
FUJIWARA Katsunori wrote:
> 
> At Fri, 4 Aug 2017 00:36:28 +0900,
> Yuya Nishihara wrote:
> > 
> > On Wed, 02 Aug 2017 22:36:45 +0900, FUJIWARA Katsunori wrote:
> > > # HG changeset patch
> > > # User FUJIWARA Katsunori <fo...@lares.dti.ne.jp>
> > > # Date 1501599731 -32400
> > > #      Wed Aug 02 00:02:11 2017 +0900
> > > # Branch stable
> > > # Node ID b6d0bcd19b4dffb2360f909f459c27104ad16565
> > > # Parent  76b171209151fe41dbf8dbfec473cc533f3b40ca
> > > # Available At https://bitbucket.org/foozy/mercurial-wip
> > > #              hg pull https://bitbucket.org/foozy/mercurial-wip -r 
> > > b6d0bcd19b4d
> > > # EXP-Topic i18n-fix-update-pot-issues
> > > i18n: use actual filename, in which function is defined, for hg.pot
> > 
> > > +            funcmod = inspect.getmodule(func)
> > > +            extra = ''
> > > +            if funcmod.__package__ == funcmod.__name__:
> > > +                extra = '/__init__'
> > > +            actualpath = '%s%s.py' % (funcmod.__name__.replace('.', 
> > > '/'), extra)
> > > +
> > >              src = inspect.getsource(func)
> > > -            name = "%s.%s" % (path, func.__name__)
> > > +            name = "%s.%s" % (actualpath, func.__name__)
> > >              lineno = inspect.getsourcelines(func)[1]
> > 
> > Perhaps inspect.getsourcefile() can be used.
> > 
> 
> Ah, I overlooked it. I'll post follow up patch on default. Thanks!

I gave up using inspect.getsourcefile() in this case, because:

  - hggettext insert result of os.getcwd() into sys.path at first, in
    order to avoid loading modules from already installed Mercurial,

  - and this makes inspect.getsourcefile() return absolute path

Even with "." instead of os.getcwd(), we should trim additional "./"
prefix of filenames returned by inspect.getsourcefile(), in order to
keep current order of entries in hg.pot.

If we omit trimming this additional "./", order of entries in hg.pot
is drastically changed, and it might cause meaningless changes of *.po
files.

Simple replacement with inspect.getsourcefile() doesn't work as we
expected at first :-<


> -- 
> ----------------------------------------------------------------------
> [FUJIWARA Katsunori]                             fo...@lares.dti.ne.jp
> 

-- 
----------------------------------------------------------------------
[FUJIWARA Katsunori]                             fo...@lares.dti.ne.jp
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to