[SCM] make branch, master, updated. 4.3-147-g667d70ea

"Paul D. Smith" <[email protected]> Sun, 27 Feb 2022 18:03:14 -0500 (EST)
Newsgroups gmane.comp.gnu.make.devel
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "make".

The branch, master has been updated
       via  667d70eac2b5c0d7b70941574fd51a76ae93b0f4 (commit)
       via  b9078e5bd323d36b4572d190874c058200a43d1d (commit)
       via  0de7b7489678eabac17309dad0f488711696658b (commit)
       via  236589642ed15c4231f618433d0a0daa52b9fa79 (commit)
       via  cb9ac2b0ccd02ced98b32e66952b98b6d40dfe9d (commit)
       via  40a6751abfc7317d9f0201448db0bf924d1a30ee (commit)
       via  1bc35a7ae729989f691a988bca1ef1f1940c99a5 (commit)
       via  8cdaabbf8e129fc15ee1456d4fce9d10bf4bad55 (commit)
       via  2be866143394f5fa5fdeaa545003aba26dc72956 (commit)
       via  8b3e678ace1926c9c9521c5eeae823bc37952fca (commit)
       via  ec09ec775ab2edae578f5ec86d1c13dd68728ee6 (commit)
      from  bdaeca49e988a2a659a8cedf38a79057a3fd9ef8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 667d70eac2b5c0d7b70941574fd51a76ae93b0f4
Author: Paul Smith <[email protected]>
Date:   Sun Feb 27 15:24:19 2022 -0500

    [SV 62118] Correctly handle -f- options on re-exec
    
    The -f, -file, and --makefile options were not properly handled when
    re-exec'ing due to makefile updates.  This problem, plus a patch and
    tests, was reported by Dmitry Goncharov <[email protected]>.
    
    While examining this I found another bug: after re-exec we forgot the
    batch file was temporary and never deleted it.
    
    I decided to fix all these problems at once using a different fix
    than Dmitry's: I created a new internal-only command-line option,
    --temp-stdin.  When reconstructing the make options for a re-exec,
    replace the -f/--file/--makefile option that reads from stdin with
    --temp-stdin=<filename> so that the re-exec'd version of make knows
    it's a temporary batch file and will delete it.
    
    We no longer need to add the -o options because the re-exec'd make
    knows this is a temporary makefile and treats it as such.
    
    To simplify, replace the --file and --makefile options taking a
    filename, with just -f<filename> on re-exec.
    
    Some examples of the rewrite:
    
      User command line               Re-exec command line
      -----------------               --------------------
      -f-                             --temp-stdin=<batch>
      --file -                        --temp-stdin=<batch>
      -f - --makefile a.mk            --temp-stdin=<batch> -fa.mk
      --file=a.mk                     -fa.mk
      -fa.mk                          -fa.mk
      -Rf a.mk                        -Rf a.mk
      -Rf-                            -R --temp-stdin=<batch>
    
    * src/main.c (stdin_offset): Remember the offset into the makefiles
    list of the batch file read from stdin.  Remove stdin_nm.
    (struct command_switch): Create a new --temp-stdin option, which
    also updates the makefiles list.
    (main): Add the temporary filename to the string cache.
    Move the tempfile handling after checking makefile arguments for "-"
    so that files provided via --temp-stdin are also handled specially.
    When rewriting re-exec options, we may need one more than we had
    originally so create a new argv list.  Walk through the original
    list and convert it to the new list, following the above process.
    (decode_switches): Set the stdin_offset flag if we see --temp-stdin.
    * tests/scripts/options/dash-f: Add many more tests, provided by
    Dmitry Goncharov <[email protected]>.

commit b9078e5bd323d36b4572d190874c058200a43d1d
Author: Paul Smith <[email protected]>
Date:   Sun Feb 27 15:14:40 2022 -0500

    * tests/scripts/variables/MAKE_RESTARTS: Remove TAB chars

commit 0de7b7489678eabac17309dad0f488711696658b
Author: Paul Smith <[email protected]>
Date:   Sun Feb 27 15:14:12 2022 -0500

    * README.git: Fix compiler options for ASAN

commit 236589642ed15c4231f618433d0a0daa52b9fa79
Author: Paul Smith <[email protected]>
Date:   Sat Feb 26 18:30:00 2022 -0500

    Remove extraneous characters from fatal() calls
    
    The fatal() method adds ".  Stop.\n" to every message.
    
    * src/amiga.c (MyExecute): Remove newline from fatal() message.
    * src/job.c (<various>): Ditto.
    * src/file.c (snap_deps): Remove "." from fatal() message.
    * src/main.c (main): Ditto.
    * src/load.c: Ditto.
    * tests/scripts/targets/NOTINTERMEDIATE: Fix expected output.

