This is a sort of followup on this question of mine about overprinting.
Apparantly, I don't understand how global options are passed from classes to packages as well as I hoped I did. This
\documentclass{article}
\usepackage[overprint]{colorspace}
\usepackage{tikz}
%% Patch from other question removed, not relevant for this
%% actual problem.
\definespotcolor{spotcolor}{Spotcolor}{0,1,0,0}
\newcommand{\colbg}{spotcolor!10}
\begin{document}
\begin{tikzpicture}
\draw[fill=\colbg] (0,0) rectangle (10,4);
\fill[spotcolor!70] (4,2) rectangle (6,1);
\draw[fill=spotcolor] (2,2) rectangle (3,3);
\draw[fill=spotcolor!20] (9,2) rectangle (7,3);
\node at (5,3) { Text };
\end{tikzpicture}
\end{document}
works as expected (if I add in the patch from the other linked question). Now, my actual documentclass has a cmyk option for setting up various color requirements, but if I change the documentclass to
\documentclass[cmyk]{article}, the document no longer compiles with an obscure error message Paragraph ended before \c@lor@@cmyk was complete. If I vary the actual code a little, I can also trigger a Argument of \c@lor@@cmyk has an extra }.
This has me really confused. I realize that the global cmyk option gets passed down to the packages, but neither colorspace nor tikz actually has a cmyk option. (Adding it manually to either package, I get a Unknown option cmyk for package error message.
So, how then can that global option mess with something internally?