Files
coursebook/introc
Lawrence Angrave 8ce9fc0ab8 Make PDF build fail on real LaTeX errors; fix accumulated hidden errors
The Makefile used '-' prefix on recipe lines, '-f' (force past errors),
and output redirection to /dev/null, making the PDF build incapable of
failing. latexmk already returns exit code 0 for warnings (overfull
hbox, undefined refs, font substitution) and 12 for real errors, so
the fix is to stop suppressing that exit code.

Makefile changes:
- Remove '-' prefix so make propagates latexmk's exit code
- Remove '-f' so latexmk stops at the first error (fail-fast)
- Remove '2>&1 >/dev/null' redirect so output is visible
- Keep -interaction=nonstopmode (prevents hanging on errors)
- Keep -quiet (clean logs on success)
- Add grep of the .log for '^! ' lines on failure so the actual
  error is visible in CI output without needing the log file
- Clean up .tmp file on chapter build failure

The stricter build uncovered pre-existing errors hidden for years:

Preamble (prelude.tex):
- color option clash: xcolor loaded, then color with options
- xtopmargin/xbottommargin: invalid listings options
- lstlisting redefinition: \lstnewenvironment on existing environment
- minted {m}: wrong argument specifier, should be [1]
- \tightlist: used 36 times, never defined

main.tex:
- Duplicate minted definition removed (already in prelude.tex)

Source files:
- Unescaped & in \keyword{} (appendix, synchronization)
- \n as undefined control sequence in \keyword{} (introc, networking)
- \0 in text mode (introc/c_memory_model)
- \? as undefined control sequence (introc/language_facilities)
- \backslash in text mode, should be \textbackslash (introc/common_bugs)
- Standalone \\ before \begin{center} (synchronization, signals, appendix)
- language=golang: not a listings language, should be Go (appendix)
- language=console: not a listings language, removed (introc, introduction)

signals/signals.bib:
- Unescaped _ in title field broke bibliography rendering
2026-08-24 03:49:48 -05:00
..
2019-07-05 12:59:07 -05:00
2019-05-21 00:12:46 -05:00