On Tue, Jun 15, 2010 at 10:38:46PM +0930, Will Robertson wrote:

> From: Christophe Jorssen <[log in to unmask]>
> Subject: ansinew.def makes @ other
> 
> Hello all,
> 
> I'm surprised that ansinew.def (from the inputenc package), and probably 
> other <inputenc>.def,  begins with a \makeatletter and ends with a 
> \makeatother, loosing the catcode that @ had when entering the file.
> 
> Is there a reason for that? Wouldn't it better to save the catcode of @ 
> and then restore it?
> 
> What do you think?

It's a bug, the catcode of `@' should be saved and restored.
It doesn't matter, if the the `.def' file is loaded via
option of \usepackage, because LaTeX restores the catcode
of `@' after the package, but the `.def' file can also
be loaded via \inputencoding. Afterwards the catcode of
`@' is always 12 regardless the previous settings.

BTW, the x-*.def files from package `inputenx' save and
restore the catcode of [log in to unmask]

Yours sincerely
  Heiko <[log in to unmask]>