[778] in Moira
Re: com_err shouldn't print '\r' after '\n' when printing errors
daemon@ATHENA.MIT.EDU (Theodore Ts'o)
Sun Sep 11 00:27:36 1994
Date: Sun, 11 Sep 94 00:26:45 EDT
From: tytso@MIT.EDU (Theodore Ts'o)
To: gsstark@MIT.EDU
Cc: "Theodore Ts'o" <tytso@MIT.EDU>, "Jonathan I. Kamens"
<jik@cam.ov.com>,
krb5-bugs@MIT.EDU, bug-zephyr@MIT.EDU, bugs@MIT.EDU, bug-moira@MIT.EDU
In-Reply-To: gsstark@MIT.EDU's message of Sat, 10 Sep 1994 17:41:35 -0400,
<199409102141.RAA15198@dragons-lair.MIT.EDU>
You misunderstand the premise. The com_err library is not "trying to
duplicate the functionality of the terminal driver". What's going on is
that the com_err library is attempting to do the right thing in the case
where (a) the application has put the terminal driver in raw mode, and
(b) the application is using the default com_err procedurem and (c) the
termional involved is one of the 99.99997% where the extra ^M is
harmless.
Most of the time, the terminal driver is told not to send ^M's because
they aren't needed for that terminal, or are harmful --- but because the
program has decided that it wants to send them itself. (For example,
most screen-painting programs like emacs fall into this category.)
However, since the intention with the default com_err procedure is that
even if the curses program has placed the terminal in raw mode, the
error message should be displayed, and then the cursur should go to
column 1 and scroll down one line. If the terminal is in raw mode, then
the ^M must be sent explicitly; currently the com_err routine sends the
^M all the time, instead of checking to see if it is necessary. But the
net result is that you will get at least one ^M from the com_err
routine, because that is what was intended.
If people want to continue this religious discussion, please send the
mail directly to me. There's no point cluttering all of the various bug
mailing lists.
- Ted