Hi Collin, > > I.e. you meant to write > > mode != None > > not > > modules != None > > ? > > The second fixes this typo. Thanks for noticing it.
But there's another typo in the same line: The original code case $mode,$gnu_make in *test*,true) echo "gnulib-tool: --gnu-make not supported when including tests" func_exit 1;; esac has the intent to match the $mode values create-testdir create-megatestdir test megatest But these do not contain the substring "tests". Also, please can we stick with the syntax 'foo', not "foo", for literal strings. Outside of gnulib, both syntaxes seem to be in use. But when I search where the literal string 'foo' occurs, I don't want to make 2 searches (for 'foo' and for "foo"), nor a regex search (for ['"]foo['"]). Simple things should remain simple. A certain canonical way to denote literal strings is necessary for this. (Btw, JavaScript has the same problem.) 2024-02-24 Bruno Haible <br...@clisp.org> gnulib-tool.py: Further fix last commit. * gnulib-tool.py (main): Make the mode test match for 'create-testdir', 'create-megatestdir', 'test', 'megatest'. diff --git a/gnulib-tool.py b/gnulib-tool.py index e168e8fc91..1df790c496 100755 --- a/gnulib-tool.py +++ b/gnulib-tool.py @@ -607,7 +607,7 @@ def main(): if cmdargs.pobase == None and cmdargs.podomain != None: message = '%s: warning: --po-domain has no effect without a --po-base option\n' % constants.APP['name'] sys.stderr.write(message) - if mode != None and "tests" in mode and gnu_make: + if mode != None and 'test' in mode and gnu_make: message = '%s: --gnu-make not supported when including tests\n' % constants.APP['name'] sys.stderr.write(message) sys.exit(1)