<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>