Skip to content

Commit

Permalink
Fix scope treatment of \box_set_ht:Nn, etc.
Browse files Browse the repository at this point in the history
  • Loading branch information
josephwright committed Jan 23, 2019
1 parent 8cad219 commit 66a287e
Show file tree
Hide file tree
Showing 12 changed files with 120 additions and 28 deletions.
2 changes: 2 additions & 0 deletions l3kernel/CHANGELOG.md
Expand Up @@ -10,6 +10,7 @@ this project uses date-based 'snapshot' version identifiers.
### Added

- Global versions of box affine functions, e.g. `\box_grotate:Nn`
- Global versions of box size adjustment functions
- `\box_(g)set_eq_drop:NN`, `\(h|v)box_unpack_drop:N`
- `\file_get:nnN` and `\file_get:nnNTF`
- Experimental functions `\sys_shell_get:nnN` and `\sys_shell_get:nnNTF`
Expand All @@ -27,6 +28,7 @@ this project uses date-based 'snapshot' version identifiers.

### Fixed

- Scope treatment of `\box_set_dp:N`, _etc._
- In (u)platex: detection of spaces in `\tl_rescan:nn` and related functions

### Removed
Expand Down
46 changes: 38 additions & 8 deletions l3kernel/l3box.dtx
Expand Up @@ -179,23 +179,35 @@
% \end{texnote}
% \end{function}
%
% \begin{function}[updated = 2011-10-22]{\box_set_dp:Nn, \box_set_dp:cn}
% \begin{function}[updated = 2019-01-22]
% {
% \box_set_dp:Nn, \box_set_dp:cn,
% \box_gset_dp:Nn, \box_gset_dp:cn
% }
% \begin{syntax}
% \cs{box_set_dp:Nn} \meta{box} \Arg{dimension expression}
% \end{syntax}
% Set the depth (below the baseline) of the \meta{box} to the value of
% the \Arg{dimension expression}.
% \end{function}
%
% \begin{function}[updated = 2011-10-22]{\box_set_ht:Nn, \box_set_ht:cn}
% \begin{function}[updated = 2019-01-22]
% {
% \box_set_ht:Nn, \box_set_ht:cn,
% \box_gset_ht:Nn, \box_gset_ht:cn
% }
% \begin{syntax}
% \cs{box_set_ht:Nn} \meta{box} \Arg{dimension expression}
% \end{syntax}
% Set the height (above the baseline) of the \meta{box} to the value of
% the \Arg{dimension expression}.
% \end{function}
%
% \begin{function}[updated = 2011-10-22]{\box_set_wd:Nn, \box_set_wd:cn}
% \begin{function}[updated = 2019-01-22]
% {
% \box_set_wd:Nn, \box_set_wd:cn,
% \box_gset_wd:Nn, \box_gset_wd:cn
% }
% \begin{syntax}
% \cs{box_set_wd:Nn} \meta{box} \Arg{dimension expression}
% \end{syntax}
Expand Down Expand Up @@ -1029,20 +1041,38 @@
% \begin{macro}{\box_set_ht:Nn, \box_set_ht:cn}
% \begin{macro}{\box_set_dp:Nn, \box_set_dp:cn}
% \begin{macro}{\box_set_wd:Nn, \box_set_wd:cn}
% Setting the size is easy: all primitive work. These primitives are not
% expandable, so the derived functions are not either.
% Setting the size whilst respecting local scope requires copying;
% the same issue does not come up when working globally.
% When debugging, the dimension expression |#2| is surrounded by
% parentheses to catch early termination.
% \begin{macrocode}
\cs_new_protected:Npn \box_set_dp:Nn #1#2
{
\tex_setbox:D #1 = \tex_copy:D #1
\box_dp:N #1 \@@_dim_eval:n {#2}
}
\cs_generate_variant:Nn \box_set_dp:Nn { c }
\cs_new_protected:Npn \box_gset_dp:Nn #1#2
{ \box_dp:N #1 \@@_dim_eval:n {#2} }
\cs_generate_variant:Nn \box_gset_dp:Nn { c }
\cs_new_protected:Npn \box_set_ht:Nn #1#2
{
\tex_setbox:D #1 = \tex_copy:D #1
\box_ht:N #1 \@@_dim_eval:n {#2}
}
\cs_generate_variant:Nn \box_set_ht:Nn { c }
\cs_new_protected:Npn \box_gset_ht:Nn #1#2
{ \box_ht:N #1 \@@_dim_eval:n {#2} }
\cs_generate_variant:Nn \box_gset_ht:Nn { c }
\cs_new_protected:Npn \box_set_wd:Nn #1#2
{ \box_wd:N #1 \@@_dim_eval:n {#2} }
\cs_generate_variant:Nn \box_set_ht:Nn { c }
\cs_generate_variant:Nn \box_set_dp:Nn { c }
{
\tex_setbox:D #1 = \tex_copy:D #1
\box_wd:N #1 \@@_dim_eval:n {#2}
}
\cs_generate_variant:Nn \box_set_wd:Nn { c }
\cs_new_protected:Npn \box_gset_wd:Nn #1#2
{ \box_wd:N #1 \@@_dim_eval:n {#2} }
\cs_generate_variant:Nn \box_gset_wd:Nn { c }
% \end{macrocode}
% \end{macro}
% \end{macro}
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl001.luatex.tlg
Expand Up @@ -5070,11 +5070,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl001.ptex.tlg
Expand Up @@ -5366,11 +5366,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl001.tlg
Expand Up @@ -5366,11 +5366,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl001.uptex.tlg
Expand Up @@ -5363,11 +5363,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl001.xetex.tlg
Expand Up @@ -5081,11 +5081,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl003.luatex.tlg
Expand Up @@ -5070,11 +5070,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl003.ptex.tlg
Expand Up @@ -5366,11 +5366,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl003.tlg
Expand Up @@ -5366,11 +5366,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl003.uptex.tlg
Expand Up @@ -5363,11 +5363,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down
10 changes: 8 additions & 2 deletions l3kernel/testfiles/m3expl003.xetex.tlg
Expand Up @@ -5081,11 +5081,17 @@ Defining \box_ht:c on line ...
Defining \box_dp:c on line ...
Defining \box_wd:c on line ...
Defining \box_set_dp:Nn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_dp:Nn on line ...
Defining \box_gset_dp:cn on line ...
Defining \box_set_ht:Nn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_ht:cn on line ...
Defining \box_set_dp:cn on line ...
Defining \box_gset_ht:Nn on line ...
Defining \box_gset_ht:cn on line ...
Defining \box_set_wd:Nn on line ...
Defining \box_set_wd:cn on line ...
Defining \box_gset_wd:Nn on line ...
Defining \box_gset_wd:cn on line ...
Defining \box_use_drop:N on line ...
Defining \box_use:N on line ...
Defining \box_use_drop:c on line ...
Expand Down

0 comments on commit 66a287e

Please sign in to comment.