Source-Changes archive

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

CVS commit: src/bin/sh



Module Name:    src
Committed By:   kre
Date:           Mon Nov 22 05:17:43 UTC 2021

Modified Files:
        src/bin/sh: eval.c expand.c expand.h nodetypes redir.c

Log Message:
PR bin/53550

Here we go again...   One more time to redo how here docs are
processed (it has been a few years since the last time!)

This is actually a relatively minor change, mostly to timimg
(to just when things happen).   Now here docs are expanded at the
same time the "filename" word in a redirect is expanded, rather than
later when the heredoc was being sent to its process.  This actually
makes things more consistent - but does break one of the ATF tests
which was testing that we were (effectively) internally inconsistent
in this area.

Not all shells agree on the context in which redirection expansions
should happen, some make any side effects visible to the parent shell
(the majority do) others do the redirection expansions in a subshell
so any side effcts are lost.   We used to have a foot in each camp,
with the majority for everything but here docs, and the minority for
here docs.   Now we're all the way with LBJ ... (or something like that).


To generate a diff of this commit:
cvs rdiff -u -r1.185 -r1.186 src/bin/sh/eval.c
cvs rdiff -u -r1.140 -r1.141 src/bin/sh/expand.c
cvs rdiff -u -r1.25 -r1.26 src/bin/sh/expand.h
cvs rdiff -u -r1.19 -r1.20 src/bin/sh/nodetypes
cvs rdiff -u -r1.71 -r1.72 src/bin/sh/redir.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index