From c42981f7e291bfd5588fe1fd637a16c8a94df6c5 Mon Sep 17 00:00:00 2001 From: Andy Kopra Date: Wed, 29 Jul 2026 19:22:46 +0200 Subject: [PATCH] release: parallel command links, nine-level list nesting Two development changes since the last snapshot. perf(build): com/Makefile's recursive $(MAKE) commands inherited no jobserver, so kdiag, kdesc and ktext linked one after another even though they are independent links against the already-built library. A clean rebuild drops from 27.9 s to 23.1 s on an i9-14900KF and from 16.4 s to 13.8 s on an M5 Pro. fix(list): LaTeX's built-in enumerate and itemize stop at four levels, so a deeper @ol or @ul failed with "Too deeply nested". sks/list/sty/list.sty now redefines both through enumitem to allow nine, with explicit per-level itemize markers, since \renewlist discards the built-in ones. (from dev 15b822f06ee0) Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 2 +- com/Makefile | 7 +++++-- sks/list/sty/list.sty | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d482f63..a4b2a16 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ are regenerated on each release — patches cannot be merged directly. Report problems (or send patches) to the author; accepted changes are applied to the development tree and appear in a following snapshot. -This snapshot was assembled from development commit `43a4ce7dea2a`. +This snapshot was assembled from development commit `15b822f06ee0`. ## License diff --git a/com/Makefile b/com/Makefile index 0786161..a326ca6 100644 --- a/com/Makefile +++ b/com/Makefile @@ -37,9 +37,12 @@ DEPFLAGS = -MMD -MP -MF $(@F).d .PHONY: all clean redo clang mac sks install -# Default target: build dependencies first, then commands +# Default target: build dependencies first, then commands. The commands are +# three independent links against the finished library, so they run in +# parallel (as mac/ and the sks/ components already do) rather than one after +# another -- the serial links were about a quarter of a clean rebuild. all : | mac sks - $(MAKE) commands + $(MAKE) -j commands # Separate target to build commands (called after dependencies are ready) .PHONY: commands diff --git a/sks/list/sty/list.sty b/sks/list/sty/list.sty index 6accd4e..b6bfafc 100644 --- a/sks/list/sty/list.sty +++ b/sks/list/sty/list.sty @@ -1,3 +1,19 @@ \usepackage{enumitem} +% LaTeX's built-in enumerate/itemize stop at 4 levels ("Too deeply nested"). +% Redefine them via enumitem to allow 9. \renewlist discards all prior +% settings, so the \setlist lines must follow it; it also discards the +% built-in itemize markers, hence the explicit per-level labels below. +\setlistdepth{9} +\renewlist{enumerate}{enumerate}{9} +\renewlist{itemize}{itemize}{9} \setlist{topsep=0pt, partopsep=0pt, parsep=2pt, itemsep=0pt} \setlist[enumerate]{label*=\arabic*.} +\setlist[itemize,1]{label=\textbullet} +\setlist[itemize,2]{label=\normalfont\bfseries\textendash} +\setlist[itemize,3]{label=\textasteriskcentered} +\setlist[itemize,4]{label=\textperiodcentered} +\setlist[itemize,5]{label=\textbullet} +\setlist[itemize,6]{label=\normalfont\bfseries\textendash} +\setlist[itemize,7]{label=\textasteriskcentered} +\setlist[itemize,8]{label=\textperiodcentered} +\setlist[itemize,9]{label=\textbullet}