From aa1776c78dfdb456e2228fbceaa886e64e36174c Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Wed, 2 May 2012 21:50:45 +0000
Subject: oberdiek (1may12)

git-svn-id: svn://tug.org/texlive/trunk@26177 c570f23f-e606-0410-a88d-b1316a301751
---
 .../tex/generic/oberdiek/hobsub-generic.sty        | 370 ++++++++++++++++++---
 1 file changed, 326 insertions(+), 44 deletions(-)

(limited to 'Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty')

diff --git a/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty b/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
index 96665d7caac..f30d2b0243d 100644
--- a/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
+++ b/Master/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
@@ -39,9 +39,9 @@
 %% This is a generated file.
 %% 
 %% Project: hobsub
-%% Version: 2011/04/23 v1.4
+%% Version: 2012/04/25 v1.12
 %% 
-%% Copyright (C) 2011 by
+%% Copyright (C) 2011, 2012 by
 %%    Heiko Oberdiek <heiko.oberdiek at googlemail.com>
 %% 
 %% This work may be distributed and/or modified under the
@@ -132,7 +132,7 @@
 \fi
 \expandafter\x\csname ver@hobsub-generic.sty\endcsname
 \ProvidesPackage{hobsub-generic}%
- [2011/04/23 v1.4 Bundle oberdiek, subset generic (HO)]%
+ [2012/04/25 v1.12 Bundle oberdiek, subset generic (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -256,11 +256,11 @@
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname ProvidesPackage\endcsname\relax
 \immediate\write-1{%
- Package: hobsub 2011/04/23 v1.4 Subsetting bundle oberdiek (HO)%
+ Package: hobsub 2012/04/25 v1.12 Construct package bundles (HO)%
 }%
 \else
 \ProvidesPackage{hobsub}%
- [2011/04/23 v1.4 Subsetting bundle oberdiek (HO)]%
+ [2012/04/25 v1.12 Construct package bundles (HO)]%
 \fi
 \endinput
 <hobsub>
@@ -332,7 +332,7 @@
 \fi
 \expandafter\x\csname ver@infwarerr.sty\endcsname
 \ProvidesPackage{infwarerr}%
- [2010/04/08 v1.3 Providing info/warning/message (HO)]%
+ [2010/04/08 v1.3 Providing info/warning/error messages (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -616,7 +616,7 @@
 \fi
 \expandafter\x\csname ver@ltxcmds.sty\endcsname
 \ProvidesPackage{ltxcmds}%
- [2011/04/18 v1.20 LaTeX kernel commands for general use (HO)]%
+ [2011/11/09 v1.22 LaTeX kernel commands for general use (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -728,16 +728,30 @@
 \long\def\ltx@secondoffour#1#2#3#4{#2}
 \long\def\ltx@thirdoffour#1#2#3#4{#3}%
 \long\def\ltx@fourthoffour#1#2#3#4{#4}%
-\long\def\ltx@car#1#2\@nil{#1}
-\long\def\ltx@cdr#1#2\@nil{#2}
 \long\def\ltx@carzero#1\@nil{}%
-\long\def\ltx@cdrzero#1\@nil{#1}%
+\long\def\LTXcmds@cdrzero#1\@nil{#1}
+\def\ltx@cdrzero{%
+\romannumeral\LTXcmds@cdrzero\ltx@zero
+}
+\long\def\ltx@car#1#2\@nil{#1}
+\long\def\ltx@cdr#1{%
+\romannumeral\LTXcmds@cdrzero\ltx@zero
+}
 \long\def\ltx@cartwo#1#2#3\@nil{#1#2}
-\long\def\ltx@cdrtwo#1#2#3\@nil{#3}
+\long\def\ltx@carsecond#1#2#3\@nil{#2}
+\long\def\ltx@cdrtwo#1#2{%
+\romannumeral\LTXcmds@cdrzero\ltx@zero
+}
 \long\def\ltx@carthree#1#2#3#4\@nil{#1#2#3}
-\long\def\ltx@cdrthree#1#2#3#4\@nil{#4}
+\long\def\ltx@carthird#1#2#3#4\@nil{#3}
+\long\def\ltx@cdrthree#1#2#3{%
+\romannumeral\LTXcmds@cdrzero\ltx@zero
+}
 \long\def\ltx@carfour#1#2#3#4#5\@nil{#1#2#3#4}
-\long\def\ltx@cdrfour#1#2#3#4#5\@nil{#5}
+\long\def\ltx@carfourth#1#2#3#4#5\@nil{#4}
+\long\def\ltx@cdrfour#1#2#3#4{%
+\romannumeral\LTXcmds@cdrzero\ltx@zero
+}
 \def\ltx@CarNum#1{%
 \romannumeral
 \csname LTXcmds@CarNumFinish%
@@ -757,12 +771,22 @@
 \ltx@zero
 #1%
 }
+\def\ltx@CarNumth#1{%
+\romannumeral
+\expandafter\expandafter\expandafter
+\LTXcmds@CarNumth
+\ltx@GobbleNum{#1}{}%
+}
+\long\def\LTXcmds@CarNumth#1#2\@nil{%
+\ltx@zero
+#1%
+}
 \def\ltx@CdrNum#1{%
-\romannumeral0%
-\expandafter\expandafter\expandafter\LTXcmds@CdrNum
+\romannumeral%
+\expandafter\expandafter\expandafter\ltx@cdrzero
+\expandafter\expandafter\expandafter\ltx@zero
 \ltx@GobbleNum{#1}%
 }
-\long\def\LTXcmds@CdrNum#1\@nil{ #1}%
 \long\def\ltx@ReturnAfterFi#1\fi{\fi#1}
 \long\def\ltx@ReturnAfterElseFi#1\else#2\fi{\fi#1}
 \def\ltx@empty{}
@@ -988,6 +1012,36 @@
 \endgroup
 \let#1\LTXcmds@gtemp
 }
+\long\def\ltx@GlobalPrependToMacro#1#2{%
+\ifx\ltx@undefined#1%
+\let#1\ltx@empty
+\else
+\ifx\relax#1%
+\let#1\ltx@empty
+\fi
+\fi
+\begingroup
+\ltx@LocToksA{#2}%
+\ltx@LocToksB\expandafter{#1}%
+\xdef#1{\the\ltx@LocToksA\the\ltx@LocToksB}%
+\endgroup
+}
+\long\def\ltx@LocalPrependToMacro#1#2{%
+\global\let\LTXcmds@gtemp#1%
+\ifx\ltx@undefined\LTXcmds@gtemp
+\global\let\LTXcmds@gtemp\ltx@empty
+\else
+\ifx\relax\LTXcmds@gtemp
+\global\letLTXcmds@gtemp\ltx@empty
+\fi
+\fi
+\begingroup
+\ltx@LocToksA{#2}%
+\ltx@LocToksB\expandafter{\LTXcmds@gtemp}%
+\xdef\LTXcmds@gtemp{\the\ltx@LocToksA\the\ltx@LocToksB}%
+\endgroup
+\let#1\LTXcmds@gtemp
+}
 \long\def\ltx@ifnextchar#1#2#3{%
 \begingroup
 \let\LTXcmds@CharToken= #1\relax
@@ -1497,7 +1551,7 @@ $   \next
 \fi
 \expandafter\x\csname ver@ifvtex.sty\endcsname
 \ProvidesPackage{ifvtex}%
- [2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO)]%
+ [2010/03/01 v1.5 Detect VTeX and its facilities (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -1722,7 +1776,7 @@ $   \next
 \fi
 \expandafter\x\csname ver@intcalc.sty\endcsname
 \ProvidesPackage{intcalc}%
- [2007/09/27 v1.1 Expandable integer calculations (HO)]%
+ [2007/09/27 v1.1 Expandable calculations with integers (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -3646,7 +3700,7 @@ $   \next
 \fi
 \expandafter\x\csname ver@etexcmds.sty\endcsname
 \ProvidesPackage{etexcmds}%
- [2011/02/16 v1.5 Prefix for e-TeX command names (HO)]%
+ [2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -3895,7 +3949,7 @@ $   \next
 \fi
 \expandafter\x\csname ver@kvsetkeys.sty\endcsname
 \ProvidesPackage{kvsetkeys}%
- [2011/04/07 v1.13 Key value parser (HO)]%
+ [2012/04/25 v1.16 Key value parser (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -3931,7 +3985,9 @@ $   \next
 \TMP@EnsureCode{36}{3}% $
 \TMP@EnsureCode{38}{4}% &
 \TMP@EnsureCode{39}{12}% '
+\TMP@EnsureCode{43}{12}% +
 \TMP@EnsureCode{44}{12}% ,
+\TMP@EnsureCode{45}{12}% -
 \TMP@EnsureCode{46}{12}% .
 \TMP@EnsureCode{47}{12}% /
 \TMP@EnsureCode{91}{12}% [
@@ -3992,11 +4048,11 @@ $ \expandafter\endgroup
 \begingroup
 \toks@{,#1,}%
 \KVS@Comma
-\KVS@SpaceComma{ }%
+\KVS@SpaceComma
 \KVS@CommaSpace
 \KVS@CommaComma
 \KVS@Equals
-\KVS@SpaceEquals{ }%
+\KVS@SpaceEquals
 \KVS@EqualsSpace
 \xdef\KVS@Global{\the\toks@}%
 \endgroup
@@ -4006,7 +4062,7 @@ $ \expandafter\endgroup
 \begingroup
 \toks@{,#1,}%
 \KVS@Comma
-\KVS@SpaceComma{ }%
+\KVS@SpaceComma
 \KVS@CommaSpace
 \KVS@CommaComma
 \xdef\KVS@Global{\the\toks@}%
@@ -4029,15 +4085,17 @@ $ \expandafter\endgroup
 }%
 }%
 }
-\long\def\KVS@SpaceComma#1{%
+\def\KVS@SpaceComma#1{%
+\def\KVS@SpaceComma{%
 \expandafter\KVS@@SpaceComma\the\toks@#1,\KVS@Nil
+}%
 }
+\KVS@SpaceComma{ }
 \long\def\KVS@@SpaceComma#1 ,#2\KVS@Nil{%
 \KVS@IfEmpty{#2}{%
 \toks@{#1}%
 }{%
-\toks@{#1,#2}%
-\expandafter\KVS@@SpaceComma\the\toks@\KVS@Nil
+\KVS@@SpaceComma#1,#2\KVS@Nil
 }%
 }
 \def\KVS@CommaSpace{%
@@ -4047,18 +4105,17 @@ $ \expandafter\endgroup
 \KVS@IfEmpty{#2}{%
 \toks@{#1}%
 }{%
-\toks@{#1,#2}%
-\expandafter\KVS@@CommaSpace\the\toks@\KVS@Nil
+\KVS@@CommaSpace#1,#2\KVS@Nil
 }%
 }
 \def\KVS@CommaComma{%
 \expandafter\KVS@@CommaComma\the\toks@,\KVS@Nil
 }
 \long\def\KVS@@CommaComma#1,,#2\KVS@Nil{%
-\toks@{#1,#2}%
 \KVS@IfEmpty{#2}{%
+\toks@{#1,}% (!)
 }{%
-\expandafter\KVS@@CommaComma\the\toks@\KVS@Nil
+\KVS@@CommaComma#1,#2\KVS@Nil
 }%
 }
 \begingroup
@@ -4087,15 +4144,17 @@ $ \expandafter\endgroup
 }%
 }%
 }
-\long\def\KVS@SpaceEquals#1{%
+\def\KVS@SpaceEquals#1{%
+\def\KVS@SpaceEquals{%
 \expandafter\KVS@@SpaceEquals\the\toks@#1=\KVS@Nil
+}%
 }
+\KVS@SpaceEquals{ }
 \long\def\KVS@@SpaceEquals#1 =#2\KVS@Nil{%
 \KVS@IfEmpty{#2}{%
 \toks@{#1}%
 }{%
-\toks@{#1=#2}%
-\expandafter\KVS@@SpaceEquals\the\toks@\KVS@Nil
+\KVS@@SpaceEquals#1=#2\KVS@Nil
 }%
 }
 \def\KVS@EqualsSpace{%
@@ -4105,8 +4164,7 @@ $ \expandafter\endgroup
 \KVS@IfEmpty{#2}{%
 \toks@{#1}%
 }{%
-\toks@{#1=#2}%
-\expandafter\KVS@@EqualsSpace\the\toks@\KVS@Nil
+\KVS@@EqualsSpace#1=#2\KVS@Nil
 }%
 }
 \long\def\kv@parse#1{%
@@ -4175,6 +4233,13 @@ $ \let\kv@value\KVS@Global
 \def\comma@break{%
 \let\KVS@MaybeBreak\KVS@break
 }
+\def\kv@handled@false{%
+\let\ifkv@handled@\iffalse
+}
+\def\kv@handled@true{%
+\let\ifkv@handled@\iftrue
+}
+\kv@handled@true
 \def\kv@processor@default#1#2{%
 \begingroup
 \csname @safe@activestrue\endcsname
@@ -4185,6 +4250,7 @@ $ \let\kv@value\KVS@Global
 \KVS@temp
 }
 \long\def\KVS@ProcessorDefault#1#2#3{%
+\def\kv@fam{#1}%
 & \unless\ifcsname KV@#1@#2\endcsname
 $ \begingroup\expandafter\expandafter\expandafter\endgroup
 $ \expandafter\ifx\csname KV@#1@#2\endcsname\relax
@@ -4193,8 +4259,13 @@ $   \begingroup\expandafter\expandafter\expandafter\endgroup
 $   \expandafter\ifx\csname KVS@#1@handler\endcsname\relax
 \kv@error@unknownkey{#1}{#2}%
 \else
+\kv@handled@true
 \csname KVS@#1@handler\endcsname{#2}{#3}%
 \relax
+\ifkv@handled@
+\else
+\kv@error@unknownkey{#1}{#2}%
+\fi
 \fi
 \else
 \ifx\kv@value\relax
@@ -4211,6 +4282,66 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \fi
 \fi
 }
+\def\kv@processor@known#1#2#3{%
+\begingroup
+\csname @safe@activestrue\endcsname
+\let\ifincsname\iftrue
+\edef\KVS@temp{\endgroup
+\noexpand\KVS@ProcessorKnown{#1}\noexpand#2{#3}%
+}%
+\KVS@temp
+}
+\long\def\KVS@ProcessorKnown#1#2#3#4{%
+\def\kv@fam{#1}%
+& \unless\ifcsname KV@#1@#3\endcsname
+$ \begingroup\expandafter\expandafter\expandafter\endgroup
+$ \expandafter\ifx\csname KV@#1@#3\endcsname\relax
+&   \unless\ifcsname KVS@#1@handler\endcsname
+$   \begingroup\expandafter\expandafter\expandafter\endgroup
+$   \expandafter\ifx\csname KVS@#1@handler\endcsname\relax
+\KVS@AddUnhandled#2{#3}{#4}%
+\else
+\kv@handled@true
+\csname KVS@#1@handler\endcsname{#3}{#4}%
+\relax
+\ifkv@handled@
+\else
+\KVS@AddUnhandled#2{#3}{#4}%
+\fi
+\fi
+\else
+\ifx\kv@value\relax
+&     \unless\ifcsname KV@#1@#2@default\endcsname
+$     \begingroup\expandafter\expandafter\expandafter\endgroup
+$     \expandafter\ifx\csname KV@#1@#3@default\endcsname\relax
+\kv@error@novalue{#1}{#3}%
+\else
+\csname KV@#1@#3@default\endcsname
+\relax
+\fi
+\else
+\csname KV@#1@#3\endcsname{#4}%
+\fi
+\fi
+}
+\long\def\KVS@AddUnhandled#1#2#3{%
+& \edef#1{%
+&   \ifx#1\KVS@empty
+&   \else
+&     \etex@unexpanded{#1},%
+&   \fi
+&   \etex@unexpanded{{#2}={#3}}%
+& }%
+$ \begingroup
+$   \ifx#1\KVS@empty
+$     \toks@{{#2}={#3}}%
+$   \else
+$     \toks@\expandafter{#1,{#2}={#3}}%
+$   \fi
+$   \xdef\KVS@Global{\the\toks@}%
+$ \endgroup
+$ \let#1\KVS@Global
+}
 \long\def\kv@set@family@handler#1#2{%
 \begingroup
 \csname @safe@activestrue\endcsname
@@ -4218,6 +4349,13 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \expandafter\endgroup
 \expandafter\def\csname KVS@#1@handler\endcsname##1##2{#2}%
 }
+\long\def\kv@unset@family@handler#1#2{%
+\begingroup
+\csname @safe@activestrue\endcsname
+\let\ifincsname\iftrue
+\expandafter\endgroup
+\expandafter\let\csname KVS@#1@handler\endcsname\@UnDeFiNeD
+}
 \def\kv@error@novalue{%
 \kv@error@generic{No value specified for}%
 }
@@ -4237,6 +4375,49 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \long\def\kvsetkeys#1#2{%
 \kv@parse{#2}{\kv@processor@default{#1}}%
 }
+\def\kvsetkeys@expandafter#1#2{%
+\expandafter\kv@parse\expandafter{#2}{%
+\kv@processor@default{#1}%
+}%
+}
+\def\KVS@cmd{0}%
+\def\KVS@cmd@inc{%
+& \edef\KVS@cmd{\the\numexpr\KVS@cmd+1}%
+$ \begingroup
+$   \count255=\KVS@cmd\relax
+$   \advance\count255 by 1\relax
+$ \edef\x{\endgroup
+$   \noexpand\def\noexpand\KVS@cmd{\number\count255}%
+$ }%
+$ \x
+}
+\def\KVS@cmd@dec{%
+& \edef\KVS@cmd{\the\numexpr\KVS@cmd-1}%
+$ \begingroup
+$   \count255=\KVS@cmd\relax
+$   \advance\count255 by -1\relax
+$ \edef\x{\endgroup
+$   \noexpand\def\noexpand\KVS@cmd{\number\count255}%
+$ }%
+$ \x
+}
+\def\KVS@empty{}
+\def\kvsetknownkeys{%
+\expandafter
+\KVS@setknownkeys\csname KVS@cmd\KVS@cmd\endcsname{}%
+}
+\long\def\KVS@setknownkeys#1#2#3#4#5{%
+\let#1\KVS@empty
+\KVS@cmd@inc
+#2\kv@parse#2{#5}{\kv@processor@known{#3}#1}%
+\KVS@cmd@dec
+\let#4=#1%
+}
+\def\kvsetknownkeys@expandafter{%
+\expandafter
+\KVS@setknownkeys
+\csname KVS@cmd\KVS@cmd\endcsname\expandafter
+}
 \KVS@AtEnd%
 \endinput
 <hobsub>
@@ -4308,7 +4489,7 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \fi
 \expandafter\x\csname ver@kvdefinekeys.sty\endcsname
 \ProvidesPackage{kvdefinekeys}%
- [2011/04/07 v1.3 Defining keys (HO)]%
+ [2011/04/07 v1.3 Define keys (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -4571,7 +4752,7 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \fi
 \expandafter\x\csname ver@pdftexcmds.sty\endcsname
 \ProvidesPackage{pdftexcmds}%
- [2011/04/22 v0.16 Utilities of pdfTeX for LuaTeX (HO)]%
+ [2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -4717,6 +4898,17 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \def\pdf@system#{%
 \immediate\write18%
 }%
+\def\pdftexcmds@temp#1{%
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname pdf#1\endcsname\relax
+\pdftexcmds@nopdftex
+\else
+\expandafter\let\csname pdf@#1\expandafter\endcsname
+\csname pdf#1\endcsname
+\fi
+}%
+\pdftexcmds@temp{resettimer}%
+\pdftexcmds@temp{elapsedtime}%
 \fi
 \ifluatex
 \ifnum\luatexversion<36 %
@@ -4774,7 +4966,8 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \endgroup
 \let\pdf@primitive\@undefined
 \@PackageInfoNoLine{pdftexcmds}{%
-\string\pdf@primitive disabled, because\MessageBreak
+\string\pdf@primitive\space disabled, %
+ because\MessageBreak
 \string\pdfprimitive\space is broken until pdfTeX 1.40.4%
 }%
 \begingroup
@@ -4944,8 +5137,23 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \pdftexcmds@directlua{%
  require("oberdiek.pdftexcmds")%
 }
+\ifnum\luatexversion>37 %
+\ifnum0%
+\pdftexcmds@directlua{%
+ if status.ini_version then %
+ tex.write("1")%
+ end%
+}>0 %
+\everyjob\expandafter{%
+\the\everyjob
+\pdftexcmds@directlua{%
+ require("oberdiek.pdftexcmds")%
+}%
+}%
+\fi
+\fi
 \begingroup
-\def\x{2011/04/22 v0.16}%
+\def\x{2011/11/29 v0.20}%
 \ltx@onelevel@sanitize\x
 \edef\y{%
 \pdftexcmds@directlua{%
@@ -5092,6 +5300,54 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
  oberdiek.pdftexcmds.filemdfivesum("\luaescapestring{#1}")%
 }%
 }%
+\let\pdftexcmds@temp=Y%
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname protected\endcsname\relax
+\pdftexcmds@directlua0{%
+ if tex.enableprimitives then %
+ tex.enableprimitives('', {'protected'})%
+ end%
+}%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname protected\endcsname\relax
+\let\pdftexcmds@temp=N%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname numexpr\endcsname\relax
+\pdftexcmds@directlua0{%
+ if tex.enableprimitives then %
+ tex.enableprimitives('', {'numexpr'})%
+ end%
+}%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname numexpr\endcsname\relax
+\let\pdftexcmds@temp=N%
+\fi
+\ifx\pdftexcmds@temp N%
+\@PackageWarningNoLine{pdftexcmds}{%
+ Definitions of \ltx@backslashchar pdf@resettimer and%
+\MessageBreak
+\ltx@backslashchar pdf@elapsedtime are skipped, because%
+\MessageBreak
+ e-TeX's \ltx@backslashchar protected or %
+\ltx@backslashchar numexpr are missing%
+}%
+\else
+\protected\def\pdf@resettimer{%
+\pdftexcmds@directlua0{%
+ oberdiek.pdftexcmds.resettimer()%
+}%
+}%
+\protected\def\pdf@elapsedtime{%
+\numexpr
+\pdftexcmds@directlua0{%
+ oberdiek.pdftexcmds.elapsedtime()%
+}%
+\relax
+}%
+\fi
 \ifnum\luatexversion<68 %
 \else
 \def\pdf@shellescape{%
@@ -5204,7 +5460,7 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \fi
 \expandafter\x\csname ver@pdfescape.sty\endcsname
 \ProvidesPackage{pdfescape}%
- [2011/04/04 v1.12 Provides string conversions (HO)]%
+ [2011/11/25 v1.13 Implements pdfTeX's escape features (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -5239,6 +5495,8 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 }
 \TMP@EnsureCode\catcode{0}{12}% ^^@
 \TMP@EnsureCode\catcode{34}{12}% "
+\TMP@EnsureCode\catcode{36}{3}% $
+\TMP@EnsureCode\catcode{38}{4}% &
 \TMP@EnsureCode\catcode{39}{12}% '
 \TMP@EnsureCode\catcode{42}{12}% *
 \TMP@EnsureCode\catcode{45}{12}% -
@@ -5536,12 +5794,35 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 }
 \def\PE@OctII#1#2{%
 \ifcase\PE@TestOctDigit#2%
-\def\PE@next{\PE@OctAll{#1#2}}%
+\def\PE@next{\PE@OctIII#1#2}%
 \else
 \def\PE@next{\PE@OctAll{#1}#2}%
 \fi
 \PE@next
 }
+\ltx@IfUndefined{numexpr}{%
+\catcode`\$=9 %
+\catcode`\&=14 %
+}{%
+\catcode`\$=14 %
+\catcode`\&=9 %
+}
+\def\PE@OctIII#1#2#3{%
+\ifnum#1<4 %
+\def\PE@next{\PE@OctAll{#1#2#3}}%
+\else
+$   \count\ltx@cclv#1 %
+$   \advance\count\ltx@cclv -4 %
+\edef\PE@next{%
+\noexpand\PE@OctAll{%
+$       \the\count\ltx@cclv
+&       \the\numexpr#1-4\relax
+#2#3%
+}%
+}%
+\fi
+\PE@next
+}
 \def\PE@OctAll#1{%
 \uccode\ltx@zero='#1\relax
 \uppercase{%
@@ -5917,7 +6198,7 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 \fi
 \expandafter\x\csname ver@bigintcalc.sty\endcsname
 \ProvidesPackage{bigintcalc}%
- [2011/01/30 v1.2 Expandable big integer calculations (HO)]%
+ [2012/04/08 v1.3 Expandable calculations on big integers (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -5998,6 +6279,7 @@ $     \expandafter\ifx\csname KV@#1@#2@default\endcsname\relax
 }%
 \TMP@RequirePackage{pdftexcmds}[2007/11/11]%
 \else
+\RequirePackage{pdftexcmds}[2007/11/11]%
 \fi
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname pdf@escapehex\endcsname\relax
@@ -7704,7 +7986,7 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
 \fi
 \expandafter\x\csname ver@bitset.sty\endcsname
 \ProvidesPackage{bitset}%
- [2011/01/30 v1.1 Data type bit set (HO)]%
+ [2011/01/30 v1.1 Handle bit-vector datatype (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
@@ -9114,7 +9396,7 @@ $ \BIC@Temp 9{18\or27\or36\or45\or54\or63\or72\or81}%
 \fi
 \expandafter\x\csname ver@uniquecounter.sty\endcsname
 \ProvidesPackage{uniquecounter}%
- [2011/01/30 v1.2 Provides unlimited unique counter (HO)]%
+ [2011/01/30 v1.2 Provide unlimited unique counter (HO)]%
 \begingroup\catcode61\catcode48\catcode32=10\relax%
 \catcode13=5 % ^^M
 \endlinechar=13 %
-- 
cgit v1.2.3

