summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-02-11 22:50:58 +0000
committerKarl Berry <karl@freefriends.org>2018-02-11 22:50:58 +0000
commitb9de7de1b0e84ce3e973659cb80d728685e83408 (patch)
tree0aeed87c6b50d17b82ca971be57ac9613392adbf /Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty
parent015f59602dd3d67bf0308e310edeae053297da88 (diff)
etoolbox (11feb18)
git-svn-id: svn://tug.org/texlive/trunk@46602 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty')
-rw-r--r--Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty40
1 files changed, 35 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty b/Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty
index 97d12663e8b..3b561d27977 100644
--- a/Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty
+++ b/Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{etoolbox}
- [2018/02/10 v2.5d e-TeX tools for LaTeX (JAW)]
+ [2018/02/11 v2.5e e-TeX tools for LaTeX (JAW)]
\begingroup
\@ifundefined{eTeXversion}
@@ -1497,14 +1497,19 @@
\@ifdefinable#2{#1{#2}{#3}}}
\def\etb@defparser@do#1#2{%
+ \ifblank{#2}{\long\def#1##1{%
+ \etb@lst@@notoken@do##1\etb@lst@q@end&}}
+ {\etb@defparser@do@aux{#1}{#2}}}
+
+\def\etb@defparser@do@aux#1#2{%
\begingroup
\edef\@tempa{\endgroup
\long\def\noexpand#1####1{%
\expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- \noexpand\@nil####1\unexpanded{#2}\noexpand\etb@lst@q@end\unexpanded{#2}&}%
+ \noexpand\@nil####1\noexpand#2\noexpand\etb@lst@q@end\noexpand#2&}%
\long\csdef{etb@lst@\expandafter\@gobble\string#1}%
- ####1\unexpanded{#2}{%
+ ####1\noexpand#2{%
\noexpand\expandafter\noexpand\ifx\noexpand\expandafter
\noexpand\etb@lst@q@end\noexpand\@gobble####1\noexpand\@empty
\noexpand\expandafter\noexpand\@firstoftwo
@@ -1518,16 +1523,31 @@
\noexpand\@nil}}}%
\@tempa}
+\long\def\etb@lst@@notoken@do#1{%
+ \ifx\etb@lst@q@end#1\@empty
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {\listbreak}
+ {\do{#1}%
+ \etb@lst@@notoken@do}}
+
\def\etb@lst@q@end{\etb@lst@q@end}
\def\etb@defparser@arg#1#2{%
+ \ifblank{#2}{\long\def#1##1##2{%
+ \etb@lst@@notoken@arg{##1}##2\etb@lst@q@end&}}
+ {\etb@defparser@arg@aux{#1}{#2}}}
+
+\def\etb@defparser@arg@aux#1#2{%
\begingroup
\edef\@tempa{\endgroup
\long\def\noexpand#1####1####2{%
\expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- {####1}\noexpand\@nil####2\unexpanded{#2}\noexpand\etb@lst@q@end\unexpanded{#2}&}%
- \long\csdef{etb@lst@\expandafter\@gobble\string#1}####1####2\unexpanded{#2}{%
+ {####1}\noexpand\@nil####2\noexpand#2\noexpand\etb@lst@q@end\noexpand#2&}%
+ \long\csdef{etb@lst@\expandafter\@gobble\string#1}####1####2\noexpand#2{%
\noexpand\expandafter\noexpand\ifx\noexpand\expandafter
\noexpand\etb@lst@q@end\noexpand\@gobble####2\noexpand\@empty
\noexpand\expandafter\noexpand\@firstoftwo
@@ -1541,6 +1561,16 @@
{####1}\noexpand\@nil}}}%
\@tempa}
+\long\def\etb@lst@@notoken@arg#1#2{%
+ \ifx\etb@lst@q@end#2\@empty
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {\listbreak}
+ {#1{#2}%
+ \etb@lst@@notoken@arg{#1}}}
+
\long\def\etb@listitem#1#2{%
\expandafter\ifblank\expandafter{\@gobble#2}
{}