f6a0ad4b (Makefile: generate Perl header from template file,
2018-04-10) moved code for generating the 'use lib' lines at the top
of perl scripts from the $(SCRIPT_PERL_GEN) rule to a separate
GIT-PERL-HEADER rule.
This rule first populates INSTLIBDIR and then substitutes it into the
GIT-PERL-HEADER using sed:
INSTLIBDIR=... something ...
sed -e 's=@@INSTLIBDIR@@='$$INSTLIBDIR'=g' $< > $@
Because $INSTLIBDIR is not surrounded by double quotes, the shell
splits it at each space, causing errors if INSTLIBDIR contains an $IFS
character:
sed: 1: "s=@@INSTLIBDIR@@=/usr/l ...": unescaped newline inside substitute pattern
Add back the missing double-quotes to make it work again.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
 
        INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
        INSTLIBDIR="$$INSTLIBDIR$${INSTLIBDIR_EXTRA:+:$$INSTLIBDIR_EXTRA}" && \
        sed -e 's=@@PATHSEP@@=$(pathsep)=g' \
-           -e 's=@@INSTLIBDIR@@='$$INSTLIBDIR'=g' \
+           -e "s=@@INSTLIBDIR@@=$$INSTLIBDIR=g" \
            -e 's=@@PERLLIBDIR_REL@@=$(perllibdir_relative_SQ)=g' \
            -e 's=@@GITEXECDIR_REL@@=$(gitexecdir_relative_SQ)=g' \
            -e 's=@@LOCALEDIR_REL@@=$(localedir_relative_SQ)=g' \