Le 31/08/2017 à 23:50, Jun Wu a écrit : > Excerpts from Christophe de Vienne's message of 2017-08-31 23:26:58 +0200: >> # HG changeset patch >> # User Christophe de Vienne <christo...@cdevienne.info> >> # Date 1504023891 -7200 >> # Tue Aug 29 18:24:51 2017 +0200 >> # Node ID 5bbb2d585a963985a9172325f98bb5367b53e438 >> # Parent b2eb0aa445cbe7cadc8b7691c6266908adfc5057 >> command options: abort on unicode defaults >> >> If the default value of an option is a unicode string (something >> than happen easily when using a 'from __future__ import unicode_literals'), >> any value passed on the command line will be ignored because the fancyopts >> module only checks for byte strings and not unicode strings. >> >> Changing fancyopts behavior is easy but would make assumptions on how >> the python3 port should be done, which is outside the scope of this patch. >> >> The chosen approach is to abord when a unicode default value is detected, > > "abort"
Thanks > >> with a hint for the developer. >> >> diff -r b2eb0aa445cb -r 5bbb2d585a96 mercurial/dispatch.py >> --- a/mercurial/dispatch.py Tue Aug 22 21:21:43 2017 -0400 >> +++ b/mercurial/dispatch.py Tue Aug 29 18:24:51 2017 +0200 >> @@ -557,7 +557,15 @@ >> if defaults: >> args = pycompat.maplist( >> util.expandpath, pycompat.shlexsplit(defaults)) + args >> - c = list(entry[1]) > > Changing here means it only works for global opts. Is that intentional? no, and I realize I changed the line (I removed the list()), which I did not intended. That said, I am not sure what you mean by "it only works for global opts". What are global opts? > >> + for option in entry[1]: >> + default = option[2] >> + if not pycompat.ispy3 and isinstance(default, type(u'')): >> + raise error.Abort( >> + "Cannot encode %s.%s default value to ascii" % >> + (cmd, option[1]), >> + "Try changing the %s.%s default value to a " >> + "non-unicode string" % (cmd, option[1])) > > Maybe use error.ProgrammingError ok -- Christophe de Vienne _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel