Erro ao passar macro para \setmainlanguage

Erro ao passar macro para \setmainlanguage

Erro ao compilar este exemplo usando vanilla XeLaTeX( XeTeX 3.141592653-2.6-0.999994 (TeX Live 2022)) ou LuaLaTeX( This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)).

Eu tenho a seguinte classe 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}

E um documento de amostra:

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

A mensagem de erro é:

! 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}

Ele compila sem erros usando TeXLive de 2021.

informação relacionada