[latex3-commits] [git/LaTeX3-latex3-latex3] master: Move color stack push/pop to cross-kernel prefix (b643df9a9)

Joseph Wright joseph.wright at morningstar2.co.uk
Wed Feb 10 10:56:40 CET 2021


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/b643df9a9934e128723fbdd36d20ab401136e152

>---------------------------------------------------------------

commit b643df9a9934e128723fbdd36d20ab401136e152
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Wed Feb 10 09:56:40 2021 +0000

    Move color stack push/pop to cross-kernel prefix
    
    We need


>---------------------------------------------------------------

b643df9a9934e128723fbdd36d20ab401136e152
 l3backend/CHANGELOG.md                             |   3 +
 l3backend/l3backend-color.dtx                      |  28 +-
 l3backend/l3backend-opacity.dtx                    |   6 +-
 l3kernel/testfiles/m3expl001.luatex.tlg            |   6 +-
 l3kernel/testfiles/m3expl001.tlg                   |   6 +-
 l3kernel/testfiles/m3expl003.luatex.tlg            |   6 +-
 l3kernel/testfiles/m3expl003.tlg                   |   6 +-
 .../l3opacity/testfiles/m3opacity001.luatex.tlg    | 324 +++++----------------
 l3trial/l3opacity/testfiles/m3opacity001.tlg       | 308 +++++---------------
 9 files changed, 168 insertions(+), 525 deletions(-)

diff --git a/l3backend/CHANGELOG.md b/l3backend/CHANGELOG.md
index b04d1fd19..060ec270e 100644
--- a/l3backend/CHANGELOG.md
+++ b/l3backend/CHANGELOG.md
@@ -6,6 +6,9 @@ this project uses date-based 'snapshot' version identifiers.
 
 ## [Unreleased]
 
+### Fixed
+- Opacity support for pdfTeX/LuaTeX
+
 ## [2021-02-06]
 
 ### Changed
diff --git a/l3backend/l3backend-color.dtx b/l3backend/l3backend-color.dtx
index 9373df677..7e90737ad 100644
--- a/l3backend/l3backend-color.dtx
+++ b/l3backend/l3backend-color.dtx
@@ -241,13 +241,13 @@
 % \end{variable}
 % \end{macro}
 %
