LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Phelype Oleinik <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Mon, 18 Oct 2021 09:56:51 -0300
text/plain (48 lines)
Hi Thierry,

On Mon, Oct 18, 2021 at 5:23 AM LARONDE Thierry <[log in to unmask]> wrote:
> ---8<---
> LaTeX2e <2021-06-01> patch level 1
> inputing expl3.ltx (l3kernel/expl3.ltx (l3kernel/expl3-code.tex
> ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !
> Argh, internal LaTeX3 error!
> Module kernel, message name "command-already-defined":
> Arguments '\@@_use_none_delimit_by_q_recursion_stop:w' and '\long
> macro:#1\q_@@
> _recursion_stop ->'
> This is one for The LaTeX3 Project: bailing out.
> \msg_error:nnxx ...he LaTeX3 Project: bailing out}
>                                                   \tex_end:D
> l.2946 ...@_use_none_delimit_by_q_recursion_stop:w
> --->8---

That is odd.  It seems that expl3-code.tex is not properly docstripped
from the sources, because control sequences |\@@_...| should not exist
in executable code (like expl3-code.tex), only in the sources.  Some
control sequences across expl3 modules have the same name, except for
the module name, denoted by the |@@| prefix, which is replaced by the
actual module name by (l3)docstrip.  Without the replacement you end up
with multiple control sequences with the same name, and you get the
error you are seeing.

Some time ago the |@@| replacement from l3docstrip was merged into the
main docstrip code, so make sure you are using the right version.

> So is there anywhere (and please: not the >1500 pages "manual"!) short
> explanations about how to add a new engine? What has to be set and
> where?

No.  New engines aren't created every day, so little effort was put into
that (zero, in terms of documentation).  But from what I've read about
Prote, it should take more or less the same code paths as XeTeX, except
where the engine is specifically tested for (in which case, what you
showed should suffice for the most part of it).

Hope it helps.