Context
While implementing the review plan from ~/.claude/plans/dreamy-frolicking-widget.md, we fixed issues 1-4 in src/factory.nw, src/Makefile, and src/.gitignore, but intentionally skipped review issue 5 for separate follow-up.
Observation
The line-number-translation demo in src/factory.nw compiles DocumentFactory2.java and DocumentFactory3.java directly with javac, not through make.
Because DocumentFactory2.java currently references Document and PDFDocument, the demo output depends on prior build state: after successful builds the needed .class files may already exist, but after make clean the same commands can emit extra cannot find symbol errors unrelated to the intended undefinedMethod() contrast.
Why it matters
The section is supposed to teach line-number translation (DocumentFactory2.java vs factory.nw/noerr.pl), but incidental dependency errors can drown out the intended single-error contrast.
Evidence
src/factory.nw currently demonstrates direct commands like javac DocumentFactory2.java 2>&1
- The demo class references
Document and PDFDocument
- In discussion during this task, a possible alternative was to make the Makefile guarantee prerequisites and change the demo to compile through
make rather than raw javac
Suggested follow-up
Choose one of these approaches and update the chapter accordingly:
- make the demo class self-contained so raw
javac always yields only the intended error, or
- add explicit Makefile-managed prerequisites for the demo and change the pedagogical commands to use
make targets instead of invoking javac directly
Context
While implementing the review plan from
~/.claude/plans/dreamy-frolicking-widget.md, we fixed issues 1-4 insrc/factory.nw,src/Makefile, andsrc/.gitignore, but intentionally skipped review issue 5 for separate follow-up.Observation
The line-number-translation demo in
src/factory.nwcompilesDocumentFactory2.javaandDocumentFactory3.javadirectly withjavac, not throughmake.Because
DocumentFactory2.javacurrently referencesDocumentandPDFDocument, the demo output depends on prior build state: after successful builds the needed.classfiles may already exist, but aftermake cleanthe same commands can emit extracannot find symbolerrors unrelated to the intendedundefinedMethod()contrast.Why it matters
The section is supposed to teach line-number translation (
DocumentFactory2.javavsfactory.nw/noerr.pl), but incidental dependency errors can drown out the intended single-error contrast.Evidence
src/factory.nwcurrently demonstrates direct commands likejavac DocumentFactory2.java 2>&1DocumentandPDFDocumentmakerather than rawjavacSuggested follow-up
Choose one of these approaches and update the chapter accordingly:
javacalways yields only the intended error, ormaketargets instead of invokingjavacdirectly