From 0f62b80bb28b27b93df83d69279eb6a6e7201d3d Mon Sep 17 00:00:00 2001 From: pfg Date: Fri, 4 Nov 2016 20:49:59 +0000 Subject: [PATCH] sed(1): add LEGACY_BSDSED_COMPAT compile-time flag. In r297602, which included a __FreeBSD_version bump to 1100105, we changed sed 'i' and 'a' from discarding whitespaces to conform with what GNU and sysvish sed do. There are arguments in favor of keeping the old behavior but the new behavior is also useful for migration purposes. It seems important to at least consider the case of developers depending on the previous behavior, so add a CFLAG to enable the old behaviour. PR: 213474 MFC after: 5 days --- usr.bin/sed/compile.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/usr.bin/sed/compile.c b/usr.bin/sed/compile.c index bafb339a4b5d..f05d45fc6b40 100644 --- a/usr.bin/sed/compile.c +++ b/usr.bin/sed/compile.c @@ -746,6 +746,9 @@ compile_text(void) while (cu_fgets(lbuf, sizeof(lbuf), NULL) != NULL) { op = s = text + size; p = lbuf; +#ifdef LEGACY_BSDSED_COMPAT + EATSPACE(); +#endif for (esc_nl = 0; *p != '\0'; p++) { if (*p == '\\' && p[1] != '\0' && *++p == '\n') esc_nl = 1;