Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zle_refresh patch 2
- X-seq: zsh-workers 2961
- From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>
- To: gwing@xxxxxxxxxxxxxxx, zsh-workers@xxxxxxxxxxxxxxx (zsh-workers)
- Subject: Re: zle_refresh patch 2
- Date: Wed, 5 Mar 1997 20:58:58 -0800
- In-reply-to: gwing@xxxxxxxxxxxxxxx "Re: zle_refresh patch 2" (Mar 6, 2:56pm)
- References: <19970306035603.7956.qmail@xxxxxxxxxxxxxxx>
- Reply-to: schaefer@xxxxxxx
On Mar 6, 2:56pm, gwing@xxxxxxxxxxxxxxx wrote:
} Subject: Re: zle_refresh patch 2
}
} sorry, I haven't had much time up until now. I'm going to have to look at
} the way 3.1.* handles the Zle module before I can send a patch for all the
} problems - previously I've been sending patches to 3.0.*
I think you can continue patching 3.0.3-test4 as long as you don't make
reference to zle globals in non-zle .c files. Zoltan?
} The reason that the zle went into singlelinemode style when the terminal
} went down to 1 or 2 lines is because it was simpler. I seem to remember, it
} avoided *lots* of conditionals all the way through the code. I can change
} this and I would also probably have to change quite a bit of the prompt code
} to count number of lines, etc.
It was Peter's assertion that changing the value of "termok" was sufficient
to change zle into a sane state, without having to toggle the *ZLE options.
I tried this (see my most recent patch) and it seems to work OK; I'm just
worried that putprompt() or zleread() is going to call init_term() at a bad
time, and thus reset "termok" independently of lines/columns.
} There are a couple of choices here; when a terminal decreases number of
} lines to 1 or 2:
} 1) it goes into singlelinemode style (without setting SINGLE_LINE_ZLE)
} until the terminal increases its lines above 2.
This is fine as far as *I'm* concerned.
} There are also a couple of bugs which won't show up until the terminal goes
} down to < 5 or so columns. I think I kept getting destroyed memory structs
} so I didn't work out what buffers were being overflowed.
With `termok = TERM_BAD' in effect, I was able to set COLUMNS=2 without
any crashes. Of course, all I could ever see was the < and > that mean
that there's more text left and right of the visible screen, but I was
able to blind-type various commands and finally reset COLUMNS=80 with
no apparent ill effects.
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.nbn.com/people/lantern
Messages sorted by:
Reverse Date,
Date,
Thread,
Author