-% \begin{macro}{\@@_backend_stack_push:nn, \@@_backend_stack_push:nx}
-% \begin{macro}{\@@_backend_stack_pop:n}
+% \begin{macro}{\__kernel_color_backend_stack_push:nn, \__kernel_color_backend_stack_push:nx}
+% \begin{macro}{\__kernel_color_backend_stack_pop:n}
 %   Simple enough but needs a version check.
 %    \begin{macrocode}
 \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
   {
-    \cs_new_protected:Npn \@@_backend_stack_push:nn #1#2
+    \cs_new_protected:Npn \__kernel_color_backend_stack_push:nn #1#2
       {
         \__kernel_backend_literal:x
           {
@@ -256,8 +256,8 @@
             push ~ (#2)
           }
       }
-    \cs_generate_variant:Nn \@@_backend_stack_push:nn { nx }
-    \cs_new_protected:Npn \@@_backend_stack_pop:n #1
+    \cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
+    \cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
       {
         \__kernel_backend_literal:x
           {
@@ -300,10 +300,10 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\@@_backend_stack_push:nn, \@@_backend_stack_push:nx}
-% \begin{macro}{\@@_backend_stack_pop:n}
+% \begin{macro}{\__kernel_color_backend_stack_push:nn, \__kernel_color_backend_stack_push:nx}
+% \begin{macro}{\__kernel_color_backend_stack_pop:n}
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_stack_push:nn #1#2
+\cs_new_protected:Npn \__kernel_color_backend_stack_push:nn #1#2
   {
 %<*luatex>
     \tex_pdfextension:D colorstack ~
@@ -313,8 +313,8 @@
 %</pdftex>
       \int_eval:n {#1} ~ push ~ {#2}
   }
-\cs_generate_variant:Nn \@@_backend_stack_push:nn { nx }
-\cs_new_protected:Npn \@@_backend_stack_pop:n #1
+\cs_generate_variant:Nn \__kernel_color_backend_stack_push:nn { nx }
+\cs_new_protected:Npn \__kernel_color_backend_stack_pop:n #1
   {
 %<*luatex>
     \tex_pdfextension:D colorstack ~
@@ -410,11 +410,11 @@
   {
     \tl_set:Nn \l_@@_backend_fill_tl {#1}
     \tl_set:Nn \l_@@_backend_stroke_tl {#2}
-    \@@_backend_stack_push:nn \l_@@_backend_stack_int { #1 ~ #2 }
+    \__kernel_color_backend_stack_push:nn \l_@@_backend_stack_int { #1 ~ #2 }
     \group_insert_after:N \@@_backend_reset:
   }
 \cs_new_protected:Npn \@@_backend_reset:
-  { \@@_backend_stack_pop:n \l_@@_backend_stack_int }
+  { \__kernel_color_backend_stack_pop:n \l_@@_backend_stack_int }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -976,7 +976,7 @@
 \cs_new_protected:Npn \@@_backend_fill:n #1
   {
     \tl_set:Nn \l_@@_backend_fill_tl {#1}
-    \@@_backend_stack_push:nn \l_@@_backend_stack_int
+    \__kernel_color_backend_stack_push:nn \l_@@_backend_stack_int
       { #1 ~ \l_@@_backend_stroke_tl }
     \group_insert_after:N \@@_backend_reset:
   }
@@ -989,7 +989,7 @@
 \cs_new_protected:Npn \@@_backend_stroke:n #1
   {
     \tl_set:Nn \l_@@_backend_stroke_tl {#1}
-    \@@_backend_stack_push:nn \l_@@_backend_stack_int
+    \__kernel_color_backend_stack_push:nn \l_@@_backend_stack_int
       { \l_@@_backend_fill_tl \c_space_tl #1 }
     \group_insert_after:N \@@_backend_reset:
   }
diff --git a/l3backend/l3backend-opacity.dtx b/l3backend/l3backend-opacity.dtx
index 06d17b674..0b09f98dc 100644
--- a/l3backend/l3backend-opacity.dtx
+++ b/l3backend/l3backend-opacity.dtx
@@ -151,7 +151,7 @@
     \pdfmanagement_add:nnn { Page / Resources / ExtGState }
       { opacity #1 }
       { << /ca ~ #1 /CA ~ #1 >> }
-    \@@_backend_stack_push:nn \c_@@_backend_stack_int
+    \__kernel_color_backend_stack_push:nn \c_@@_backend_stack_int
       { /opacity #1 ~ gs }
     \group_insert_after:N \@@_backend_reset:
   }
@@ -160,7 +160,7 @@
     \cs_gset_protected:Npn \@@_backend_select_aux:n #1 { }
   }
 \cs_new_protected:Npn \@@_backend_reset:
- { \@@_backend_stack_pop:n \c_@@_backend_stack_int }
+ { \__kernel_color_backend_stack_pop:n \c_@@_backend_stack_int }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -195,7 +195,7 @@
         \pdfmanagement_add:nnn { Page / Resources / ExtGState }
           { opacity.stroke #1 }
           { << /CA ~ #2 >> }
-        \@@_backend_stack_push:nn \c_@@_backend_stack_int
+        \__kernel_color_backend_stack_push:nn \c_@@_backend_stack_int
          { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
         \group_insert_after:N \@@_backend_reset:
       }
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 86990c985..8a44ff1bf 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -31,9 +31,9 @@ Defining \__color_backend_pickup:N on line ...
 Defining \l__color_backend_stack_int on line ...
 \l__color_backend_stack_int=\count...
 Defining \__kernel_color_backend_stack_init:Nnn on line ...
-Defining \__color_backend_stack_push:nn on line ...
-Defining \__color_backend_stack_push:nx on line ...
-Defining \__color_backend_stack_pop:n on line ...
+Defining \__kernel_color_backend_stack_push:nn on line ...
+Defining \__kernel_color_backend_stack_push:nx on line ...
+Defining \__kernel_color_backend_stack_pop:n on line ...
 Defining \l__color_backend_fill_tl on line ...
 Defining \l__color_backend_stroke_tl on line ...
 Defining \__color_backend_select_cmyk:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index d8b5e9e96..88d7686b8 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -31,9 +31,9 @@ Defining \__color_backend_pickup:N on line ...
 Defining \l__color_backend_stack_int on line ...
 \l__color_backend_stack_int=\count...
 Defining \__kernel_color_backend_stack_init:Nnn on line ...
-Defining \__color_backend_stack_push:nn on line ...
-Defining \__color_backend_stack_push:nx on line ...
-Defining \__color_backend_stack_pop:n on line ...
+Defining \__kernel_color_backend_stack_push:nn on line ...
+Defining \__kernel_color_backend_stack_push:nx on line ...
+Defining \__kernel_color_backend_stack_pop:n on line ...
 Defining \l__color_backend_fill_tl on line ...
 Defining \l__color_backend_stroke_tl on line ...
 Defining \__color_backend_select_cmyk:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 86990c985..8a44ff1bf 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -31,9 +31,9 @@ Defining \__color_backend_pickup:N on line ...
 Defining \l__color_backend_stack_int on line ...
 \l__color_backend_stack_int=\count...
 Defining \__kernel_color_backend_stack_init:Nnn on line ...
-Defining \__color_backend_stack_push:nn on line ...
-Defining \__color_backend_stack_push:nx on line ...
-Defining \__color_backend_stack_pop:n on line ...
+Defining \__kernel_color_backend_stack_push:nn on line ...
+Defining \__kernel_color_backend_stack_push:nx on line ...
+Defining \__kernel_color_backend_stack_pop:n on line ...
 Defining \l__color_backend_fill_tl on line ...
 Defining \l__color_backend_stroke_tl on line ...
 Defining \__color_backend_select_cmyk:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index d8b5e9e96..88d7686b8 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -31,9 +31,9 @@ Defining \__color_backend_pickup:N on line ...
 Defining \l__color_backend_stack_int on line ...
 \l__color_backend_stack_int=\count...
 Defining \__kernel_color_backend_stack_init:Nnn on line ...
-Defining \__color_backend_stack_push:nn on line ...
-Defining \__color_backend_stack_push:nx on line ...
-Defining \__color_backend_stack_pop:n on line ...
+Defining \__kernel_color_backend_stack_push:nn on line ...
+Defining \__kernel_color_backend_stack_push:nx on line ...
+Defining \__kernel_color_backend_stack_pop:n on line ...
 Defining \l__color_backend_fill_tl on line ...
 Defining \l__color_backend_stroke_tl on line ...
 Defining \__color_backend_select_cmyk:n on line ...
diff --git a/l3trial/l3opacity/testfiles/m3opacity001.luatex.tlg b/l3trial/l3opacity/testfiles/m3opacity001.luatex.tlg
index dd36b9317..40e1147d5 100644
--- a/l3trial/l3opacity/testfiles/m3opacity001.luatex.tlg
+++ b/l3trial/l3opacity/testfiles/m3opacity001.luatex.tlg
@@ -33,42 +33,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...ke1}{<</CA >>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...nd_stack_push:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill1 gs/opacity...
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x598.19562, direction TLT
+\hbox(7.5+2.5)x454.11198, direction TLT
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779 (font)
 .\OT1/cmr/m/n/10 a
@@ -180,54 +175,13 @@ and I'll forget about whatever was undefined.
 .\glue(\spaceskip) 3.33333 plus 1.66498 minus 1.11221
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 1
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 e
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill1 gs/opacity.stroke gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }
@@ -250,42 +204,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...ke}{<</CA 1>>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...nd_stack_push:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill gs/opacity....
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x588.19559, direction TLT
+\hbox(7.5+2.5)x444.11195, direction TLT
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779 (font)
 .\OT1/cmr/m/n/10 a
@@ -395,54 +344,13 @@ and I'll forget about whatever was undefined.
 .\OT1/cmr/m/n/10 1
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 e
-.\OT1/cmr/m/n/10 1
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill gs/opacity.stroke1 gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }
@@ -475,42 +383,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...0.5}{<</CA >>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...nd_stack_push:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill0.5 gs/opaci...
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x629.30682, direction TLT
+\hbox(7.5+2.5)x477.44539, direction TLT
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779 (font)
 .\OT1/cmr/m/n/10 a
@@ -628,56 +531,13 @@ and I'll forget about whatever was undefined.
 .\glue(\spaceskip) 3.33333 plus 1.66498 minus 1.11221
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 0
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 5
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 e
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill0.5 gs/opacity.stroke gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }
@@ -700,42 +560,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...}{<</CA 0.5>>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...nd_stack_push:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill gs/opacity....
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+\__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x603.75119, direction TLT
+\hbox(7.5+2.5)x451.88976, direction TLT
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779 (font)
 .\OT1/cmr/m/n/10 a
@@ -847,56 +702,13 @@ and I'll forget about whatever was undefined.
 .\OT1/cmr/m/n/10 5
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\discretionary (penalty 50)
-..< \OT1/cmr/m/n/10 -
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334 (font)
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779 (font)
-.\OT1/cmr/m/n/10 e
-.\OT1/cmr/m/n/10 0
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 5
-.\glue(\spaceskip) 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill gs/opacity.stroke0.5 gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }
diff --git a/l3trial/l3opacity/testfiles/m3opacity001.tlg b/l3trial/l3opacity/testfiles/m3opacity001.tlg
index 0c53abdd0..362a0cf84 100644
--- a/l3trial/l3opacity/testfiles/m3opacity001.tlg
+++ b/l3trial/l3opacity/testfiles/m3opacity001.tlg
@@ -33,42 +33,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...>>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...sh:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill1 gs/opacity...
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x598.19562
+\hbox(7.5+2.5)x454.11198
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779
 .\OT1/cmr/m/n/10 a
@@ -168,50 +163,13 @@ and I'll forget about whatever was undefined.
 .\glue 3.33333 plus 1.66498 minus 1.11221
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 1
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779
-.\OT1/cmr/m/n/10 e
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill1 gs/opacity.stroke gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }
@@ -234,42 +192,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...>>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...sh:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill gs/opacity....
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x588.19559
+\hbox(7.5+2.5)x444.11195
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779
 .\OT1/cmr/m/n/10 a
@@ -367,50 +320,13 @@ and I'll forget about whatever was undefined.
 .\OT1/cmr/m/n/10 1
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779
-.\OT1/cmr/m/n/10 e
-.\OT1/cmr/m/n/10 1
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill gs/opacity.stroke1 gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }
@@ -443,42 +359,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...>>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...sh:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill0.5 gs/opaci...
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x629.30682
+\hbox(7.5+2.5)x477.44539
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779
 .\OT1/cmr/m/n/10 a
@@ -584,52 +495,13 @@ and I'll forget about whatever was undefined.
 .\glue 3.33333 plus 1.66498 minus 1.11221
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 0
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 5
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779
-.\OT1/cmr/m/n/10 e
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill0.5 gs/opacity.stroke gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }
@@ -652,42 +524,37 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 ! Undefined control sequence.
-<argument> ...>>}\__opacity_backend_stack_push:nn 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-<argument> ...sh:nn \c__opacity_backend_stack_int 
-                                                  {/opacity.fill gs/opacity....
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 ! Undefined control sequence.
-\__opacity_backend_reset: ..._backend_stack_pop:n 
-                                                  \c__opacity_backend_stack_...
+<argument> \c__opacity_backend_stack_int 
 l. ...  }
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
-! Undefined control sequence.
-\__opacity_backend_reset: ...ty_backend_stack_int 
+! Missing number, treated as zero.
+<to be read again> 
+                   \__int_eval_end: 
 l. ...  }
-The control sequence at the end of the top line
-of your error message was never \def'ed. If you have
-misspelled it (e.g., `\hobx'), type `I' and the correct
-spelling (e.g., `I\hbox'). Otherwise just continue,
-and I'll forget about whatever was undefined.
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
 > \box...=
-\hbox(7.5+2.5)x603.75119
+\hbox(7.5+2.5)x451.88976
 .\OT1/cmr/m/n/10 P
 .\kern-0.27779
 .\OT1/cmr/m/n/10 a
@@ -787,52 +654,13 @@ and I'll forget about whatever was undefined.
 .\OT1/cmr/m/n/10 5
 .\OT1/cmr/m/n/10 >
 .\OT1/cmr/m/n/10 >
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 ^^L (ligature fi)
-.\OT1/cmr/m/n/10 l
-.\OT1/cmr/m/n/10 l
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 /
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 p
-.\OT1/cmr/m/n/10 a
-.\OT1/cmr/m/n/10 c
-.\OT1/cmr/m/n/10 i
-.\OT1/cmr/m/n/10 t
-.\kern-0.27779
-.\OT1/cmr/m/n/10 y
-.\kern-0.83334
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 s
-.\OT1/cmr/m/n/10 t
-.\OT1/cmr/m/n/10 r
-.\OT1/cmr/m/n/10 o
-.\OT1/cmr/m/n/10 k
-.\kern-0.27779
-.\OT1/cmr/m/n/10 e
-.\OT1/cmr/m/n/10 0
-.\OT1/cmr/m/n/10 .
-.\OT1/cmr/m/n/10 5
-.\glue 3.33333 plus 1.66666 minus 1.11111
-.\OT1/cmr/m/n/10 g
-.\OT1/cmr/m/n/10 s
+.\pdfcolorstack 0 push {/opacity.fill gs/opacity.stroke0.5 gs}
 .\OT1/cmr/m/n/10 H
 .\OT1/cmr/m/n/10 e
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 l
 .\OT1/cmr/m/n/10 o
+.\pdfcolorstack 0 pop
 ! OK.
 <argument> \l_tmpa_box 
 l. ...  }





More information about the latex3-commits mailing list.