bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnulib-tool.py: Follow gnulib-tool changes, part 64.


From: Collin Funk
Subject: [PATCH] gnulib-tool.py: Follow gnulib-tool changes, part 64.
Date: Sun, 17 Mar 2024 20:41:56 -0700
User-agent: Mozilla Thunderbird

Here is a patch fixing another item in gnulib-tool.py.TODO. It is more
complex than the original since the change uncovered a few issues.

When changing GLModule.isTests() to check the Applicability of the
module:

  File "/home/collin/.local/src/gnulib/pygnulib/GLModuleSystem.py", line 501, 
in getApplicability
    if self.isTests():
       ^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded

Which is interesting, but an easy fix. We can't use GLModule.isTests()
there since it depends on the result of GLModule.getApplicability().
This matches 'func_get_applicability' in gnulib-tool.sh which just
tests that the name ends with '-tests'.

Then running Emacs merge-gnulib script, there are many added diff
lines because of the gen-header and snippet/* modules. This is because
after the change that this patch is following the function names are
slightly misleading since:

         GLModule.isNonTests() != (not GLModule.isTests())

Instead we have 3 separate unique operations in gnulib-tool.sh:

1. func_verify_tests_module
2. func_verify_nontests_module
3. case "$module" in *-tests ) ... ;;

Which are equivalent to the following in Python:

1. GLModule.isTests()
2. GLModule.isNonTests()
3. GLModule.getName().endswith('-tests')

I think I found all of them. Luckily there are only a few
'Applicability: all' modules, so it should be easy to tell if this
issue pops up again.

Collin

Attachment: 0001-gnulib-tool.py-Follow-gnulib-tool-changes-part-64.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]