On Sat, Sep 18, 2010 at 09:57:04AM +0200, Frank Mittelbach wrote:

> Joseph Wright writes:
>  > On 17/09/2010 20:36, Frank Mittelbach wrote:
>  > > since you already looked at the different implementations, any suggestion on
>  > > how to best improve the LaTeX2e behaviour?
>  > 
>  > I take it that this does possibly count as a bug then, rather than as a 
>  > 'feature'?
> 
> it doesn't count as a bug I would say, for the simple reason that per
> specification the optional argument of \usepackage doesn't support a key value
> list but just a list of option names (that themselves have no spaces)
> separated by comma. Only  later packages appeared that internally added
> something like keyval and manipulated the received option list from
> \usepackage as a key/val list, but that happens after \usepackage has already
> removed spaces and unfortunately in this case also the braces.
> 
> pragmatic approach:
> 
>  you state that one needs to say ={,}  to make things work as this is a fairly
>  seldom issue
> 
> more elaborate approach
> 
>  change \@pass@ptions so that it only removes spaces up front, around a comma
>  and at the end

This isn't enough, there are many other places to fix. For example,
LaTeX removes used options from the global unused option list.
Because of the braces \@removeelement will break, because the option
is used inside the parameter text, where catcode 1 and 2 tokens are
forbidden.

Yours sincerely
  Heiko <[log in to unmask]>