cwitty@csli.Stanford.EDU (Carl Witty) (08/17/90)
Evidently, ness has changed in such a way that .../atk/ness/doc/present.n no longer works. Given a file name 'nessauth.d', it is supposed to create 'nessauth.doc'; instead, it creates 'present.n nessauth.doc' (a filename with an embedded space.) I don't know ness, so I can't understand present.n well enough to know what it's trying to do. This worked in PL 5. Carl Witty cwitty@cs.stanford.edu
wjh+@ANDREW.CMU.EDU (Fred Hansen) (08/17/90)
Excerpts from internet.info-andrew: 17-Aug-90 Error building ness documen.. Carl Witty@decwrl.dec.co (399) > .../atk/ness/doc/present.n no longer works. Given a file name > 'nessauth.d', it is supposed to create 'nessauth.doc'; instead, it > creates 'present.n nessauth.doc' (a filename with an embedded space.) This bug has been corrected, but--I am sorry to have to report--did not make its way into patch 6. Presumably it will be in patch 7. For those of you willing to risk bypassing the regular patch mechanism, the correction is to replace the ParseArgs routine in atk/ness/objects/nessruna.c with the new version below. Fred Hansen boolean nessrunapp__ParseArgs(self, argc, argv) struct nessrunapp *self; int argc; char **argv; { struct nessmark *arg, *args, *blank; if(!super_ParseArgs(self, argc, argv)) return FALSE; /* super_ParseArgs() passes across the "runapp" and its switches, leaving "nessrun" as the first arg. */ while(*++argv != NULL && **argv == '-') { switch((*argv)[1]){ case 'd': self->dump = TRUE; break; case 'f': nessrunapp_SetFork(self, TRUE); break; default: fprintf(stderr,"%s: unrecognized switch: %s\n", nessrunapp_GetName(self), *argv); show_usage(self); return FALSE; } } if (*argv == NULL) { fprintf(stderr,"%s: no programfilename specified\n", nessrunapp_GetName(self)); show_usage(self); return FALSE; } /* get the name of the ness program file */ self->inputfile = *argv++; if (*argv != NULL) { /* concatenate args to pass to theNess */ blank = nessmark_New(); nessmark_MakeConst(blank, " "); arg = nessmark_New(); args = nessmark_New(); nessmark_SetText(args, simpletext_New()); while (*argv != NULL) { nessmark_MakeConst(arg, *argv); nessmark_Next(args); nessmark_Replace(args, arg); nessmark_Next(args); nessmark_Replace(args, blank); argv++; } nessmark_Base(args); ness_SupplyMarkerArg(self->theNess, args); } return TRUE; }