From: Hironori Kitagawa Date: Wed, 8 Feb 2023 20:31:24 +0000 (+0900) Subject: add test61-unhcopy.tex X-Git-Tag: 20230211.0~3 X-Git-Url: http://git.osdn.net/view?p=luatex-ja%2Fluatexja.git;a=commitdiff_plain;h=c23f287aa8ba64b0aede2be3c1e8726fb0f1d377 add test61-unhcopy.tex --- diff --git a/test/test61-unhcopy.tex b/test/test61-unhcopy.tex new file mode 100644 index 0000000..e002c70 --- /dev/null +++ b/test/test61-unhcopy.tex @@ -0,0 +1,88 @@ +\documentclass{minimal} +\usepackage{luatexja} + +\begin{document} +\output={\setbox60000=\box255\deadcycles=0\relax} +\newcount\mycnt +\typeout{00> \the\ht\strutbox} + +\everypar{\strut} + +%%% \expandafter...\relax + +\directlua{ + socket=require'socket' + my_a=socket.gettime() +} + +\mycnt=0 +\loop\ifnum\mycnt<100000\relax + \leavevmode TEST\par + \advance\mycnt by1\relax +\repeat + +\directlua{ + my_b=socket.gettime() +} +\typeout{01> \the\ht\strutbox, \directlua{tex.sprint(my_b-my_a)}} + +%%% \expandafter...(space) +\makeatletter +\protected\def\ltj@@unhbox{\ltj@reset@globaldefs\afterassignment\ltj@@unhbox@\ltj@tempcnta} +\protected\def\ltj@@unhcopy{\ltj@reset@globaldefs\afterassignment\ltj@@unhcopy@\ltj@tempcnta} +\def\ltj@@unhbox@#1{% + \protected\def\ltj@@unhbox@{\ltj@@lua@unboxcheckdir\expandafter\ltj@@orig@unhbox\the\ltj@tempcnta#1}% +} +\def\ltj@@unhcopy@#1{% + \protected\def\ltj@@unhcopy@{% + \ltj@@lua@uncopycheckdir\expandafter\ltj@@orig@unhcopy\the\ltj@tempcnta#1 + \ltj@@lua@uncopy@restore@whatsit}% +} +\ltj@@unhbox@{ }\ltj@@unhcopy@{ } +\let\unhbox\ltj@@unhbox %% PRIMITIVE +\let\unhcopy\ltj@@unhcopy %% PRIMITIVE + +\directlua{ + my_a=socket.gettime() +} + +\mycnt=0 +\loop\ifnum\mycnt<100000\relax + \leavevmode TEST\par + \advance\mycnt by1\relax +\repeat + +\directlua{ + my_b=socket.gettime() +} +\typeout{02> \the\ht\strutbox, \directlua{tex.sprint(my_b-my_a)}} + +%%% \begingroup...\endgroup +\makeatletter +\protected\def\ltj@@unhbox{\begingroup\ltj@reset@globaldefs\afterassignment\ltj@@unhbox@\ltj@tempcnta} +\protected\def\ltj@@unhbox@{\ltj@@lua@unboxcheckdir\ltj@@orig@unhbox\ltj@tempcnta\endgroup} +\protected\def\ltj@@unhcopy{\begingroup\ltj@reset@globaldefs\afterassignment\ltj@@unhcopy@\ltj@tempcnta} +\protected\def\ltj@@unhcopy@{% + \ltj@@lua@uncopycheckdir\ltj@@orig@unhcopy\ltj@tempcnta + \ltj@@lua@uncopy@restore@whatsit\endgroup}% +\let\unhbox\ltj@@unhbox %% PRIMITIVE +\let\unhcopy\ltj@@unhcopy %% PRIMITIVE + +\directlua{ + my_a=socket.gettime() +} + +\mycnt=0 +\loop\ifnum\mycnt<100000\relax + \leavevmode TEST\par + \advance\mycnt by1\relax +\repeat + +\directlua{ + my_b=socket.gettime() +} +\typeout{03> \the\ht\strutbox, \directlua{tex.sprint(my_b-my_a)}} + + +\end{document} +