¿Cómo utilizar \discretionary dentro del \hl del alma?

¿Cómo utilizar \discretionary dentro del \hl del alma?
\documentclass{article}
\usepackage{soul}
\usepackage{color}

\begin{document}
    Some \hl{te\discretionary{-}{-}{-}xt}.
\end{document}

Lo anterior no se compila debido aFalta { insertado,Lista discrecional inadecuada,La lista de incompatibles no se puede desempacaryInadecuada \prev Deptherrores. Eliminando \hlo \discretionaryelimina todos los errores.

¿Cómo puedo arreglar el código para permitir el anidamiento \discretionaryen el alma \hl?


Actualizar:

Me gustaría redefinir localmente \discretionarypara devolver solo su tercer argumento, ya que el comando original no funcionaría dentro de las macros de Soul. Logré llegar hasta este punto:

\documentclass{article}

\usepackage{soul}
\usepackage[usenames,dvipsnames]{xcolor}%\usepackage{color}

%https://tex.stackexchange.com/a/139500:
\soulregister\cite7
\soulregister\ref7
\soulregister\pageref7

\def\highlightcolor{yellow}
\DeclareRobustCommand{\hlc}[2][\highlightcolor]{{\sethlcolor{#1}\hl{{\renewcommand*\discretionary[3]{\mbox{####3}}#2}}}}

\begin{document}
    \hlc{Some,te\discretionary{-}{-}{-}xt}.
\end{document}

ingrese la descripción de la imagen aquí

Sin embargo, esto todavía arroja un error si el texto resaltado contiene espacios. Creo que se debe a llaves dobles en \hl{{…}}, pero no pude redefinir el alcance de \discretionarydentro \hlde otras maneras. ¿Existen algunas alternativas para permitir el resaltado de texto sin eliminar \discretionarycomandos? Tengo fragmentos de texto bastante largos que contienen dichos comandos que necesito resaltar, pero en la versión final el resaltado debe eliminarse. Por lo tanto, no quiero eliminar \discretionarycomandos, sino simplemente redefinirlos localmente para que no causen errores cuando se usa el resaltado. Para mí sería suficiente devolver sólo su tercer argumento.

información relacionada