Error al pasar macro a \setmainlanguage

Error al pasar macro a \setmainlanguage

Error al compilar este ejemplo usando Vanilla XeLaTeX ( XeTeX 3.141592653-2.6-0.999994 (TeX Live 2022)) o LuaLaTeX ( This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)).

Tengo la siguiente clase test.cls:

\ProvidesClass{test}[2022/05/06 Test class]
\DeclareOption{portuguese}{\def\my@mainlanguage{portuguese}}
\DeclareOption{english}{\def\my@mainlanguage{english}}
\ProcessOptions\relax
\ExecuteOptions{}
\LoadClass{article}\RequirePackage{polyglossia}
\setmainlanguage{\my@mainlanguage}

Y un documento de muestra:

\documentclass[portuguese]{test}
\title{Test}
\begin{document}
\maketitleTest
\end{document}

El mensaje de error es:

! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.Type  H <return>  for immediate help. ...

l.8 \setmainlanguage{\my@mainlanguage}

Se compila sin errores usando TeXLive desde 2021.

información relacionada