diff options
author | Bart Schaefer <barts@users.sourceforge.net> | 2001-08-25 16:44:15 +0000 |
---|---|---|
committer | Bart Schaefer <barts@users.sourceforge.net> | 2001-08-25 16:44:15 +0000 |
commit | 135eebde601e57cd18b7e7815da9127533f09b0c (patch) | |
tree | a0ac7f4d10852e6552eafe50031a347b07f8a630 /Src | |
parent | b70ec86efeef1c3e277f26922ceecfd678939c29 (diff) | |
download | zsh-135eebde601e57cd18b7e7815da9127533f09b0c.tar.gz zsh-135eebde601e57cd18b7e7815da9127533f09b0c.tar.xz zsh-135eebde601e57cd18b7e7815da9127533f09b0c.zip |
Fix crash on re-entry to loop() from preprompt().
Diffstat (limited to 'Src')
-rw-r--r-- | Src/init.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Src/init.c b/Src/init.c index cbfaf5ad0..5a86800d1 100644 --- a/Src/init.c +++ b/Src/init.c @@ -107,6 +107,8 @@ loop(int toplevel, int justonce) pushheap(); for (;;) { freeheap(); + if (stophist == 3) /* re-entry via preprompt() */ + hend(NULL); hbegin(1); /* init history mech */ if (isset(SHINSTDIN)) { setblock_stdin(); @@ -114,7 +116,10 @@ loop(int toplevel, int justonce) int hstop = stophist; stophist = 3; preprompt(); - stophist = hstop; + if (stophist != 3) + hbegin(1); + else + stophist = hstop; errflag = 0; } } |