commit cb9ac2b0ccd02ced98b32e66952b98b6d40dfe9d
Author: Paul Smith <[email protected]>
Date:   Sat Feb 26 17:17:20 2022 -0500

    * src/main.c: Ensure the stdin temp file is deleted when dying.

commit 40a6751abfc7317d9f0201448db0bf924d1a30ee
Author: Dmitry Goncharov <[email protected]>
Date:   Sat Feb 26 17:12:03 2022 -0500

    [SV 62088] Avoid re-exec due to stdin.
    
    The fix for SV 60595 causes make to re-execute when the makefile is
    read from stdin.  E.g.
        $ printf 'all:; $(info hello)' | make -sf -
    
    Reported by Sergei Trofimovich <[email protected]>
    Test added by Paul Smith <[email protected]>
    
    * src/main.c (main): Set the mtime of the stdin temporary file.
    * tests/scripts/features/reinvoke: Add a test.

commit 1bc35a7ae729989f691a988bca1ef1f1940c99a5
Author: Paul Smith <[email protected]>
Date:   Sat Feb 26 17:19:42 2022 -0500

    tests: Allow run_make_test() to avoid passing -f
    
    We already use undef makefile strings to mean "re-use the previous
    makefile", so if the string is empty we'll assume it means "don't
    use a makefile at all" (don't add -f).
    
    * tests/run_make_tests.pl (run_make_test): If the makefile string
    is empty, don't create a makefile or add -f.
    * tests/scripts/features/include: Change empty makefile to "\n".
    * tests/scripts/misc/close_stdout: Ditto.
    * tests/scripts/options/dash-r: Ditto.

commit 8cdaabbf8e129fc15ee1456d4fce9d10bf4bad55
Author: Paul Smith <[email protected]>
Date:   Sun Feb 27 17:44:16 2022 -0500

    tests: Preserve Windows temp environment variables
    
    * src/main.c (main): Show the temp filename on error.  Also on
    Windows prefer TMP, then TEMP, and only lastly TMPDIR.
    * tests/test_driver.pl: Add TMP, TEMP, and USERPROFILE to the list
    of environment variables to preserve.

commit 2be866143394f5fa5fdeaa545003aba26dc72956
Author: Paul Smith <[email protected]>
Date:   Sat Feb 26 17:19:26 2022 -0500

    * tests/test_driver.pl: Support STDIN redirection.
    
    Before running tests, duplicate STDIN then reset it after the test
    completes.  Also when -keep is provided, preserve the base and run
    files.

commit 8b3e678ace1926c9c9521c5eeae823bc37952fca
Author: Paul Smith <[email protected]>
Date:   Mon Feb 21 09:29:41 2022 -0500

    Ensure buffers are large enough for integer values
    
    Issue raised by Sergei Trofimovich <[email protected]>
    
    * src/makeint.h (INTSTR_LENGTH): Update for unsigned values.
    * src/function.c (func_lastword): Use INTSTR_LENGTH as buffer size.
    (shell_function_completed): Ditto.
    (func_call): Ditto.
    * src/remote-cstms.c (start_remote_job): Ditto.

commit ec09ec775ab2edae578f5ec86d1c13dd68728ee6
Author: Paul Smith <[email protected]>
Date:   Thu Feb 10 14:48:26 2022 -0500

    * <all>: Update copyright notices.

-----------------------------------------------------------------------

