Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id o8IAV8lc032203 for ; Sat, 18 Sep 2010 12:31:09 +0200 Received: (qmail 28147 invoked by alias); 18 Sep 2010 10:31:03 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 18 Sep 2010 10:31:02 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx097) with SMTP; 18 Sep 2010 12:31:02 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id o8IASjko017481 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 18 Sep 2010 12:28:46 +0200 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id o8HN2daN020290; Sat, 18 Sep 2010 12:29:10 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 439314 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sat, 18 Sep 2010 12:29:10 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id o8IATAVU010729 for ; Sat, 18 Sep 2010 12:29:10 +0200 Received: from mail-bw0-f49.google.com (mail-bw0-f49.google.com [209.85.214.49]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id o8IASU41017228 for ; Sat, 18 Sep 2010 12:28:34 +0200 Received: by bwz19 with SMTP id 19so3899152bwz.22 for ; Sat, 18 Sep 2010 03:29:00 -0700 (PDT) Received: by 10.204.76.140 with SMTP id c12mr4927490bkk.7.1284805740284; Sat, 18 Sep 2010 03:29:00 -0700 (PDT) Received: from irwin.vpn.uni-freiburg.de (p548460FE.dip.t-dialin.net [84.132.96.254]) by mx.google.com with ESMTPS id f10sm4571330bkl.5.2010.09.18.03.28.59 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 18 Sep 2010 03:28:59 -0700 (PDT) Received: by irwin.vpn.uni-freiburg.de (Postfix, from userid 500) id 7BF327738; Sat, 18 Sep 2010 12:07:00 +0200 (CEST) Mail-Followup-To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE References: <4C93A430.1020103@morningstar2.co.uk> <20100917180303.GA7348@oberdiek.my-fqdn.de> <19603.49961.484432.456512@morse.mittelbach-online.de> <4C93DCDA.3010707@morningstar2.co.uk> <19604.28880.24959.737588@morse.mittelbach-online.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Message-ID: <20100918100659.GA25082@oberdiek.my-fqdn.de> Date: Sat, 18 Sep 2010 12:07:00 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Heiko Oberdiek Subject: Re: Option parsing bug or 'feature'? To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <19604.28880.24959.737588@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p77e5KAPs1l6v/Sb97LojnDtMgfETrECMLUO9erHzOJe+OynZRhvlGqb5A0X bbiCt2rAnnct/NAlbHMvoAL6GY+23tB3khNK7avqRsgMMVBwlWgrgcyEiCy6eQ7DbfhonniFyqTI PpJNA==V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 6408 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