Print

Print


Joseph Wright writes:
 > The reason I'm interested in \everyeof as well is for using \scantokens
 > in a context such as:
 > 
 > \def\tempa#1{%
 >   \begingroup
 >     % Some catcode changes
 >     \everyeof{\noexpand}%
 >     \endlinechar-1\relax
 >     \edef\tempb{\scantokens{#1}}%
 >   \expandafter\endgroup
 >   \expandafter\def\expandafter\tempc\expandafter{\tempb}%
 > }
 > 
 > which fails without the \everyeof setting. That I know of there is no
 > way to "bundle up" the various components, so without access to
 > \everyeof, \scantokens is not much use (at least to me).

sure. well for now I would suggest to use \tex_every_eof:D knowing quite well
you do something you shouldn't (not that you could help it at this point in
time:-) and with the knowledge that once we come up with an interface in
l3file or else you may have to redo that bit of code.

My point is that I don't want to saction the use of the primitive by giving it
a name

but what this also tells me is that we have to perhaps even retract on
providing \scantokens as a primitive, but instead provide a scantokens
interface which sets up its environment carefully (by, for example, copying
a specific toks (e.g., \l_every_rescan_end_toks to \tex_every_eof:D prior to
calling \etex_scantokens:D) rather than providing the primitive for direct
use.

frank