summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog32808
1 files changed, 32792 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e3e708521..72bb1819fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32683 @@
+2024-03-29 Bruno Haible <bruno@clisp.org>
+
+ attribute: Work around compiler bug of Oracle cc 12.6.
+ * m4/gnulib-common.m4 (gl_COMMON_BODY): Expand _GL_ATTRIBUTE_PACKED to
+ empty on SunPRO C.
+
+2024-03-29 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Don't print Makefile.am edits that are already done.
+ * pygnulib/GLMakefileTable.py (GLMakefileTable): Improve comments.
+ (GLMakefileTable.__getitem__): Do not clone the result.
+ * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am, tests_Makefile_am):
+ Avoid a KeyError when testing for 'var'.
+ Use 'del' to remove a dictionary entry.
+ * pygnulib/GLImport.py (GLImport.execute): Avoid a KeyError when
+ testing for 'var'. Simplify loop over makefiletable.
+
+2024-03-28 Bruno Haible <bruno@clisp.org>
+
+ fenv-exceptions-state-c99: Fix test failures with Oracle cc 12.6.
+ * lib/fenv-except-state-set.c (mask387cw): New function.
+ (fesetexceptflag): Use it on glibc.
+
+2024-03-28 Bruno Haible <bruno@clisp.org>
+
+ mcel tests: Fix test failure with Oracle cc 12.6.
+ * tests/test-mcel.c (main): Explicitly return 0 at the end.
+
+2024-03-28 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Drop workarounds for Automake < 1.14.
+ Reported by Collin Funk in
+ <https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00384.html>.
+ * gnulib-tool.sh (func_emit_lib_Makefile_am): Emit pkgdata_DATA
+ initialization always.
+ (func_emit_tests_Makefile_am): Likewise.
+ (func_import): Don't emit 'AC_REQUIRE([AM_PROG_CC_C_O])' into
+ gnulib-comp.m4.
+ (func_create_testdir): Don't emit AM_PROG_CC_C_O into configure.ac.
+ Bump required Automake version to 1.14.
+ (func_create_megatestdir): Bump required Automake version to 1.14.
+ * pygnulib/constants.py: Update comments.
+ * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Emit pkgdata_DATA
+ initialization always. Don't return uses_subdirs.
+ (GLEmiter.tests_Makefile_am): Likewise.
+ * pygnulib/GLImport.py (GLImport.gnulib_comp): Don't emit
+ 'AC_REQUIRE([AM_PROG_CC_C_O])'.
+ (GLImport.execute): Update.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Don't emit AM_PROG_CC_C_O
+ into configure.ac. Bump required Automake version to 1.14.
+ (GLMegaTestDir.execute): Bump required Automake version to 1.14.
+
+2024-03-28 Bruno Haible <bruno@clisp.org>
+
+ pthread-h: Fix override of pthread_spinlock_t with non-GNU compilers.
+ * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Define through AC_DEFUN_ONCE.
+ Require gl_PTHREAD_H_DEFAULTS, not gl_PTHREAD_H.
+ * m4/pthread_h.m4 (gl_PTHREAD_H): Invoke gl_PTHREAD_SPIN.
+ * lib/pthread.in.h (pthread_spinlock_t,
+ GNULIB_defined_pthread_spin_types): Don't define if
+ HAVE_PTHREAD_SPIN_INIT && !REPLACE_PTHREAD_SPIN_INIT.
+ * modules/pthread-h (Files): Add m4/pthread-spin.m4.
+
+2024-03-28 Bruno Haible <bruno@clisp.org>
+
+ havelib: Recognize ELF platform despite SunPRO C on Linux.
+ * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Recognize Linux as an ELF
+ platform, even with the SunPRO C compiler that does not define __ELF__.
+
+2024-03-28 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix missing 'gnulib-cache.m4' in EXTRA_DIST.
+ * pygnulib/GLMakefileTable.py (GLMakefileTable.parent): Fix the loop
+ condition so that it matches gnulib-tool.sh.
+
+2024-03-28 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix whitespace in gnulib-comp.m4.
+ * pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet): Prefix each line with
+ the indentation string instead of using regular expressions.
+
+2024-03-27 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Inline 'sed' invocations used on library files.
+ * pygnulib/GLFileSystem.py (GLFileAssistant.__init__): Update type hints
+ and docstrings to reflect changes necessary for using re.sub() instead
+ of 'sed'.
+ (GLFileAssistant.add_or_update): Use re.sub() instead of invoking 'sed'.
+ * pygnulib/GLImport.py (GLImport.prepare): Update transformation
+ variables to reflect changes to GLFileAssistant.
+
+2024-03-27 Bruno Haible <bruno@clisp.org>
+
+ obstack: Work around ICE with Oracle cc 12.6 (regr. 2023-12-01).
+ * lib/obstack.in.h (__PTR_ALIGN): Use SMALL_PTRDIFF_T, instead of
+ testing sizeof (ptrdiff_t) < sizeof (void *) at compile time.
+ * m4/obstack.m4 (gl_FUNC_OBSTACK): Set SMALL_PTRDIFF_T.
+ * modules/obstack (Makefile.am): Substitute SMALL_PTRDIFF_T.
+
+2024-03-27 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Add type hints to all functions.
+ * pygnulib/*.py: Add type hints and remove duplicate function signatures
+ from docstrings.
+
+2024-03-26 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Allow the use of both configure.ac and configure.in.
+ * pygnulib/GLImport.py (GLImport.__init__): Remove redundant checks for
+ configure.ac and configure.in.
+ * pygnulib/main.py (main): Check for configure.ac and configure.in
+ before reading it. Pass it to GLImport using the GLConfig object.
+
+2024-03-26 Bruno Haible <bruno@clisp.org>
+
+ gettime-res: Fix test failure on Solaris 11.4/SPARC.
+ * lib/gettime-res.c (gettime_res): On Solaris/SPARC, just return 1 ns.
+
+2024-03-25 Bruno Haible <bruno@clisp.org>
+
+ jit/cache: Fix a compilation error on Solaris 11.4/SPARC.
+ * lib/jit/cache.h: On Solaris, include <stddef.h>.
+
+2024-03-25 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Print "executing mkdir ..." messages.
+ * pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
+ Print a message before creating a 'build-aux' directory.
+
+2024-03-25 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Tweak last change.
+ * pygnulib/GLImport.py (GLImport.execute): Recognize #if also at the
+ beginning of an Include snippet.
+
+2024-03-25 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix output of #include directive advice.
+ * pygnulib/GLImport.py (GLImport.execute): Copy comment from
+ gnulib-tool.sh with modified variable names. Search the 'Include:' as a
+ whole instead of each individual line.
+
+2024-03-25 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Simplify last change.
+ * pygnulib/GLImport.py (GLImport.execute): Remove unnecessary list to
+ set and set to list conversion.
+
+2024-03-25 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix "Creating directory" output.
+ * pygnulib/GLImport.py (GLImport.execute): Reorder directories. Use
+ os.path.join instead of joinpath to avoid path normalization.
+
+2024-03-25 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Tweak last change.
+ * pygnulib/GLImport.py (GLImport._update_ignorelist_): Rename some local
+ variables. Use rstrip built-in function.
+
+2024-03-25 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Handle removed files in the vc ignore files.
+ * pygnulib/GLImport.py (GLImport._update_ignorelist_): Handle removed
+ files. Check whether the original lines should be removed too.
+
+2024-03-24 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix filetable construction for ignorelist.
+ * pygnulib/GLImport.py (GLImport.execute): Fix typo in dictionary key
+ that overwrites removed files. Sort ignorelist by directory.
+
+2024-03-24 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Use Python raw strings for regular expressions.
+ * pygnulib/*.py: Use raw string syntax for regular expression pattern
+ strings and repl strings.
+
+2024-03-24 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Bring the output into the right order.
+ * pygnulib/constants.py (force_output): New function.
+ (execute): Flush stdout after printing the "executing ..." line.
+ * pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
+ Invoke force_output.
+ * pygnulib/main.py (test, megatest): Likewise.
+
+2024-03-24 Bruno Haible <bruno@clisp.org>
+
+ nstrtime, c-nstrftime: Fix %c directive's result on glibc ≤ 2.30.
+ * lib/strftime.c (__strftime_internal): On glibc ≤ 2.30, like on NetBSD
+ and Solaris, remove the last word of the %c directive's result if it
+ looks like a time zone.
+ * doc/posix-functions/strftime.texi: Update platforms list.
+
+2024-03-24 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Fix output of notices.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Don't print notices if the
+ verbosity is < -1. Strip newlines from each notice.
+ * pygnulib/GLImport.py (GLImport.prepare): Don't print notices if the
+ verbosity is < -1. Strip only newlines, not spaces.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Fix the modules indentation in --create-testdir' output.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Use specified_modules
+ instead of self.config.getModules(), since the latter may be empty.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.sh: Use a default auxdir in --extract-automake-snippet.
+ * gnulib-tool.sh (extract-automake-snippet): Set auxdir to 'build-aux'
+ if it is not set.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Don't unnecessarily sort an EXTRA_DIST augmentation.
+ * pygnulib/GLModuleSystem.py
+ (GLModule.getAutomakeSnippet_Unconditional): Don't remove duplicates or
+ sort the filenames in the EXTRA_lib_SOURCES augmentation or the
+ EXTRA_DIST augmentation for build-aux.
+
+2024-03-23 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Don't print Python bools in gnulib-cache.m4.
+ * pygnulib/GLImport.py (GLImport.gnulib_cache): Convert Python bools to
+ lowercase before printing.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Don't unnecessarily run configure && make in testdirs.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Correct the value of
+ tests_distributed_built_sources.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Fix autoconf snippets inclusion if --single-configure.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Correct the arguments
+ passed to autoconfSnippets.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Produce same diagnostics regardless of Automake version.
+ * pygnulib/GLTestDir.py (_patch_test_driver): Suppress the diagnostics
+ from 'patch', and instead provide our own diagnostics.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Print "executing touch config.h.in".
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Print
+ "executing touch config.h.in", like gnulib-tool.sh does.
+
+2024-03-23 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Refactor.
+ * pygnulib/GLImport.py (GLImport._done_dir_,
+ GLImport._update_ignorelist_, GLImport.execute): Rename some variables.
+ (GLImport._update_ignorelist_): Use constants.substart.
+
+2024-03-23 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 69.
+ Follow gnulib-tool change
+ 2012-08-19 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Remove old file names from .cvsignore, .gitignore.
+ * pygnulib/GLImport.py (GLImport._update_ignorelist_): Add
+ gnulib-comp.m4 to the added file list.
+ (GLImport.execute): Remove unused variables. Use sets to match the
+ 'join' invocations in gnulib-tool.sh.
+
+2024-03-22 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Don't remove newlines in testdir's Automake snippets.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Don't strip newlines from
+ Automake snippets.
+
+2024-03-22 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix empty newline output in test directories.
+ * pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
+ Match newlines printed by gnulib-tool.sh.
+
+2024-03-22 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix unconditional Automake snippets for non-tests.
+ * pygnulib/GLModuleSystem.py
+ (GLModule.getAutomakeSnippet_Unconditional): Fix the file lookups used
+ to determine the EXTRA_DIST and EXTRA_lib_SOURCES Automake variables.
+ Update comment to match gnulib-tool.sh.
+ * pygnulib/constants.py (filter_filelist): Fix misleading return type in
+ docstring. Return an empty string if no files were found.
+
+2024-03-22 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.sh: Produce same diagnostics regardless of Automake version.
+ * gnulib-tool.sh (func_create_testdir, func_create_megatestdir):
+ Suppress the diagnostics from 'patch', and instead provide our own
+ diagnostics.
+
+2024-03-22 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Remove test-driver.{orig,rej} if patching succeeded.
+ * gnulib-tool.sh (func_create_testdir, func_create_megatestdir): After
+ a 'patch' command failed, remove the leftover files test-driver.orig and
+ test-driver.rej.
+ * pygnulib/GLTestDir.py (_patch_test_driver): Likewise.
+
+2024-03-22 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Fix an error in --create-testdir.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Fix chdir calls at the end.
+
+2024-03-21 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.sh: Avoid a redundant space in gl_AVOID in gnulib-cache.m4.
+ * gnulib-tool.sh (avoidlist): Don't add a space before the first module
+ name.
+
+2024-03-21 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix --extract-recursive-link-directive.
+ * pygnulib/GLModuleSystem.py (GLModule.getLinkDirectiveRecursively):
+ Check the 'Link:' section of each individual module. Use sets instead of
+ lists to remove duplicates.
+
+2024-03-21 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Make --extract-filelist match gnulib-tool.sh.
+ * pygnulib/GLModuleSystem.py (GLModule.getFiles_Raw): New function which
+ returns the 'Files:' section from a module unchanged.
+ (GLModule.getFiles): Use it.
+ * pygnulib/main.py (main): Use it and match the output of gnulib-tool.sh
+ for --extract-filelist.
+
+2024-03-21 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Make the .gitignore files handling more consistent.
+ * gnulib-tool.sh (func_done_dir): Ignore the presence or absence of a
+ .git directory if there is a .gitignore file in the same place.
+ * pygnulib/GLImport.py (GLImport._done_dir_): Likewise.
+
+2024-03-20 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.sh: Undocument the --[no-]cache-modules options.
+ Reported by Collin Funk in
+ <https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00234.html>.
+ Rationale:
+ <https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00243.html>.
+ * gnulib-tool.sh (func_usage): Don't mention --cache-modules,
+ --no-cache-modules.
+
+2024-03-20 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Don't print empty Automake snippets.
+ * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am)
+ (GLEmiter.tests_Makefile_am): Handle empty strings when checking if the
+ snippet should be printed.
+
+2024-03-19 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 68.
+ Follow gnulib-tool change
+ 2022-07-31 Akim Demaille <akim@lrde.epita.fr>
+ gnulib-tool: add support for --automake-subdir-tests
+ * pygnulib/main.py (main): Add support for --automake-subdir-tests.
+ * pygnulib/GLInfo.py (GLInfo.usage): Add --automake-subdir-tests to the
+ help message.
+ * pygnulib/GLConfig.py (GLConfig.__init__): Add 'automake_subdir_tests'
+ to the parameter list. Initialize it.
+ (GLConfig.default): Default --automake-subdir-tests to False.
+ (GLConfig.resetAutomakeSubdir): Fix misleading docstring.
+ (GLConfig.getAutomakeSubdirTests, GLConfig.setAutomakeSubdirTests)
+ (GLConfig.resetAutomakeSubdirTests): New functions to manipulate and
+ access whether --automake-subdir-tests is in use.
+ * pygnulib/GLEmiter.py (GLEmiter.shellvars_init)
+ (GLEmiter.initmacro_end): Use sourcebase when handling tests and
+ --automake-subdir-tests is given.
+ * pygnulib/GLError.py (GLError.__repr__): Update error message to
+ include --automake-subdir-tests.
+ * pygnulib/GLImport.py (GLImport.__init__): Check for the
+ 'subdir-objects' Automake option when --automake-subdir-tests is in use.
+ (GLImport.actioncmd): Add --automake-subdir-tests to the actioncmd
+ printed in generated files.
+
+2024-03-19 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix incorrect assignment operator.
+ * pygnulib/GLImport.py (GLImport.actioncmd): Use '+=' instead of '=' to
+ append the string to the actioncmd instead of overwriting it.
+
+2024-03-19 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Make it work in the test suite.
+ * gnulib-tool.sh (gnulib_dir): Make absolute.
+ (func_create_megatestdir): If .git/refs/heads/master does not exist, use
+ ChangeLog instead.
+ * pygnulib/main.py (main): Make gnulib_dir absolute.
+ * pygnulib/GLTestDir.py (GLMegaTestDir.execute): If
+ .git/refs/heads/master does not exist, use ChangeLog instead.
+
+2024-03-19 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Make sure temporary files are removed.
+ * pygnulib/GLImport.py (GLImport.execute): Fix nesting of statement so
+ that both temporary files are removed.
+
+2024-03-19 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 67.
+ Follow gnulib-tool change
+ 2022-03-01 Paul Eggert <eggert@cs.ucla.edu>
+ Create lib/Makefile.am after gnulib-comp.m4
+ * pygnulib/GLImport.py (GLImport.execute): Create library makefile after
+ creating gnulib-comp.m4.
+
+2024-03-19 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 66.
+ Follow gnulib-tool change
+ 2021-12-25 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Fix handling of module libtextstyle-optional.
+ * pygnulib/GLModuleSystem.py (GLModule.repeatModuleInTests): New function.
+ * pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Use it for creating
+ the tests/Makefile.am.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Use it when creating the
+ file list.
+
+2024-03-19 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 65.
+ Follow gnulib-tool change
+ 2021-12-19 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Don't insist on ACLOCAL_AMFLAGS.
+ * pygnulib/GLImport.py (GLImport.execute): Don't add extra '-I' before
+ m4 directory in ACLOCAL_AMFLAGS. Prefer '0' instead of 'int()'. Mention
+ the use of AC_CONFIG_MACRO_DIRS in configure.ac as an alternative to
+ augmenting ACLOCAL_AMFLAGS.
+ * pygnulib/main.py (main): To find the m4 directories, look also for
+ AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS invocations in
+ configure.ac. Remove unnecessary call to 'joinpath' since it accepts a
+ variable length of arguments.
+
+2024-03-18 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Tweak last change.
+ * pygnulib/GLModuleSystem.py (GLModule.isTests, GLModule.isNonTests):
+ Update comments.
+
+2024-03-18 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 64.
+ Follow gnulib-tool change
+ 2021-12-25 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Respect applicability 'all' without --single-configure.
+ * pygnulib/GLModuleSystem.py (GLModule.isTests): Treat modules with
+ applicability 'all' like 'tests' modules, not like 'main' modules.
+ (GLModule.isNonTests): Treat all modules not ending in '-tests' as
+ non-test modules.
+ (GLModule.getApplicability): Don't use GLModule.isTests(). Because it
+ depends on the result of this function, using it would cause a
+ RecursionError exception.
+ (GLModule.getDependencies): Respect the difference between
+ module.isTests(), module.isNonTests(), and
+ module.getName().endswith('-tests').
+ (GLModule.getAutomakeSnippet_Unconditional, GLModule.getLicense)
+ (GLModuleTable.add_dummy): Likewise.
+ * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Likewise.
+
+2024-03-17 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Handle empty lists of lines consistently.
+ * pygnulib/constants.py (lines_to_multiline): New function.
+ (nlremove): Remove unused function.
+ * pygnulib/GLEmiter.py (_eliminate_NMD): Use lines_to_multiline instead
+ of the '\n'.join idiom.
+ (GLEmiter.autoconfSnippet, GLEmiter.autoconfSnippets,
+ GLEmiter.lib_Makefile_am): Likewise.
+ * pygnulib/GLImport.py (GLImport._update_ignorelist_, GLImport.execute):
+ Likewise.
+ * pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively,
+ GLModule.getLinkDirectiveRecursively, GLModuleTable.remove_if_blocks):
+ Likewise.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
+ * pygnulib/main.py (main): Likewise.
+
+2024-03-17 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 63.
+ Follow gnulib-tool change
+ 2020-12-28 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Fix logic whether to add a dummy.c.
+ * pygnulib/GLModuleSystem.py (GLModuleTable.remove_if_blocks): New
+ function.
+ (GLModuleTable.add_dummy): Use it to eliminate all conditional
+ statements from the automake snippet.
+
+2024-03-17 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Don't print extra newlines.
+ * pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Don't print extra
+ newline that are not printed by gnulib-tool.sh.
+
+2024-03-17 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 62.
+ Follow gnulib-tool change
+ 2020-02-22 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Ensure copied files are writable.
+ * pygnulib/constants.py (ensure_writable): New function. Make sure files
+ are writable.
+ (symlink_relative, hardlink): Use it.
+ * pygnulib/GLFileSystem.py (GLFileSystem.lookup)
+ (GLFileAssistant.add_or_update): Likewise.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
+ * pygnulib/main.py (main): Likewise.
+
+2024-03-17 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Add undocumented option --gnulib-dir.
+ * gnulib-tool.sh: Accept --gnulib-dir=... option.
+ * pygnulib/constants.py (init_DIRS): New function.
+ * pygnulib/main.py (main): Accept --gnulib-dir=... option. Invoke
+ init_DIRS. Expect .git directory to be present in DIRS['root'], not
+ APP['root'].
+ * pygnulib/GLImport.py (GLImport.execute): Use DIRS['root'], not
+ APP['root'].
+
+2024-03-17 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 61.
+ Follow gnulib-tool change
+ 2022-01-09 Bruno Haible <bruno@clisp.org>
+ Remove influence of Automake conditionals on conditional dependencies.
+ * pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure): Don't
+ inhibit conditional dependencies processing on a module that uses an
+ Automake conditional.
+
+2024-03-17 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 60.
+ Follow gnulib-tool change
+ 2019-11-18 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Fix build error on macOS with --conditional-dependencies.
+ * pygnulib/GLModuleSystem.py (GLModuleTable.add_dummy): Ignore modules
+ that are conditionally enabled.
+
+2024-03-17 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Don't try to remove files that don't exist.
+ * pygnulib/GLFileSystem.py (GLFileSystem.add_or_update): Check if the
+ temporary file exists before trying to remove it.
+
+2024-03-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ renameatu: support RENAME_EXCHANGE on macOS
+ * lib/renameatu.c (renameat2ish, renameatu) [RENAME_SWAP]:
+ Use macOS RENAME_SWAP to implement GNU/Linux RENAME_EXCHANGE.
+ * tests/test-renameatu.c (main): Add a test for RENAME_EXCHANGE.
+
+2024-03-16 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 59.
+ Follow gnulib-tool change
+ 2017-10-29 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Touch the 'config.h.in'
+ file after executing 'autoheader' to update it's timestamps.
+
+2024-03-16 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix 'git update-index' call when using hard links.
+ * pygnulib/main.py: Fix conditional used to check whether 'git
+ update-index' should be called. Only catch FileNotFoundError exceptions
+ thrown when no 'git' program exists.
+
+2024-03-16 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Coding style: Avoid not().
+ * pygnulib/GLModuleSystem.py (isNonTests): Avoid not(). Write
+ 'not condition' instead of 'not(condition)'.
+
+2024-03-16 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Coding style: Avoid bool().
+ * pygnulib/GLModuleSystem.py (GLModule): Write False instead of bool().
+
+2024-03-16 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 58.
+ Follow gnulib-tool change
+ 2017-05-21 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Add options to create hard links.
+ * pygnulib/GLConfig.py (GLConfig.__init__): Add 'copymode' and
+ 'lcopymode' to the parameter list. Initialize them.
+ (GLConfig.default): Don't use symbolic or hard links by default.
+ (GLConfig.checkCopyMode, GLConfig.setCopyMode, GLConfig.resetCopyMode):
+ New functions to modify and check the method for copying non --local-dir
+ files.
+ (GLConfig.checkLCopyMode, GLConfig.setLCopyMode)
+ (GLConfig.resetLCopyMode): New functions to modify and check the method
+ for copying --local-dir files.
+ (GLConfig.checkSymbolic, GLConfig.resetSymbolic, GLConfig.setSymbolic)
+ (GLConfig.checkLSymbolic, GLConfig.resetLSymbolic)
+ (GLConfig.setLSymbolic): Remove unused functions. The functionality of
+ these are now implemented in the *CopyMode() and *LCopyMode() variants.
+ * pygnulib/GLFileSystem.py (CopyAction.Hardlink): New Enum value to
+ describe hard links.
+ (GLFileSystem.shouldLink): Check if hard links should be used.
+ (GLFileAssistant.add, GLFileAssistant.update): Try to hard link if
+ enabled. Copy the file if linking fails.
+ (GLFileAssistant.add_or_update): Remove temporary files unconditionally.
+ * pygnulib/GLInfo.py (GLInfo.usage): Document new options in the usage
+ message.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Try to hard link if
+ enabled. Copy the file if linking fails.
+ * pygnulib/classes.py: Importy the CopyAction Enum.
+ * pygnulib/constants.py (hardlink): New function based on
+ symlink_relative.
+ * pygnulib/main.py (main): Add new options --hardlink and
+ --local-hardlink. Invoke 'git update-index --refresh' to mitigate the
+ effects of the hard links on git.
+
+2024-03-16 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.sh: Make --local-dir options in gnulib-cache.m4 look nicer.
+ * gnulib-tool.sh (func_import): Append the --local-dir=... options
+ through func_append_actionarg.
+
+2024-03-16 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Don't lose the gl_LGPL value from gnulib-cache.m4.
+ Reported by Simon Josefsson in
+ <https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00152.html>.
+ * pygnulib/GLConfig.py (GLConfig.default): For the 'lgpl' property,
+ return None, not False.
+
+2024-03-15 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Don't lose the gl_LOCAL_DIR value from gnulib-cache.m4.
+ Reported by Simon Josefsson in
+ <https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00152.html>.
+ * pygnulib/GLConfig.py (GLConfig.default): For the 'localpath' property,
+ return [], not ''.
+
+2024-03-15 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Enhance last patch.
+ * gnulib-tool: If gnulib-tool.sh failed but gnulib-tool.py succeeded,
+ report that and don't erase the outputs and log files.
+
+2024-03-14 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 57.
+ Follow gnulib-tool change
+ 2019-01-04 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: New option --extract-recursive-link-directive.
+ * pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively): New
+ function. Implements the --extract-recursive-dependencies option.
+ (GLModule.getLinkDirectiveRecursively): New function. Implements the
+ --extract-recursive-link-directive.
+ * pygnulib/main.py (main): Add the --extract-recursive-dependencies and
+ --extract-recursive-link-directive options.
+ * pygnulib/GLInfo.py (GLInfo.usage): Add new options to help message.
+
+2024-03-14 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Obey environment variable GNULIB_TOOL_IMPL.
+ * gnulib-tool.sh: Renamed from gnulib-tool.
+ * gnulib-tool: New file, based on gnulib-tool.sh.
+ * gnulib-tool.py: Check the Python version.
+
+2024-03-14 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix write failure due to bad sourcebase.
+ * pygnulib/constants.py (cleaner): Only call strip() on string objects.
+ * pygnulib/main.py (main): Fix parsing of AMLOCAL_AMFLAGS from
+ Makefile.am. Add some comments from gnulib-tool.
+
+2024-03-13 Bruno Haible <bruno@clisp.org>
+
+ sig2str tests: Refactor.
+ * tests/test-sig2str.c (test_sig2str, test_str2sig): New functions,
+ extracted from main.
+ (main): Invoke them.
+
+2024-03-13 Collin Funk <collin.funk1@gmail.com>
+
+ sig2str: Add tests.
+ * tests/test-sig2str.c: New file.
+ * modules/sig2str-tests: New file.
+
+2024-03-12 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 56.
+ Follow gnulib-tool change
+ 2021-04-26 Paul Eggert <eggert@cs.ucla.edu>
+ gnulib-tool: port better to current Autoconf
+ * pygnulib/GLImport.py (GLImport.execute): Remove exit() call before
+ printing reminders. Suggest replacing AC_PROG_CC_STDC and
+ AC_PROG_CC_C99, as per current Autoconf.
+
+2024-03-12 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix last commit.
+ * pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Silence Python
+ warnings about invalid escape. Make sure to escape the backslash
+ character we want to print.
+
+2024-03-12 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 55.
+ Follow gnulib-tool changes
+ 2022-01-05 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Avoid known warnings that reflect Gnulib's coding style.
+ 2022-01-08 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Remove all *.Po files upon distclean (regr. 2022-01-05).
+ * pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Collect the *.Po or
+ *.Plo files to remove into an AC_SUBSTed variable gl_LIBOBJDEPS. Use
+ Python f-strings instead of string replacements.
+ (GLEmiter.lib_Makefile_am): Add the GL_CFLAG_GNULIB_WARNINGS to the
+ CFLAGS of all the compilation units of the library. Extend the distclean
+ and maintainer-clean rules.
+ (GLEmiter.tests_Makefile_am): Add the GL_CFLAG_GNULIB_WARNINGS to the
+ CFLAGS.
+ * pygnulib/GLImport.py (GLImport.gnulib_comp): Emit an invocation of
+ gl_CC_GNULIB_WARNINGS.
+
+2024-03-11 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 54.
+ Follow gnulib-tool change
+ 2021-12-24 Paul Eggert <eggert@cs.ucla.edu>
+ maint: avoid empty lines in recipes
+ * pygnulib/GLEmiter.py (_eliminate_NMD_from_line): Eliminate occurrences
+ of @!NMD@ too. Document parameters in docstring.
+ (_eliminate_NMD): Update docstring to reflect changes. Document
+ parameters.
+
+2024-03-11 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Tweak last commit.
+ * pygnulib/GLEmiter.py (_eliminate_NMD): Don't add an extra newline when
+ the result should be empty.
+
+2024-03-11 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 53.
+ Follow gnulib-tool change
+ 2021-12-21 Bruno Haible <bruno@clisp.org>
+ Optimize redundant 'mkdir -p .' invocations.
+ * pygnulib/GLEmiter.py (_eliminate_NMD_from_line): New private function
+ to remove @NMD@ occurrences from the line of an Automake snippet.
+ (_eliminate_NMD): New private function which uses
+ _eliminate_NMD_from_line on each line of the Automake snippet.
+ (GLEmiter.lib_Makefile_am, GLEmiter.tests_Makefile_am): Use
+ _eliminate_NMD on the Automake snippet.
+
+2024-03-11 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Make some code more straightforward.
+ * pygnulib/GLImport.py (GLImport.__init__): Reorder assignments and
+ conditions slightly.
+
+2024-03-11 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 52.
+ Follow gnulib-tool change
+ 2021-12-15 Bruno Haible <bruno@clisp.org>
+ automake-subdir support: Look for 'subdir-objects' also in configure.ac.
+ * pygnulib/GLImport.py (GLImport.__init__): Check for 'subdir-objects'
+ in the AM_INIT_AUTOMAKE macro of configure.ac.
+
+2024-03-10 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: Tweak last commit.
+ * pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Avoid an implicit str
+ to bool conversion.
+ * pygnulib/GLImport.py (GLImport.__init__): Add a comment. Don't allow
+ a '|' in place of whitespace. Don't emit redundant gl_source_base
+ assignments.
+
+2024-03-10 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 51.
+ Follow gnulib-tool change
+ 2021-12-15 Bruno Haible <bruno@clisp.org>
+ Accommodate non-recursive Automake in a less hacky way.
+ * pygnulib/GLConfig.py (GLConfig.__init__): Add 'automake_subdir' to the
+ parameter list.
+ (GLConfig.default): Set the default value of automake_subdir to a
+ boolean False.
+ (GLConfig.getAutomakeSubdir, GLConfig.setAutomakeSubdir)
+ (GLConfig.resetAutomakeSubdir): New functions to access and manipulate
+ the automake_subdir option.
+ * pygnulib/GLEmiter.py (GLEmiter.shellvars_init): New function.
+ (GLEmiter.initmacro_end): Add second parameter 'gentests'. Use it to prefix each
+ object file name in *_LIBOBJS and *_LTLIBOBJS.
+ * pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Add new
+ error for if --automake-subdir is used without the 'subdir-objects'
+ Automake option.
+ * pygnulib/GLImport.py (GLImport.__init__): Check for 'subdir-objects'
+ in Makefile.am.
+ (GLImport.actioncmd): Emit --automake-subdir in actioncmd.
+ (GLImport.gnulib_cache): Add gl_AUTOMAKE_SUBDIR to gnulib-cache.m4 if
+ --automake-subdir is used.
+ (GLImport.gnulib_comp): Update calls to GLEmiter.initmacro_end. Call
+ GLEmiter.shellvars_init.
+ (GLImport.execute): Likewise. Use the build-aux/prefix-gnulib-mk script.
+ * pygnulib/GLInfo.py (GLInfo.usage): Add --automake-subdir to the usage
+ message.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Update calls to
+ GLEmiter.initmacro_end. Call GLEmiter.shellvars_init.
+ * pygnulib/main.py (main): Add support for --automake-subdir.
+
+2024-03-10 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool: Don't remove comments referencing @NMD@, part 2.
+ * gnulib-tool (func_emit_tests_Makefile_am): Replace lines that start
+ with @NMD@ or @!NMD@ instead of lines that contain them.
+
+2024-03-10 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool.py: One more comment regarding coding style.
+ * pygnulib/main.py: Add comment regarding conditional expressions.
+
+2024-03-09 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 50.
+ Follow gnulib-tool changes
+ 2021-12-12 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Try to support non-recursive-gnulib-prefix-hack with tests.
+ 2021-12-13 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Fix mistake in last commit.
+ * pygnulib/GLImport.py (GLImport.gnulib_comp): Expect the filetable as a
+ parameter instead of a list of all files. Add type checks. Invoke
+ AC_CONFIG_LIBOBJ_DIR based on the location of alloca.c.
+ (GLImport.execute): Adjust call to GLImport.gnulib_comp to reflect
+ parameter changes.
+
+2024-03-09 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 49.
+ Follow gnulib-tool change
+ 2021-08-07 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Add support for Automake 1.16.4.
+ * pygnulib/GLTestDir.py (_patch_test_driver): If patching
+ build-aux/test-driver fails with build-aux/test-driver.diff try again
+ with build-aux/test-driver-1.16.3.diff.
+
+2024-03-09 Bruno Haible <bruno@clisp.org>
+
+ unistr/u16-to-u32: Relicense under LGPLv2+.
+ * modules/unistr/u16-to-u32 (License): Change to LGPLv2+.
+ * lib/unistr/u16-to-u32.c: Update license notice.
+
+ unistr/u16-mbtoucr: Relicense under LGPLv2+.
+ * modules/unistr/u16-mbtoucr (License): Change to LGPLv2+.
+ * lib/unistr/u16-mbtoucr.c: Update license notice.
+
+ unistr/u16-strlen: Relicense under LGPLv2+.
+ * modules/unistr/u16-strlen (License): Change to LGPLv2+.
+ * lib/unistr/u16-strlen.c: Update license notice.
+
+2024-03-09 Bruno Haible <bruno@clisp.org>
+
+ parse-datetime: Simplify.
+ * modules/parse-datetime (Makefile.am): Don't generate
+ parse-datetime-gen.h.
+
+2024-03-09 Bruno Haible <bruno@clisp.org>
+
+ parse-datetime: Simplify.
+ * lib/parse-datetime.y (yyerror): Change return type to 'void'.
+
+2024-03-09 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 48.
+ Follow gnulib-tool change
+ 2019-01-23 Bruno Haible <bruno@clisp.org>
+ gnulib-tool: Support running testdirs on Android.
+ * pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Add errno 20
+ to print an error if patching build-aux/test-driver fails.
+ * pygnulib/main.py (main): Likewise.
+ * pygnulib/GLTestDir.py (_patch_test_driver): New private function which
+ runs patch on build-aux/test-driver with build-aux/test-driver.diff.
+ (GLTestDir.execute, GLMegaTestDir.execute): Check for
+ build-aux/test-driver in each testdir and patch it after running
+ automake.
+
+2024-03-08 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool: Don't remove comments referencing @NMD@.
+ * gnulib-tool (func_emit_lib_Makefile_am): Replace lines that start with
+ @NMD@ or @!NMD@ instead of lines that contain them.
+
+2024-03-08 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 47.
+ Follow gnulib-tool changes
+ 2021-12-15 Bruno Haible <bruno@clisp.org>
+ Fix creation of build directories with non-recursive-gnulib-prefix-hack.
+ 2021-12-18 Bruno Haible <bruno@clisp.org>
+ Fix support for --gnu-make in tests (regression 2021-12-15).
+ * pygnulib/GLEmiter.py (_CONVERT_TO_GNU_MAKE): New variable which is a
+ list of tuples which are used with re.sub.
+ (_convert_to_gnu_make): New function which converts an input snippet
+ from Automake to GNU Make syntax using the regular expressions stored in
+ _CONVERT_TO_GNU_MAKE.
+ (GLEmiter.lib_Makefile_am): Use _convert_to_gnu_make. Replace '%reldir%'
+ tokens.
+ (GLEmiter.tests_Makefile_am): Likewise.
+
+2024-03-07 Collin Funk <collin.funk1@gmail.com>
+
+ gnulib-tool.py: Fix errors when executing --create-megatestdir.
+ * pygnulib/GLTestDir.py (GLMegaTestDir.execute): Create a testdir for
+ each module in its own subdi