[latex3-commits] [git/LaTeX3-latex3-iftex] master: enable \protected in luatex, fixes #4 (2d8262e)

David Carlisle d.p.carlisle at gmail.com
Sun Oct 27 11:15:04 CET 2019


Repository : https://github.com/latex3/iftex
On branch  : master
Link       : https://github.com/latex3/iftex/commit/2d8262e6dce0598a30e9d6f70221439cb7c08217

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

commit 2d8262e6dce0598a30e9d6f70221439cb7c08217
Author: David Carlisle <d.p.carlisle at gmail.com>
Date:   Sun Oct 27 10:15:04 2019 +0000

    enable \protected in luatex, fixes #4


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

2d8262e6dce0598a30e9d6f70221439cb7c08217
 iftex.sty | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/iftex.sty b/iftex.sty
index 75d0920..cdbc632 100644
--- a/iftex.sty
+++ b/iftex.sty
@@ -54,6 +54,14 @@
 }
 
 
+% make sure \detokenize and \protected are available in lualatex,
+% but avoid defining them after the package if not already defined.
+\ifx\directlua\@undefined\else
+  \let\IFTEX at detokenize\detokenize
+  \let\IFTEX at protected\protected
+  \directlua{tex.enableprimitives("", {"detokenize","protected"})}
+\fi
+
 % eTeX \protected if available.
 \ifx\protected\@undefined
   \let\IFTEX at protected\relax
@@ -126,19 +134,12 @@
 \IFTEX at let{luahbtex}{false}
 \ifx\directlua\@undefined
 \else
-
-% make sure \detokenize is available,
-% but avoid defining it if not already defined.
-  \let\IFTEX at temp\detokenize
-  \directlua{tex.enableprimitives("", {"detokenize"})}
-
   \directlua{\detokenize{
    if(pcall(require, 'luaharfbuzz')) then
      tex.print("\\let\\ifluahbtex\\iftrue ")
    end
   }}
 
-  \let\detokenize\IFTEX at temp
 \fi
 \IFTEX at let{LuaHBTeX}{luahbtex}
 
@@ -215,11 +216,16 @@
   \fi
 \fi
 \else
-\directlua{%
+\directlua{\detokenize{
 if (tex.outputmode or tex.pdfoutput or 0) > 0 then
-  tex.print('\string\\pdftrue')
+  tex.print('\\pdftrue')
 end
-}
+}}
 \fi
 
+% restore things
+\ifx\directlua\@undefined\else
+  \let\detokenize\IFTEX at detokenize
+  \let\protected\IFTEX at protected
+\fi
 \catcode64 \IFTEX at atcatcode





More information about the latex3-commits mailing list