Patchwork [4,of,6] i18n: use saved object to get actual function information if available

login
register
mail settings
Submitter Katsunori FUJIWARA
Date Aug. 21, 2017, 7:18 p.m.
Message ID <uy3qcenly.wl%foozy@lares.dti.ne.jp>
Download mbox | patch
Permalink /patch/23187/
State Changes Requested
Headers show

Comments

Katsunori FUJIWARA - Aug. 21, 2017, 7:18 p.m.
At Mon, 21 Aug 2017 21:46:35 +0900,
Yuya Nishihara wrote:
> 
> On Wed, 16 Aug 2017 01:19:04 +0900, FUJIWARA Katsunori wrote:
> > # HG changeset patch
> > # User FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
> > # Date 1502792844 -32400
> > #      Tue Aug 15 19:27:24 2017 +0900
> > # Node ID b6dd19c795147e675b9caf58383b6cafd3f03534
> > # Parent  1d204d17d51eb143f1ef66426cec1831cd8c93bf
> > # Available At https://bitbucket.org/foozy/mercurial-wip
> > #              hg pull https://bitbucket.org/foozy/mercurial-wip -r b6dd19c79514
> > # EXP-Topic i18n-fix-update-pot-issues
> > i18n: use saved object to get actual function information if available
> > 
> > To list up available compression types instead of
> > ".. bundlecompressionmarker" in "hg help bundlespec" output, proxy
> > object "docobject" is used, because:
> > 
> > - current online help system requires that __doc__ of registered
> >   object (maybe, function) is already well formatted in reST syntax
> > 
> > - bundletype() method of compressionengine classes is used to list up
> >   available compression types, but
> > 
> > - __doc__ of bundletype() object (= "instancemethod") is read-only
> 
> Just curious. Any reason why we can't make the bundletype.__doc__ statically
> formatted?

Would you suppose change like below ?

====================

If we keep extensibility of compression algorithms, this kind of
manual formatting causes broken help output easily, IMHO.

Though, I don't know any plan or actual implementation of compression
type other than built-in ones :-)
Yuya Nishihara - Aug. 22, 2017, 2:36 p.m.
On Tue, 22 Aug 2017 04:18:17 +0900, FUJIWARA Katsunori wrote:
> At Mon, 21 Aug 2017 21:46:35 +0900,
> Yuya Nishihara wrote:
> > 
> > On Wed, 16 Aug 2017 01:19:04 +0900, FUJIWARA Katsunori wrote:
> > > # HG changeset patch
> > > # User FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
> > > # Date 1502792844 -32400
> > > #      Tue Aug 15 19:27:24 2017 +0900
> > > # Node ID b6dd19c795147e675b9caf58383b6cafd3f03534
> > > # Parent  1d204d17d51eb143f1ef66426cec1831cd8c93bf
> > > # Available At https://bitbucket.org/foozy/mercurial-wip
> > > #              hg pull https://bitbucket.org/foozy/mercurial-wip -r b6dd19c79514
> > > # EXP-Topic i18n-fix-update-pot-issues
> > > i18n: use saved object to get actual function information if available
> > > 
> > > To list up available compression types instead of
> > > ".. bundlecompressionmarker" in "hg help bundlespec" output, proxy
> > > object "docobject" is used, because:
> > > 
> > > - current online help system requires that __doc__ of registered
> > >   object (maybe, function) is already well formatted in reST syntax
> > > 
> > > - bundletype() method of compressionengine classes is used to list up
> > >   available compression types, but
> > > 
> > > - __doc__ of bundletype() object (= "instancemethod") is read-only
> > 
> > Just curious. Any reason why we can't make the bundletype.__doc__ statically
> > formatted?
> 
> Would you suppose change like below ?
> 
> ====================
> diff --git a/mercurial/util.py b/mercurial/util.py
> --- a/mercurial/util.py
> +++ b/mercurial/util.py
> @@ -3425,7 +3425,8 @@ class _zlibengine(compressionengine):
>          return 'zlib'
>  
>      def bundletype(self):
> -        """zlib compression using the DEFLATE algorithm.
> +        """``zlib``
> +        zlib compression using the DEFLATE algorithm.
>  
>          All Mercurial clients should support this format. The compression
>          algorithm strikes a reasonable balance between compression ratio
> ====================

Yes.

> If we keep extensibility of compression algorithms, this kind of
> manual formatting causes broken help output easily, IMHO.
> 
> Though, I don't know any plan or actual implementation of compression
> type other than built-in ones :-)

I prefer keeping things simple until they actually be a problem.

Patch

====================
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -3425,7 +3425,8 @@  class _zlibengine(compressionengine):
         return 'zlib'
 
     def bundletype(self):
-        """zlib compression using the DEFLATE algorithm.
+        """``zlib``
+        zlib compression using the DEFLATE algorithm.
 
         All Mercurial clients should support this format. The compression
         algorithm strikes a reasonable balance between compression ratio