Print

Print


On 07/06/2017 11:14, Alexander Grahn wrote:
> Good afternoon,
> 
> the recent version change of expl3 from [2017/04/01] (last TL-16 state) to
> [2017/05/13] (initial TL-17 state) changed the behaviour of \hbox_s:Nn, which
> made a hot-fix necessary for one of my packages (ocgx2) on CTAN.
> 
> The problem boils down to the following code, which used to work with expl3 as
> of v. 2017/04/01, but fails now with `! Missing } inserted.' error.
> 
>   \documentclass{article}
>   \usepackage{hyperref}
>   
>   \usepackage{expl3}
>   \ExplSyntaxOn
>   
>   \begin{document}
>   
>   \href{https://www.ctan.org}{\dots
>     \hbox_set:Nn0\bgroup CTAN    % broken since expl3 [2017/05/13]
>   %  \setbox0=\hbox\bgroup CTAN  % hot-fix
>     \egroup\box_use:N0
>   \dots}
>   
>   \end{document}
> 
> I would like to return to using \hbox_set:Nn instead of \setbox.
> 
> Alexander

Hi Alexander,

I had an issue in siunitx which I also had to fix for this update: for
me it boiled down to having made some implementation assumptions and
ending up mixing different interfaces. In the above, \hbox_set:Nn is
wrong (even if we ignore using "0" not a box name). For me

  \href{https://www.ctan.org}{\dots
    \hbox_set:Nw 0 CTAN    % broken since expl3 [2017/05/13]
  %  \setbox0=\hbox\bgroup CTAN  % hot-fix
    \hbox_set_end:
    \box_use:N0
  \dots}

works and is using the appropriate interface.

Joseph

P.S. I'm meant to be adding \hbox_set_to_wd:Nnw, etc., as those are
currently not covered: will aim to do today/tomorrow.