LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

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

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

Print Reply
Subject:
From:
David Carlisle <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Thu, 8 May 2014 13:51:34 +0100
Content-Type:
multipart/mixed
Parts/Attachments:
text/plain (1283 bytes) , keyval.sty (2235 bytes)
On 08/05/2014 09:14, Ulrike Fischer wrote:

 > ...

It turns out that the bug was always in keyval, the number of brace 
groups that are stripped
can be affected by whether you put space around =.

It was documented as always stripping 2 but sometimes it stripped 1.

The change to strip one less brace would have been good, and not broken 
biblatex
had it always stripped 1 group except now it sometimes strips 0 which is why

  biblatex's indent = {german}
produces unknown language {german} error.

The original bug is fixable but a more invasive change and I propose not 
to do it and instead roll
back the brace stripping change (leaving the \long change). That means 
deleting an \@empty and an \expandafter
from the new keyval producing the attached

If anyone has some real biblatex  files and could confirm to me that 
this doesn't break them I'd be grateful.

David





________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________


%% %% This is file `keyval.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% keyval.dtx (with options: `package') %% %% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 2014 David Carlisle %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public %% License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.3c or, at your option, any later version. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{keyval}                  [2014/05/08 v1.15 key=value parser (DPC)] \long\def\setkeys#1#2{%   \def\KV@prefix{KV@#1@}%   \let\@tempc\relax   \KV@do#2,\relax,} \long\def\KV@do#1,{%  \ifx\relax#1\@empty\else   \KV@split#1==\relax   \expandafter\KV@do\fi} \long\def\KV@split#1=#2=#3\relax{%   \KV@@sp@def\@tempa{#1}%   \ifx\@tempa\@empty\else     \expandafter\let\expandafter\@tempc       \csname\KV@prefix\@tempa\endcsname     \ifx\@tempc\relax       \KV@errx        {\@tempa\space undefined}%     \else       \ifx\@empty#3\@empty         \KV@default       \else         \KV@@sp@def\@tempb{#2}%         \expandafter\@tempc\expandafter{\@tempb}\relax       \fi     \fi   \fi} \def\KV@default{%   \expandafter\let\expandafter\@tempb     \csname\KV@prefix\@tempa @default\endcsname   \ifx\@tempb\relax     \KV@err{No value specified for \@tempa}%   \else     \@tempb\relax   \fi} \DeclareOption{unknownkeysallowed}{%   \def\KV@errx#1{\PackageInfo{keyval}{#1}}} \DeclareOption{unknownkeyserror}{%   \def\KV@errx#1{\PackageError{keyval}{#1}\@ehc}} \ExecuteOptions{unknownkeyserror} \let\KV@err\KV@errx \ProcessOptions \def\@tempa#1{% \long\def\KV@@sp@def##1##2{%   \futurelet\KV@tempa\KV@@sp@d##2\@nil\@nil#1\@nil\relax##1}% \def\KV@@sp@d{%   \ifx\KV@tempa\@sptoken     \expandafter\KV@@sp@b   \else     \expandafter\KV@@sp@b\expandafter#1%   \fi}% \long\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}%   } \@tempa{ } \long\def\KV@@sp@c#1\@nil#2\relax#3{\KV@toks@{#1}\edef#3{\the\KV@toks@}} \newtoks\KV@toks@ \def\define@key#1#2{%   \@ifnextchar[{\KV@def{#1}{#2}}{\long\@namedef{KV@#1@#2}####1}} \def\KV@def#1#2[#3]{%   \long\@namedef{KV@#1@#2@default\expandafter}\expandafter     {\csname KV@#1@#2\endcsname{#3}}%   \long\@namedef{KV@#1@#2}##1} \endinput %% %% End of file `keyval.sty'.

ATOM RSS1 RSS2