From ef862262e72c51621aa4d9400a2395fdc4f2324f Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Wed, 7 Sep 2016 18:51:01 +0100
Subject: 39185: Only set word begin for completion word if not alias.
This is consistent with other ZLE code in lex.c and fixes a crash
in some completions involving aliases, e.g. if uncompleted quotes.
---
ChangeLog | 5 +++++
Src/lex.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index cb7405a85..c7c863c96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-09-07 Peter Stephenson
+
+ * 39185: Src/lex.c: wordbeg only set for ZLE if not alias.
+ Fixes crash on completion in some obscure alias expansions.
+
2016-09-07 Peter Stephenson
* Matthew Martin: 39221: Completion/Unix/Command/_rm: update for
diff --git a/Src/lex.c b/Src/lex.c
index 6b20e14b5..e0935bf05 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -613,7 +613,7 @@ gettok(void)
if (lexstop)
return (errflag) ? LEXERR : ENDINPUT;
isfirstln = 0;
- if ((lexflags & LEXFLAGS_ZLE))
+ if ((lexflags & LEXFLAGS_ZLE) && !(inbufflags & INP_ALIAS))
wordbeg = inbufct - (qbang && c == bangchar);
hwbegin(-1-(qbang && c == bangchar));
/* word includes the last character read and possibly \ before ! */
--
cgit v1.3.1