Summary of changes:
 AUTHORS                               |   2 +-
 Basic.mk.template                     |   2 +-
 Makefile.am                           |   2 +-
 NEWS                                  |   2 +-
 README.Amiga                          |   2 +-
 README.DOS.template                   |   2 +-
 README.OS2.template                   |   2 +-
 README.W32.template                   |   2 +-
 README.customs                        |   2 +-
 README.git                            |   4 +-
 README.template                       |   2 +-
 TODO.private                          |   2 +-
 bootstrap.bat                         |   2 +-
 bootstrap.conf                        |   2 +-
 build.cfg.in                          |   2 +-
 build.sh                              |   2 +-
 build_w32.bat                         |   2 +-
 builddos.bat                          |   2 +-
 configure.ac                          |   2 +-
 doc/Makefile.am                       |   2 +-
 doc/make.1                            |   2 +-
 doc/make.texi                         |   2 +-
 m4/acinclude.m4                       |   2 +-
 m4/dospaths.m4                        |   2 +-
 maintMakefile                         |   2 +-
 makefile.com                          |   2 +-
 mk/Amiga.mk                           |   2 +-
 mk/Posix.mk.in                        |   2 +-
 mk/VMS.mk                             |   2 +-
 mk/Windows32.mk                       |   2 +-
 mk/msdosdjgpp.mk                      |   2 +-
 po/POTFILES.in                        |   2 +-
 scripts/copyright-update              |   2 +-
 src/amiga.c                           |   4 +-
 src/amiga.h                           |   2 +-
 src/ar.c                              |   2 +-
 src/arscan.c                          |   2 +-
 src/commands.c                        |   2 +-
 src/commands.h                        |   2 +-
 src/config.ami.template               |   2 +-
 src/config.h-vms.template             |   2 +-
 src/config.h.W32.template             |   2 +-
 src/configh.dos.template              |   2 +-
 src/debug.h                           |   2 +-
 src/default.c                         |   2 +-
 src/dep.h                             |   2 +-
 src/dir.c                             |   2 +-
 src/expand.c                          |   2 +-
 src/file.c                            |   6 +-
 src/filedef.h                         |   2 +-
 src/function.c                        |  14 +-
 src/getopt.c                          |   2 +-
 src/getopt.h                          |   2 +-
 src/getopt1.c                         |   2 +-
 src/gettext.h                         |   2 +-
 src/gmk-default.scm                   |   2 +-
 src/gnumake.h                         |   2 +-
 src/guile.c                           |   2 +-
 src/implicit.c                        |   2 +-
 src/job.c                             |  20 +--
 src/job.h                             |   2 +-
 src/load.c                            |   6 +-
 src/loadapi.c                         |   2 +-
 src/main.c                            | 237 +++++++++++++++++++++++++---------
 src/makeint.h                         |   4 +-
 src/misc.c                            |   2 +-
 src/os.h                              |   2 +-
 src/output.c                          |   2 +-
 src/output.h                          |   2 +-
 src/posixos.c                         |   2 +-
 src/read.c                            |   2 +-
 src/remake.c                          |   2 +-
 src/remote-cstms.c                    |   5 +-
 src/remote-stub.c                     |   2 +-
 src/rule.c                            |   2 +-
 src/rule.h                            |   2 +-
 src/signame.c                         |   2 +-
 src/strcache.c                        |   2 +-
 src/variable.c                        |   2 +-
 src/variable.h                        |   2 +-
 src/version.c                         |   2 +-
 src/vms_exit.c                        |   2 +-
 src/vms_export_symbol.c               |   2 +-
 src/vms_progname.c                    |   2 +-
 src/vmsdir.h                          |   2 +-
 src/vmsfunctions.c                    |   2 +-
 src/vmsify.c                          |   2 +-
 src/vmsjobs.c                         |   2 +-
 src/vpath.c                           |   2 +-
 src/w32/compat/dirent.c               |   2 +-
 src/w32/compat/posixfcn.c             |   2 +-
 src/w32/include/dirent.h              |   2 +-
 src/w32/include/dlfcn.h               |   2 +-
 src/w32/include/pathstuff.h           |   2 +-
 src/w32/include/sub_proc.h            |   2 +-
 src/w32/include/w32err.h              |   2 +-
 src/w32/pathstuff.c                   |   2 +-
 src/w32/subproc/misc.c                |   2 +-
 src/w32/subproc/proc.h                |   2 +-
 src/w32/subproc/sub_proc.c            |   2 +-
 src/w32/subproc/w32err.c              |   2 +-
 src/w32/w32os.c                       |   2 +-
 tests/NEWS                            |   2 +-
 tests/README                          |   2 +-
 tests/config_flags_pm.com             |   2 +-
 tests/mkshadow                        |   2 +-
 tests/run_make_tests.bat              |   2 +-
 tests/run_make_tests.com              |   2 +-
 tests/run_make_tests.pl               |   4 +-
 tests/scripts/features/include        |   2 +-
 tests/scripts/features/reinvoke       |  12 ++
 tests/scripts/misc/close_stdout       |   2 +-
 tests/scripts/options/dash-f          |  95 ++++++++++++--
 tests/scripts/options/dash-r          |   2 +-
 tests/scripts/targets/NOTINTERMEDIATE |   4 +-
 tests/scripts/variables/MAKE_RESTARTS |  12 +-
 tests/test_driver.pl                  |  32 +++--
 117 files changed, 436 insertions(+), 227 deletions(-)


hooks/post-receive
-- 
make