<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 27, 2020 at 2:53 PM Phelype Oleinik <<a href="mailto:phe.h.o1@gmail.com">phe.h.o1@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello all,<br>
<br>
When using \input{...} inside an \edef the first token<br>
in the file disappears:<br>
<br>
\directlua{\unexpanded{%<br>
out = io.open('testfile.tex','w')<br>
out:write('hello\\noexpand')<br>
io.close(out)}}<br>
\edef\tmpa{\input{testfile.tex}}\show\tmpa<br>
% > \tmpa=macro:<br>
% ello<br>
\bye<br>
<br>
For some reason, it gets worse if the file starts<br>
with \noexpand\something:<br>
<br>
\directlua{\unexpanded{%<br>
out = io.open('testfile.tex','w')<br>
out:write('\\noexpand\\hello\\noexpand')<br>
io.close(out)}}<br>
\edef\tmpa{\input{testfile.tex}}\show\tmpa<br>
% > \tmpa=macro:<br>
% <gibberish><br>
\bye<br>
<br>
If I use \edef\tmpa{\input testfile.tex } instead, both<br>
examples work as expected.<br>
<br></blockquote><div><br></div><div>I have a fix , but I need to check it better.</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Also, a smaller issue: \input{...} doesn't seem to be<br>
setting cur_cs when using scan_toks, then the<br>
runaway error message reports it wrong:<br>
<br>
\outer\def\boom{}<br>
\input{\boom<br>
\bye<br>
<br>
this reports:<br>
<br>
Runaway text?<br>
! Forbidden control sequence found while scanning text of \csname\endcsname.<br>
<inserted text><br>
}<br>
<to be read again><br>
\boom<br>
l.3 \input{\boom<br>
<br>
?</blockquote></div><div dir="ltr" class="gmail_signature"><br></div><div class="gmail_signature">probably related.</div><div dir="ltr" class="gmail_signature"><br></div><div dir="ltr" class="gmail_signature"><br></div><div dir="ltr" class="gmail_signature">--</div><div class="gmail_signature">luigi</div></div>