On Wed, Sep 15, 2010 at 06:21:28AM +0100, Joseph Wright wrote:

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

At least etex.sty provides \reserveinserts.

Yours sincerely
  Heiko <[log in to unmask]>