summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/etoolbox/etoolbox.pdfbin224452 -> 224456 bytes
-rw-r--r--Master/texmf-dist/doc/latex/etoolbox/etoolbox.tex11
-rw-r--r--Master/texmf-dist/tex/latex/etoolbox/etoolbox.def2
-rw-r--r--Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty57
4 files changed, 42 insertions, 28 deletions
diff --git a/Master/texmf-dist/doc/latex/etoolbox/etoolbox.pdf b/Master/texmf-dist/doc/latex/etoolbox/etoolbox.pdf
index 29b9590a0a6..6a4fcf0a9a4 100644
--- a/Master/texmf-dist/doc/latex/etoolbox/etoolbox.pdf
+++ b/Master/texmf-dist/doc/latex/etoolbox/etoolbox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/etoolbox/etoolbox.tex b/Master/texmf-dist/doc/latex/etoolbox/etoolbox.tex
index 75dfadf95dc..3f96bac6982 100644
--- a/Master/texmf-dist/doc/latex/etoolbox/etoolbox.tex
+++ b/Master/texmf-dist/doc/latex/etoolbox/etoolbox.tex
@@ -12,8 +12,8 @@
url={http://www.ctan.org/pkg/etoolbox/},
author={Philipp Lehman, Joseph Wright},
email={joseph.wright@morningstar2.co.uk},
- revision={v2.5a},
- date={2018/02/03}}
+ revision={v2.5b},
+ date={2018/02/04}}
\hypersetup{%
pdftitle={The etoolbox Package},
@@ -239,7 +239,7 @@ Takes a control sequence name as its argument and forms a control sequence token
Clears a \prm{command} such that \etex's \cmd{ifdefined} and \cmd{ifcsname} tests will consider it as undefined. This command is robust and may be prefixed with \cs{global}.
-\cmditem{undef}<command>
+\cmditem{gundef}<command>
Similar to \cmd{undef} but acts globally.
@@ -1297,6 +1297,11 @@ This revision history is a list of changes relevant to users of this package. Ch
\begin{changelog}
+\begin{release}{2.5b}{2018-02-04}
+\item Preserve braces in some internal steps
+\item Internal performance improvements in list processors
+\end{release}
+
\begin{release}{2.5a}{2018-02-03}
\item Internal performance improvements in list processors
\end{release}
diff --git a/Master/texmf-dist/tex/latex/etoolbox/etoolbox.def b/Master/texmf-dist/tex/latex/etoolbox/etoolbox.def
index 50b5be7a0bd..e4cb93ea8af 100644
--- a/Master/texmf-dist/tex/latex/etoolbox/etoolbox.def
+++ b/Master/texmf-dist/tex/latex/etoolbox/etoolbox.def
@@ -1,5 +1,5 @@
\ProvidesFile{etoolbox.def}
- [2018/02/03 v2.5a etoolbox debug messages (JAW)]
+ [2018/02/04 v2.5b etoolbox debug messages (JAW)]
\begingroup
\makeatletter
diff --git a/Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty b/Master/texmf-dist/tex/latex/etoolbox/etoolbox.sty
index 5f92f1d4fc8..57cb2f2c69f 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/03 v2.5a e-TeX tools for LaTeX (JAW)]
+ [2018/02/04 v2.5b e-TeX tools for LaTeX (JAW)]
\begingroup
\@ifundefined{eTeXversion}
@@ -1502,19 +1502,20 @@
\long\def\noexpand#1####1{%
\expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- \space####1\noexpand#2\noexpand\etb@lst@q@end\noexpand#2&}%
+ \noexpand\@nil####1\noexpand#2\noexpand\etb@lst@q@end\noexpand#2&}%
\long\csdef{etb@lst@\expandafter\@gobble\string#1}%
- ####1\noexpand#2####2\noexpand#2{%
- \noexpand\etb@listitem\noexpand\do{####1}%
- \noexpand\ifx\noexpand\etb@lst@q@end####2\noexpand\@empty
+ ####1\noexpand#2{%
+ \noexpand\expandafter\noexpand\ifx\noexpand\expandafter
+ \noexpand\etb@lst@q@end\noexpand\@gobble####1\noexpand\@empty
\noexpand\expandafter\noexpand\@firstoftwo
\noexpand\else
\noexpand\expandafter\noexpand\@secondoftwo
\noexpand\fi
{\noexpand\listbreak}
- {\expandafter\noexpand
+ {\noexpand\etb@listitem\noexpand\do{####1}%
+ \expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- \space####2\noexpand#2}}}%
+ \noexpand\@nil}}}%
\@tempa}
\def\etb@lst@q@end{\etb@lst@q@end}
@@ -1525,22 +1526,27 @@
\long\def\noexpand#1####1####2{%
\expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- {####1}\space####2\noexpand#2&}%
- \long\csdef{etb@lst@\expandafter\@gobble\string#1}####1####2\noexpand#2####3&{%
- \noexpand\etb@listitem{####1}{####2}%
- \noexpand\ifblank{####3}
+ {####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
+ \noexpand\else
+ \noexpand\expandafter\noexpand\@secondoftwo
+ \noexpand\fi
{\noexpand\listbreak}
- {\expandafter\noexpand
+ {\noexpand\etb@listitem{####1}{####2}%
+ \expandafter\noexpand
\csname etb@lst@\expandafter\@gobble\string#1\endcsname
- {####1}\space####3}&}}%
+ {####1}\noexpand\@nil}}}%
\@tempa}
\long\def\etb@listitem#1#2{%
- \ifblank{#2}
+ \expandafter\ifblank\expandafter{\@gobble#2}
{}
{\expandafter\etb@listitem@i
- \expandafter{\@firstofone#2}{#1}}}
-\long\def\etb@listitem@i#1#2{#2{#1}}
+ \expandafter{\@gobble#2}{#1}}}
+\long\def\etb@listitem@i#1#2{\expandafter#2\expandafter{\@firstofone#1}}
\newcommand*{\listbreak}{}
\long\def\listbreak#1&{}
@@ -1632,16 +1638,19 @@
\newcommand*{\forlistloop}[2]{%
\expandafter\etb@forlistloop\expandafter{#2}{#1}}
-\long\def\etb@forlistloop#1#2{\etb@forlistloop@i{#2}#1|&}
+\long\def\etb@forlistloop#1#2{\etb@forlistloop@i{#2}#1|\etb@lst@q@end|&}
-\long\def\etb@forlistloop@i#1#2|#3&{%
- \ifblank{#2}
- {}
- {#1{#2}}%
- \ifblank{#3}
+\long\def\etb@forlistloop@i#1#2|{%
+ \ifx\etb@lst@q@end#2\@empty
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
{\listbreak}
- {\etb@forlistloop@i{#1}#3}%
- &}
+ {\ifblank{#2}
+ {}
+ {#1{#2}}%
+ \etb@forlistloop@i{#1}}}
% {<handler>}{<listcsname>} => <handler>{<item1>}<handler>{<item2>}...