Hello!
Larry, back when I was a serious Kernel Hacker, I actually obtained
the appropriate release of Bitkeeper for grabbing the raw source code
for the kernel that Linus wrote.
I found it much easier to use then what is in use now. Its few errors
thrown in my direction were easier to understand then the many thrown
at me by the current tool. And here's a hint, even his Foundation and
my current distribution author, does not like it much.
And I remember meeting a DG system running a release of DG/UX, suffice
to say I wasn't happy. I found that the SUN systems running either
early Solaris or SUNos were easier to get along with. I can;t recall
outside of the VCF East event if I've seen a Tek graphics terminal
before........
-----
Gregg C Levine gregg.drwho8(a)gmail.com
"This signature fought the Time Wars, time and again."
On Mon, Sep 18, 2017 at 10:50 PM, Larry McVoy <lm(a)mcvoy.com> wrote:
On Mon, Sep 18, 2017 at 08:52:08PM -0400, Random832
wrote:
On Thu, Sep 14, 2017, at 15:37, Steve Johnson
wrote:
I wrote a paper on error messages at one point.??
I had examples from
bad to best.?? In a nutshell (worst to best):
* <program aborts, leaving the world in an unknown state>
* "internal error",?? "beta table overflow", "operation
failed"
* "Writing the output file failed"
* "File xxx could not be opened for writing."
* "File xxx could not be opened for writing: check the file location
and permissions"
* "Writing the output file xxx caused an error.?? See <link> for
possible reasons and corrections"
Most git messages fall between 2 and 3.?? But there are occasional 4's
and 5's.
Just out of curiosity, where does perror(filename), quite possibly the
*most* common error message on Unix as a whole, fall on your scale? It
says which of the file location or permissions (or whatever else) it is,
but not whether it was attempting to open it for reading or writing.
So in the BitKeeper source, perror is redifined to my_perror which is
this:
void
my_perror(char *file, int line, char *msg)
{
char *p = 0;
int save = errno;
if (p = getenv("_BK_VERSION")) {
if (strneq(p, "bk-", 3)) p += 3;
fprintf(stderr, "%s:%d (%s): ", file, line, p);
} else {
fprintf(stderr, "%s:%d: ", file, line);
}
if (p = strerror(errno)) {
fprintf(stderr, "%s: %s\n", msg, p);
} else {
fprintf(stderr, "%s: errno=%d\n", msg, errno);
}
errno = save;
}
libc should do that.