From f17eb26a34af69a2238a3d8b46079445e09c096e Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Wed, 12 Aug 2015 17:53:03 +0200 Subject: 35834: strip a final newline from pasted text: inserting is hard to tell apart from accepting it --- Src/Zle/zle_misc.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Src/Zle') diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c index 502e41e35..6f58af626 100644 --- a/Src/Zle/zle_misc.c +++ b/Src/Zle/zle_misc.c @@ -787,6 +787,12 @@ bracketedpaste(char **args) zmult = 1; if (region_active) killregion(zlenoargs); + /* chop a final newline if it's insertion would be hard to + * distinguish by the user from the line being accepted */ + else if (n > 1 && zlecontext != ZLCON_VARED && + (zlecs + (insmode ? 0 : n - 1)) >= zlell && + wpaste[n-1] == ZWC('\n')) + n--; yankcs = yankb = zlecs; doinsert(wpaste, n); yanke = zlecs; -- cgit 1.4.1