--- - branch: MAIN date: Wed May 3 04:51:05 UTC 2017 files: - new: '1.55' old: '1.54' path: src/bin/sh/input.c pathrev: src/bin/sh/input.c@1.55 type: modified - new: '1.18' old: '1.17' path: src/bin/sh/input.h pathrev: src/bin/sh/input.h@1.18 type: modified - new: '1.121' old: '1.120' path: src/bin/sh/parser.c pathrev: src/bin/sh/parser.c@1.121 type: modified id: 20170503T045105Z.b51be5f8e05f1702be8ca1d9cb67a453b6944e76 log: | 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.) module: src subject: 'CVS commit: src/bin/sh' unixtime: '1493787065' user: kre