From: corinna DOT vinschen AT cityweb DOT de (Corinna Vinschen) Subject: Re: color problem when not using bash 7 Oct 1998 13:39:51 -0700 Message-ID: <361BCEA4.C7444135.cygnus.cygwin32.developers@cityweb.de> References: <3 DOT 0 DOT 5 DOT 32 DOT 19981007092324 DOT 00a3f100 AT pop DOT ma DOT ultranet DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Larry Hall , cygwin32-developers AT cygnus DOT com Hi Larry, Larry Hall wrote: > If you are right about the call to fillin_info(), then I would suggest > removing the line to set the default_color completely. It would just be > misleading and also unnecessary then. However, you should be sure this is > the case since, if its not, your change will change the user's foreground > color to white, regardless of what its been set to by the user. This may > not be an obvious problem on 9x, where the DOS box has no way to alter the > default colors but it is an issue on NT (or perhaps with 4DOS either place.) Don't ask me about 9X (sounds like a insect-powder :-) ), but while searching for the reason of the effect, I have inserted debug_printf's into the code of fillin_info(). There are many calls to fillin_info(), when starting tcsh. and the first 80% are with output_handle_ = NULL. Another interesting info (I hope): I have done the same on an older version of winsup (980812, I think, anyway, the fhandler_console code is the older one), which doesn't have the color problem, and I could see, that the count of calls to fillin_info() with output_handle_ == NULL are much less, than with the newer version! It seems, that the constructor is called twice the times in the new version, but I havn't count it. > [...] > I merely used the preexisting code as a guide to where I should > change things. As a result, it is possible that the call to fillin_info() > in the constructor is unnecessary. But, as I said, if this is really the > case, then any setting for default_color is too. I agree. I'm sure, it's unnecessary, because output_handle_ will be set at method open(), which already calls fillin_info(). If you comment out the calls in constructor, not one call to fillin_info() with output_handle_ == NULL is to be seen in the debugging output and the count of calls to fillin_info() with output_handle_ != NULL remains the same. I didn't want to be pert, but IMHO, the call only kills time and unnecessery code confuses, if one looks at it. I first thought, this NULL calls are the problem. Unfortunately, they are not the problem and I don't realize the difference in color processing between the old and the new version of class fhandler_console. The relevant code for this seems to be nearly identical. This is valid for the term=linux/ansi problem, too. The big difference between bash and tcsh seems to be, that bash uses the readline lib and tcsh only uses ncurses. I don't understand it... Sigh (once more)! Bye, Corinna P.S.: You don't want to have tcsh for testing, do you?