LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Classic View

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

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

Print Reply
Joseph Wright <[log in to unmask]>
Wed, 15 Sep 2010 06:21:28 +0100
text/plain (38 lines)
Hello all,

Consider the following example

   \documentclass{article}
   \usepackage{expl3}
   \ExplSyntaxOn
   \prg_replicate:nn{300}{
     \cs_undefine:N \temp
     \int_new:N \temp
   }
   \ExplSyntaxOff
   \newinsert\myinsert
   \begin{document}
   \end{document}

This will give an error even though expl3 loads etex for allocation to 
the extended pool. Inserts to have a set of registers available with the 
same numbers, and these need to be in the standard pool.

The issue isn't unique to expl3, and doesn't show up unless you add 
quite a lot more register use on top of it. However, it is there. For 
expl3 I wonder about using the extended pool from the word go

   \let\int_new:N\globcount
   \let\dim_new:N\globdimen
   ...

which will make it much less likely to happen. However, even then the 
issue would remain for non-expl3 packages which expect etex to deal with 
the register limitations of LaTeX2e.

How do people see this in general. One obvious approach would be to 
alter \newcount, etc., so that when etex is loaded everything uses the 
extended pool except for inserts. However, that might be overkill!
-- 
Joseph Wright

ATOM RSS1 RSS2