Small bug fix. This is of strong relevance to the Axiom port which

I hope to commit in a week or three.
This commit is contained in:
Mark Murray 2003-11-14 08:06:58 +00:00
parent c923a029b6
commit e78baaa173
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=93937
4 changed files with 133 additions and 0 deletions

View file

@ -27,6 +27,9 @@ MLINKS= notangle.1 noweave.1 notangle.1 nountangle.1
NOWEBTEXDIR= ${PREFIX}/share/texmf-local/tex/plain/noweb
NOWEBLATEXDIR= ${PREFIX}/share/texmf-local/tex/latex/noweb
post-patch:
@${TOUCH} ${WRKSRC}/c/modules.[ch]
post-build:
@(cd ${WRKSRC} && ${SH} ${WRKSRC}/awkname awk)

View file

@ -0,0 +1,109 @@
--- c/modules.c.orig Wed Mar 28 14:49:00 2001
+++ c/modules.c Thu Nov 13 20:15:53 2003
@@ -17,7 +17,7 @@
static
void append(Module mp, struct modpart *p);
-#line 227 "modules.nw"
+#line 233 "modules.nw"
static int seekcycle(Module mp, Parent parent);
#line 132 "modules.nw"
static char *lastfilename = 0;
@@ -81,12 +81,12 @@
struct parent thismodule; /* the value only matters when we're expanding a module */
-#line 219 "modules.nw"
+#line 225 "modules.nw"
thismodule.this = mp;
thismodule.parent = parent;
#line 153 "modules.nw"
-#line 222 "modules.nw"
+#line 228 "modules.nw"
if (seekcycle(mp, parent)) {
errormsg(Error, "<<%s>>", mp->name);
return Error;
@@ -111,11 +111,12 @@
#line 157 "modules.nw"
; break;
case MODULE:
-#line 201 "modules.nw"
+#line 206 "modules.nw"
newmod = lookup(p->contents);
if (newmod==NULL) {
- errormsg (Error, "undefined chunk name: <<%s>>", p->contents);
+ errormsg (Error, "ignoring undefined chunk name: <<%s>>", p->contents);
error=Error;
+ printf("<<%s>>",p->contents);
} else {
int retcode;
if (*locformat == 0 && partial_distance == 0) {
@@ -142,7 +143,7 @@
}
return error;
}
-#line 229 "modules.nw"
+#line 235 "modules.nw"
static int seekcycle(Module mp, Parent parent) {
if (parent == NULL) {
return 0;
@@ -155,14 +156,14 @@
return 0;
}
}
-#line 251 "modules.nw"
+#line 257 "modules.nw"
int printloc(FILE *fp, char *fmt, Location loc, int partial) {
char *p;
if (*fmt
&& (loc.filename!=lastfilename || lastlineno != loc.lineno)) {
if (partial) putc('\n',fp);
-#line 263 "modules.nw"
+#line 269 "modules.nw"
for (p = fmt; *p; p++) {
if (*p == '%') {
switch (*++p) {
@@ -177,35 +178,35 @@
p += 2;
} else
-#line 283 "modules.nw"
+#line 289 "modules.nw"
{ static int complained = 0;
if (!complained) {
errormsg(Error,"Bad format sequence ``%%%c'' in -L%s",*p,fmt);
complained = 1;
}
}
-#line 277 "modules.nw"
+#line 283 "modules.nw"
break;
default:
-#line 283 "modules.nw"
+#line 289 "modules.nw"
{ static int complained = 0;
if (!complained) {
errormsg(Error,"Bad format sequence ``%%%c'' in -L%s",*p,fmt);
complained = 1;
}
}
-#line 278 "modules.nw"
+#line 284 "modules.nw"
break;
}
} else putc(*p, fp);
}
-#line 257 "modules.nw"
+#line 263 "modules.nw"
lastfilename = loc.filename;
lastlineno = loc.lineno;
return 1;
} else return 0;
}
-#line 309 "modules.nw"
+#line 315 "modules.nw"
void remove_final_newline (Module mp) {
/* remove trailing newline that must be in module */
if (mp->tail==NULL) /* module has no text */

View file

@ -0,0 +1,21 @@
--- c/modules.nw.orig Wed Mar 28 14:44:00 2001
+++ c/modules.nw Mon Nov 10 09:25:05 2003
@@ -197,11 +197,17 @@
out as a special case.
This change probably blows the case where the module being expanded is
empty.
+
+If the lookup fails then the module (or chunk) is an undefined name.
+We complain about it but want to output the original source.
+We just wrap it in the bogus chunk name in the angle brackets
+that it must have had in the input and output it. (Tim Daly Nov 13, 2002)
<<expand a module>>=
newmod = lookup(p->contents);
if (newmod==NULL) {
- errormsg (Error, "undefined chunk name: @<<%s@>>", p->contents);
+ errormsg (Error, "ignoring undefined chunk name: @<<%s@>>", p->contents);
error=Error;
+ printf("@<<%s@>>",p->contents);
} else {
int retcode;
if (*locformat == 0 && partial_distance == 0) {