Module Name: src Committed By: kre Date: Wed May 3 04:51:05 UTC 2017
Modified Files: src/bin/sh: input.c input.h parser.c Log Message: Deal with \newline line continuations more correctly. They can occur anywhere (*anywhere*) not only where it happens to be convenient to the parser... This fix from FreeBSD (thanks again folks). To make this work, pushstring()'s signature needed to change to allow a const char * as its string arg, which meant sprinkling some const other places for a brighter appearance (and handling fallout). All this because I wanted to see what number would come from echo $\ {\ L\ I\ N\ E\ N\ O\ } and was surprised at the result! That works now... The bug would also affect stuff like true &\ & false and all kinds of other uses where the \newline occurred in the "wrong" place. An ATF test for sh syntax is coming... (sometime.) To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.55 src/bin/sh/input.c cvs rdiff -u -r1.17 -r1.18 src/bin/sh/input.h cvs rdiff -u -r1.120 -r1.121 src/bin/sh/parser.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.