Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zsh-4.3.1[45] problem on FreeBSD
On Tue, Dec 27, 2011 at 12:38 PM, Herbert J. Skuhra <hskuhra@xxxxxxxxxxx> wrote:
> On Mon, 26 Dec 2011 18:31:40 -0800
> Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
>
>> Hrm. This must have something to do with TIOCGWINSZ not being defined
>> on that platform and something causing re-entry into adjustwinsize(),
>> but I don't have a FreeBSD system to test on and I can't tell whether
>> it's a recursive call or simply that we've created an infinite series
>> of SIGWINCH somehow.
>
> % ./configure
> [...]
> checking for conflicts in sys/time.h and sys/select.h... no
> checking TIOCGWINSZ in termios.h... yes
Hrm again. Nothing interesting happens in zle_resetprompt() as far as
I can tell:
zle_resetprompt(void)
{
reexpandprompt();
if (zleactive)
redisplay(NULL);
}
And:
redisplay(UNUSED(char **args))
{
moveto(0, 0);
zputc(&zr_cr); /* extra care */
tc_upcurs(lprompth - 1);
resetneeded = 1;
clearflag = 0;
return 0;
}
So unless the curses library is doing something wacko, I can't find
any reason why it would be a problem to reset the prompt before /
independently of calling zrefresh().
However, adjustwinsize() it is literally the only place
zle_resetprompt() is called; usually resetting the prompt is done via
a widget if at all.
Out of curiosity, what happens if you put a "sleep 5" somewhere in
your init files? I'm wondering if there's some kind of race between
the terminal getting opened and the first attempt to output something.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author