texlive[41727] Master: randomlist.tex in runtime

commits+karl at tug.org commits+karl at tug.org
Tue Jul 19 23:42:13 CEST 2016


Revision: 41727
          http://tug.org/svn/texlive?view=revision&revision=41727
Author:   karl
Date:     2016-07-19 23:42:13 +0200 (Tue, 19 Jul 2016)
Log Message:
-----------
randomlist.tex in runtime

Modified Paths:
--------------
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/generic/randomlist/randomlist.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/generic/randomlist/randomlist.tex

Deleted: trunk/Master/texmf-dist/doc/generic/randomlist/randomlist.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/randomlist/randomlist.tex	2016-07-19 17:39:12 UTC (rev 41726)
+++ trunk/Master/texmf-dist/doc/generic/randomlist/randomlist.tex	2016-07-19 21:42:13 UTC (rev 41727)
@@ -1,682 +0,0 @@
-%%
-%% This is file `randomlist.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% randomlist.dtx  (with options: `tex')
-%% 
-%% randomlist.dtx
-%% Copyleft 2013-2016 J.-C. Charpentier & C. Tellechea
-%% Packages `randomlist' to use with (La)eTeX
-%% Copyleft (L) 2013-2016 Jean-C\^ome Charpentier & Christian Tellechea.
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
-%%
-\csname RandomListLoaded\endcsname
-\let\RandomListLoaded\endinput
-\edef\RLAtCatcode{\the\catcode`\@}
-\catcode`\@=11
-\ifx\@ifnextchar\@undefined
-  \long\def\@ifnextchar#1#2#3{%
-    \let\reserved at d=#1%
-    \def\reserved at a{#2}%
-    \def\reserved at b{#3}%
-    \futurelet\@let at token\@ifnch}
-  \def\@ifnch{%
-    \ifx\@let at token\@sptoken
-      \let\reserved at c\@xifnch
-    \else
-      \ifx\@let at token\reserved at d
-        \let\reserved at c\reserved at a
-      \else
-        \let\reserved at c\reserved at b
-      \fi
-    \fi
-    \reserved at c}
-  \def\:{\let\@sptoken= } \:  %
-  \def\:{\@xifnch} \expandafter\def\: {\futurelet\@let at token\@ifnch}
-\fi
-\ifx\PackageError\@undefined
-  \long\def\@firstoftwo#1#2{#1}
-  \long\def\@secondoftwo#1#2{#2}
-  \def\@nnil{\@nil}%
-  \alloc at 7\write\chardef\sixt@@n\@unused
-  \def\typeout#1{\immediate\write\@unused{#1}}%
-  \def\@spaces{\space\space\space\space}
-  \def\PackageError#1#2#3{%
-    \begingroup
-    \newlinechar`\^^J
-    \edef\RL at temp{#3}%
-    \expandafter\errhelp\expandafter{\RL at temp}%
-    \typeout{%
-      #1 error. \space See User's Manual for further information.^^J
-      \@spaces\@spaces\@spaces\@spaces
-      Type \space H <return> \space for immediate help.}%
-    \errmessage{#2}%
-    \endgroup
-  }
-\fi
-\ifx\numexpr\@undefined
-    \begingroup
-    \newlinechar`\^^J
-    \errhelp{Run under etex, pdftex, xetex, luatex, ... but not under
-      tex}%
-    \typeout{%
-      randomlist error. \space See User's Manual for further information.^^J
-      \@spaces\@spaces\@spaces\@spaces
-      Type \space H <return> \space for immediate help.}%
-    \errmessage{You can't use randomlist under tex without etex extension.}%
-    \endgroup
-\fi
-\ifx\@gobble\@undefined
-  \long\def\@gobble#1{}
-\fi
-\def\RL at addtomacro#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
-\def\RL at ifempty#1{%
-  \ifcat\relax\detokenize{#1}\relax
-    \expandafter\@firstoftwo
-  \else
-    \expandafter\@secondoftwo
-  \fi
-}
-\newcount\RL at random
-\newcount\RL at random@a
-\newcount\RL at random@b
-\def\RLsetrandomseed#1{%
-  \ifnum#1=0
-    \RL at random \numexpr \time + \year * \month * \day \relax
-  \else
-    \RL at random \numexpr \ifnum#1<0 -\fi#1 \relax
-  \fi
-}
-\ifx\RL at seed\@undefined
-  \RLsetrandomseed{0}
-\else
-  \RLsetrandomseed{\RL at seed}
-\fi
-\def\RL at nextrand{%
-  \RL at random@a=\RL at random
-  \divide\RL at random@a 127773
-  \RL at random@b=\RL at random@a
-  \multiply\RL at random@a -2836
-  \multiply\RL at random@b -127773
-  \advance\RL at random\RL at random@b
-  \multiply\RL at random 16807
-  \advance\RL at random\RL at random@a
-  \ifnum\RL at random<0
-    \advance\RL at random 2147483647
-  \fi
-}
-\def\RLuniformdeviate#1#2{%
-  \RL at nextrand
-  \RL at random@a=\RL at random
-  \RL at random@b=\RL at random
-  \divide\RL at random@a \numexpr#1\relax
-  \RL at random@b \numexpr\RL at random@b - \RL at random@a * (#1)\relax
-  \expandafter\edef\csname #2\endcsname{\number\RL at random@b}%
-}%
-\newtoks\@ListOfList
-\def\@ifIsList#1{%
-  \expandafter\@ifIsList@\expandafter{#1}%
-}
-\def\@ifIsList@#1{%
-  \def\@@ifIsList##1#1\sep##2\@@ifIsList{%
-    \csname @\ifx\empty##2\empty second\else first\fi oftwo\endcsname
-  }%
-  \expandafter\@@ifIsList\the\@ListOfList#1\sep\@@ifIsList
-}
-\def\RL at lenof#1{\csname #1-len\endcsname}
-\newif\if at EmptyListFound
-\def\@ifIsListNotEmpty#1{%
-  \global\@EmptyListFoundfalse
-  \@ifIsList{#1}{%
-    \ifnum\RL at lenof{#1}=0
-      \global\@EmptyListFoundtrue
-      \expandafter\@secondoftwo
-    \else
-      \expandafter\@firstoftwo
-    \fi
-  }%
-  \@secondoftwo
-}
-\def\@NoListError#1{%
-  \if at EmptyListFound
-    \@EmptyListError{#1}%
-    \global\@EmptyListFoundfalse
-  \else
-    \PackageError{randomlist}%
-                 {List #1 doesn't exist}%
-                 {Maybe you mistyped the list name?}%
-  \fi
-}
-\def\@EmptyListError#1{%
-  \if at EmptyListFound
-  \PackageError{randomlist}%
-               {List #1 is empty}%
-               {Ask yourself why this list is empty.}%
-}
-\def\@OutOfRangeError#1#2{%
-  \PackageError{randomlist}%
-               {Index #2 is greater than last index of list #1}%
-               {There aren't enough elements in the list.}%
-}
-\long\def\RL at nameldef#1{%
-  \long\expandafter\def\csname #1\endcsname
-}
-\long\def\RL at nameledef#1{%
-  \long\expandafter\edef\csname #1\endcsname
-}
-\long\def\RL at namelgdef#1{%
-  \long\expandafter\gdef\csname #1\endcsname
-}
-\long\def\RL at namelxdef#1{%
-  \long\expandafter\xdef\csname #1\endcsname
-}
-\def\RL at let#1#2{%
-  \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
-}
-\long\def\RL at doafterfi#1\fi{\fi#1}
-\def\RLfor#1=#2to#3\do{%
-  \edef#1{\number\numexpr#2}%
-  \edef\RL at sgncomp{\ifnum#1<\numexpr#3\relax>+\else<-\fi}%
-  \expandafter\RLfor at i
-  \csname RLfor at ii@\string#1\expandafter\endcsname\expandafter
-  {\number\numexpr#3\expandafter}%
-  \RL at sgncomp
-  #1%
-}
-\long\def\RLfor at i#1#2#3#4#5#6{%
-  \def#1{%
-    \unless\ifnum#5#3#2\relax
-    \RL at doafterfi{%
-      #6%
-      \edef#5{\number\numexpr#5#41\relax}%
-      #1%
-    }%
-    \fi
-  }%
-  #1%
-}
-\def\NewList#1{%
-  \@ifIsList{#1}{%
-    \PackageError{randomlist}%
-                 {List #1 already exists}%
-                 {Use \string\ClearList.}%
-  }%
-  {%
-    \ifcsname #1\endcsname
-      \PackageError{randomlist}%
-                   {Command \csname#1\endcsname already exists}%
-                   {Creating list #1 defines a \csname#1\endcsname command.}%
-    \else
-      \RL at nameldef{#1-len}{0}%
-      \@ListOfList\expandafter{\the\@ListOfList#1\sep}%
-      \expandafter\def\csname #1\endcsname[##1]{%
-        \ifnum##1>\csname#1-len\endcsname
-          \relax
-        \else
-          \csname #1-##1\endcsname
-        \fi
-      }%
-    \fi
-  }%
-}
-\def\ClearList#1{%
-  \@ifIsList{#1}{%
-     \RL at nameldef{#1-len}{0}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\CopyList#1#2{%
-  \@ifIsList{#1}{%
-    \@ifIsList{#2}{%
-      \RL at let{#2-len}{#1-len}%
-      \ifnum\RL at lenof{#1}>0
-        \RLfor\RL at iter=0 to \RL at lenof{#1}-1 \do{%
-          \RL at let{#2-\RL at iter}{#1-\RL at iter}%
-        }%
-      \fi
-    }%
-    {\@NoListError{#2}}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\InsertList#1#2#3{%
-  \@ifIsList{#1}{%
-    \@ifIsList{#3}{%
-      \ifnum #2>\RL at lenof{#1}
-        \@OutOfRangeError{#1}{#2}%
-      \else
-        \ShiftList{#1}{#2}{\RL at lenof{#3}}%
-        \ifnum\RL at lenof{#3}>0
-          \RLfor\RL at iter=0 to \RL at lenof{#3}-1 \do{%
-            \RL at let{#1-\number\numexpr\RL at iter+#2}{#3-\RL at iter}%
-          }%
-        \fi
-      \fi
-    }%
-    {\@NoListError{#3}}%
-  }%
-  {\@NoListError{#1}}%
-}
-\newcount\RL at counti
-\newcount\RL at countii
-\newcount\RL at countiii
-\def\ShowList#1{%
-  \@ifIsList{#1}{%
-    \ifhmode\par\noindent\fi
-    \begingroup
-      \ifdefined\ttfamily\ttfamily\else\tt\fi
-      BEGIN\detokenize{{#1}}
-      (\ifcase\RL at lenof{#1}
-        empty list%
-      \or
-        1 element%
-      \else
-        \RL at lenof{#1} elements%
-      \fi)\par
-      \ifnum\RL at lenof{#1}>0
-        \parindent=1em
-        \RLfor\RL at iter=0 to \RL at lenof{#1}-1 \do {%
-          #1[\RL at iter] = \expandafter\RL at meaning\csname
-          #1-\RL at iter\endcsname
-          \par
-        }%
-      \fi
-      \noindent
-      END\detokenize{{#1}}\par
-    \endgroup
-  }%
-  {\@NoListError{#1}}%
-}
-\def\RL at meaning#1{\expandafter\RL at meaningi\meaning#1}
-\expandafter\def\expandafter\RL at meaningi\expandafter#\expandafter1\string>{}
-\def\CountList#1#2{%
-  \@ifIsList{#1}%
-  {\RL at nameledef{#2}{\RL at lenof{#1}}}%
-  {\@NoListError{#1}}%
-}
-\def\ShiftList#1#2#3{%
-  \@ifIsList{#1}%
-  {%
-    \unless\ifnum#3=0
-      \ifnum\numexpr#2<0
-        \PackageError{randomlist}%
-                     {Negative index number}%
-                     {Index must be equal or greater than 0}%
-      \else
-      \ifnum\numexpr#2>\RL at lenof{#1}\relax
-        \PackageError{randomlist}%
-                     {Index \number\numexpr #2\relax\space too big
-                       (<=\RL at lenof{#1})}%
-                     {Index must be equal or smaller than length of
-                       the list}%
-      \else
-      \ifnum\numexpr#3>0
-        \RLfor\RL at iter = \RL at lenof{#1} to #2 \do{%
-          \RL at let{#1-\number\numexpr\RL at iter+#3}{#1-\RL at iter}%
-        }%
-        \RLfor\RL at iter = #2 to #2 + #3 - 1 \do{%
-          \RL at nameldef{#1-\RL at iter}{}%
-        }%
-      \else
-        \ifnum-#3>\numexpr#2\relax
-          \PackageError{randomlist}%
-                       {Negative shift to big}%
-                       {When negative, shift must not be greater than index}%
-        \else
-          \RLfor\RL at iter=#2 to \RL at lenof{#1} \do{%
-            \RL at let{#1-\number\numexpr\RL at iter+#3}{#1-\RL at iter}%
-          }%
-        \fi
-      \fi
-      \RL at nameledef{#1-len}{\number\numexpr\RL at lenof{#1} + #3}%
-    \fi\fi\fi
-  }%
-  {\@NoListError{#1}}%
-}
-\long\def\InsertLastItem#1#2{%
-  \@ifIsList{#1}
-  {%
-    \RL at nameldef{#1-\RL at lenof{#1}}{#2}%
-    \RL at nameledef{#1-len}{\number\numexpr\RL at lenof{#1}+1}%
-  }
-  {\@NoListError{#1}}%
-}
-\long\def\InsertFirstItem#1#2{%
-  \InsertItem{#1}{0}{#2}%
-}
-\long\def\InsertItem#1#2#3{%
-  \@ifIsList{#1}%
-  {%
-    \ShiftList{#1}{#2}{1}%
-    \RL at nameldef{#1-#2}{#3}%
-  }%
-  {\@NoListError{#1}}%
-}
-\long\def\InsertRandomItem#1#2{%
-  \@ifIsList{#1}%
-  {%
-    \RLuniformdeviate{\RL at lenof{#1}+1}{RL at temp}%
-    \InsertItem{#1}{\RL at temp}{#2}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\ExtractFirstItem#1#2{%
-  \@ifIsList{#1}%
-  {%
-    \ExtractItem{#1}{0}{#2}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\ExtractLastItem#1#2{%
-  \@ifIsListNotEmpty{#1}%
-  {%
-    \RL at let{#2}{#1-\number\numexpr\RL at lenof{#1}-1}%
-    \RL at nameledef{#1-len}{\number\numexpr\RL at lenof{#1}-1}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\ExtractItem#1#2#3{%
-  \@ifIsListNotEmpty{#1}%
-  {%
-    \RL at let{#3}{#1-#2}%
-    \ShiftList{#1}{#2+1}{-1}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\ExtractRandomItem#1#2{%
-  \@ifIsListNotEmpty{#1}%
-  {%
-    \RLuniformdeviate{\RL at lenof{#1}}{RL at temp}%
-    \ExtractItem{#1}{\RL at temp}{#2}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\ExtractList#1#2#3#4{%
-  \@ifIsList{#1}{%
-    \@ifIsList{#4}{%
-      \ifnum#2<\RL at lenof{#1}%
-        \ifnum#3<\RL at lenof{#1}%
-          \ifnum#2>#3\relax
-            \RL at nameldef{#4-len}{0}%
-          \else
-            \RLfor\RL at iterextract=0 to #3 - #2 \do{%
-              \RL at let{#4-\RL at iterextract}{#1-#2}%
-              \ExtractItem{#1}{#2}{RL at temp}%
-            }%
-            \RL at nameledef{#4-len}{\number\numexpr #3 - #2 + 1}%
-          \fi
-        \else
-          \@OutOfRangeError{#1}{#3}%
-        \fi
-      \else
-        \@OutOfRangeError{#1}{#2}%
-      \fi
-    }%
-    {\@NoListError{#4}}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\GetFirstItem#1#2{%
-  \GetItem{#1}{0}{#2}%
-}
-\def\GetLastItem#1#2{%
-  \GetItem{#1}{\number\numexpr\RL at lenof{#1}-1}{#2}%
-}
-\def\GetItem#1#2#3{%
-  \@ifIsListNotEmpty{#1}
-  {%
-    \ifnum\numexpr\RL at lenof{#1}-1-#2<0
-      \@OutOfRangeError{#1}{#2}%
-    \else
-      \RL at let{#3}{#1-#2}%
-    \fi
-  }
-  {\@NoListError{#1}}%
-}
-\def\GetRandomItem#1#2{%
-  \@ifIsListNotEmpty{#1}%
-  {%
-    \RLuniformdeviate{\RL at lenof{#1}}{RL at temp}%
-    \GetItem{#1}{\RL at temp}{#2}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\GetList#1#2#3#4{%
-  \@ifIsList{#1}{%
-    \@ifIsList{#4}{%
-      \ifnum#2<\RL at lenof{#1}%
-        \ifnum#3<\RL at lenof{#1}%
-          \ifnum#2>#3\relax
-            \RL at nameldef{#4-len}{0}%
-          \else
-            \RLfor\RL at iter=#2 to #3 \do{%
-              \RL at let{#4-\number\numexpr \RL at iter - #2}{#1-\RL at iter}%
-            }%
-            \RL at nameledef{#4-len}{\number\numexpr #3 - #2 + 1}%
-          \fi
-        \else
-          \@OutOfRangeError{#1}{#3}%
-        \fi
-      \else
-        \@OutOfRangeError{#1}{#2}%
-      \fi
-    }%
-    {\@NoListError{#4}}%
-  }%
-  {\@NoListError{#1}}%
-}
-\long\def\SetFirstItem#1#2{%
-  \SetItem{#1}{0}{#2}%
-}
-\long\def\SetLastItem#1#2{%
-  \SetItem{#1}{\number\numexpr\RL at lenof{#1}-1}{#2}%
-}
-\long\def\SetItem#1#2#3{%
-  \@ifIsListNotEmpty{#1}%
-  {%
-    \ifnum\numexpr\RL at lenof{#1}-1-#2<0
-      \@OutOfRangeError{#1}{#2}%
-    \else
-      \RL at nameldef{#1-#2}{#3}%
-    \fi
-  }%
-  {\@NoListError{#1}}%%
-}
-\long\def\SetRandomItem#1#2{%
-  \@ifIsListNotEmpty{#1}%
-  {%
-    \RLuniformdeviate{\RL at lenof{#1}}{RL at temp}%
-    \SetItem{#1}{\RL at temp}{#2}%
-  }%
-  {\@NoListError{#1}}%
-}
-\def\SetList#1#2{%
-  \@ifIsList{#1}%
-  {%
-    \ClearList{#1}%
-    \def\RL at name{#1}%
-    \RL at setlist#2,\@nil,%
-  }%
-  {\@NoListError{#1}}%
-}
-\long\def\RL at setlist#1,{%
-  \def\RL at arg{#1}%
-  \unless\ifx\RL at arg\@nnil
-    \InsertLastItem{\RL at name}{#1}%
-    \expandafter\RL at setlist
-  \fi
-}
-\long\def\ForEachFirstItem#1#2#3{%
-  \begingroup
-    \RLfor \RL at var = 0 to \RL at lenof{#1}-1 \do{%
-      \ExtractFirstItem{#1}{#2}%
-      #3%
-    }%
-  \endgroup
-}
-\long\def\ForEachLastItem#1#2#3{%
-  \begingroup
-    \RLfor \RL at var = 0 to \RL at lenof{#1}-1 \do{%
-      \ExtractLastItem{#1}{#2}%
-      #3%
-    }%
-  \endgroup
-}
-\long\def\ForEachRandomItem#1#2#3{%
-  \begingroup
-    \RLfor \RL at var = 0 to \RL at lenof{#1}-1 \do{%
-      \ExtractRandomItem{#1}{#2}%
-      #3%
-    }%
-  \endgroup
-}
-\long\def\ReadFieldItem#1#2#3{%
-  \RL at counti #2\relax
-  \expandafter\RL at ReadFieldItem#1\@nil
-  \expandafter\let\csname#3\endcsname\RL at temp
-}
-\long\def\RL at ReadFieldItem{%
-  \@ifnextchar\bgroup{\RL@@ReadFieldItem}{\RL@@ReadFieldItemError}%
-}
-\long\def\RL@@ReadFieldItem#1{%
-  \ifnum\RL at counti=\z@
-    \def\RL at temp{#1}%
-    \expandafter\RL@@ReadFieldItemEnd
-  \else
-    \advance\RL at counti \m at ne
-    \expandafter\RL at ReadFieldItem
-  \fi
-}
-\long\def\RL@@ReadFieldItemEnd#1\@nil{}
-\long\def\RL@@ReadFieldItemError#1\@nil{%
-  \PackageError{randomlist}%
-               {There aren't enough fields in the record}%
-               {Pay attention that field number starts from zero.}%
-}
-\def\RL at SetDelimiters#1#2#3\@nil{%
-  \def\RL at markstrings##1{%
-    \let\RL at accu\empty
-    \expandafter\RL at markstrings@i##1#2\@nil#2%
-    \let##1=\RL at accu
-  }%
-  \def\RL at markstrings@i##1#2##2#2{%
-    \RL at addtomacro\RL at accu{##1}%
-    \def\RL at current{##2}%
-    \unless\ifx\@nnil\RL at current
-      \RL at addtomacro\RL at accu{\RL at string{##2}}%
-      \expandafter\RL at markstrings@i
-    \fi
-  }%
-  \def\RL at unmarkstrings##1{%
-    \let\RL at accuA\empty
-    \expandafter\RL at unmarkstrings@i##1\RL at string\@nil
-    \let##1=\RL at accuA
-  }%
-  \def\RL at unmarkstrings@i##1\RL at string##2{%
-    \RL at addtomacro\RL at accuA{##1}%
-    \def\RL at current{##2}%
-    \unless\ifx\@nnil\RL at current
-      \RL at ifempty{##2}%
-        {\RL at addtomacro\RL at accuA{#2}}%
-        {\RL at addtomacro\RL at accuA{##2}}%
-      \expandafter\RL at unmarkstrings@i
-    \fi
-  }%
-  \def\RL at parsefields##1{%
-    \let\RL at accu\empty
-    \expandafter\RL at parsefields@i##1#1\@nil#1%
-    \let##1=\RL at accu
-  }%
-  \def\RL at parsefields@i##1#1{%
-    \def\RL at current{##1}%
-    \unless\ifx\@nnil\RL at current
-      \RL at unmarkstrings\RL at current
-      \RL at removefirstspaces\RL at current
-      \RL at removelastspaces \RL at current
-      \expandafter\RL at addtomacro\expandafter\RL at accu\expandafter
-        {\expandafter{\RL at current}}%
-      \expandafter\RL at parsefields@i
-    \fi
-  }%
-}
-\newread\RL at hdle
-\def\@ppar{\par}
-\def\ReadFileList{\@ifnextchar[{\@ReadFileList}{\@ReadFileList[,"]}}
-\def\@ReadFileList[#1]#2#3{%
-  \openin \RL at hdle = #3
-  \ifeof\RL at hdle
-    \PackageError{randomlist}%
-      {File #3 doesn't exist}%
-      {Verify its name, its extension, its location, its permissions.}%
-  \else
-    \RL at ifempty{#1}%
-      {%
-        \PackageError{randomlist}
-          {Optional argument empty: [,"] inserted}
-          {Do not leave an optional argument empty}%
-          \RL at SetDelimiters,"\@nil
-      }
-      {\RL at SetDelimiters#1"\@nil}%
-    \loop
-      \read\RL at hdle to \RL at buffer
-      \unless\ifx\RL at buffer\@ppar
-        \RL at markstrings\RL at buffer
-        \RL at parsefields\RL at buffer
-        \def\RL at accuA{\InsertLastItem{#2}}%
-        \expandafter\RL at accuA\expandafter{\RL at buffer}%
-      \fi
-      \ifeof\RL at hdle\else
-    \repeat
-  \fi
-}
-\def\RL at ifspacefirst#1{%
-  \RL at ifspacefirst@i#1A \@nil
-}
-\expandafter\def\expandafter\RL at ifspacefirst@i
-  \expandafter#\expandafter1\space#2\@nil{%
-    \RL at ifempty{#1}%
-}
-\def\RL at removefirstspaces#1{%
-  \expandafter\RL at ifspacefirst\expandafter{#1}
-    {\expandafter\removefistspace at i#1\@nil#1}
-    {}%
-}
-\expandafter\def\expandafter\removefistspace at i\space#1\@nil#2{%
-  \def#2{#1}%
-  \RL at removefirstspaces#2%
-}
-\edef\RL at restorecatcodezero{\catcode0=\number\catcode0\relax}
-\catcode0=12
-\def\RL at removelastspaces#1{%
-  \expandafter\def\expandafter#1\expandafter{%
-    \romannumeral\expandafter
-    \RL at removelastspaces@i\expandafter\relax#1^^00 ^^00\@nil
-  }%
-}
-\def\RL at removelastspaces@i#1 ^^00{\RL at removelastspaces@ii#1^^00}
-\def\RL at removelastspaces@ii#1^^00#2\@nil{%
-  \RL at ifspacefirst{#2}
-    {\RL at removelastspaces@i#1^^00 ^^00\@nil}
-    {\expandafter\z@\@gobble#1}%
-}
-\RL at restorecatcodezero
-\catcode`\@=\RLAtCatcode\relax
-\endinput
-%%
-%% End of file `randomlist.tex'.

Added: trunk/Master/texmf-dist/tex/generic/randomlist/randomlist.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/randomlist/randomlist.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/randomlist/randomlist.tex	2016-07-19 21:42:13 UTC (rev 41727)
@@ -0,0 +1,682 @@
+%%
+%% This is file `randomlist.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% randomlist.dtx  (with options: `tex')
+%% 
+%% randomlist.dtx
+%% Copyleft 2013-2016 J.-C. Charpentier & C. Tellechea
+%% Packages `randomlist' to use with (La)eTeX
+%% Copyleft (L) 2013-2016 Jean-C\^ome Charpentier & Christian Tellechea.
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+%%
+\csname RandomListLoaded\endcsname
+\let\RandomListLoaded\endinput
+\edef\RLAtCatcode{\the\catcode`\@}
+\catcode`\@=11
+\ifx\@ifnextchar\@undefined
+  \long\def\@ifnextchar#1#2#3{%
+    \let\reserved at d=#1%
+    \def\reserved at a{#2}%
+    \def\reserved at b{#3}%
+    \futurelet\@let at token\@ifnch}
+  \def\@ifnch{%
+    \ifx\@let at token\@sptoken
+      \let\reserved at c\@xifnch
+    \else
+      \ifx\@let at token\reserved at d
+        \let\reserved at c\reserved at a
+      \else
+        \let\reserved at c\reserved at b
+      \fi
+    \fi
+    \reserved at c}
+  \def\:{\let\@sptoken= } \:  %
+  \def\:{\@xifnch} \expandafter\def\: {\futurelet\@let at token\@ifnch}
+\fi
+\ifx\PackageError\@undefined
+  \long\def\@firstoftwo#1#2{#1}
+  \long\def\@secondoftwo#1#2{#2}
+  \def\@nnil{\@nil}%
+  \alloc at 7\write\chardef\sixt@@n\@unused
+  \def\typeout#1{\immediate\write\@unused{#1}}%
+  \def\@spaces{\space\space\space\space}
+  \def\PackageError#1#2#3{%
+    \begingroup
+    \newlinechar`\^^J
+    \edef\RL at temp{#3}%
+    \expandafter\errhelp\expandafter{\RL at temp}%
+    \typeout{%
+      #1 error. \space See User's Manual for further information.^^J
+      \@spaces\@spaces\@spaces\@spaces
+      Type \space H <return> \space for immediate help.}%
+    \errmessage{#2}%
+    \endgroup
+  }
+\fi
+\ifx\numexpr\@undefined
+    \begingroup
+    \newlinechar`\^^J
+    \errhelp{Run under etex, pdftex, xetex, luatex, ... but not under
+      tex}%
+    \typeout{%
+      randomlist error. \space See User's Manual for further information.^^J
+      \@spaces\@spaces\@spaces\@spaces
+      Type \space H <return> \space for immediate help.}%
+    \errmessage{You can't use randomlist under tex without etex extension.}%
+    \endgroup
+\fi
+\ifx\@gobble\@undefined
+  \long\def\@gobble#1{}
+\fi
+\def\RL at addtomacro#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
+\def\RL at ifempty#1{%
+  \ifcat\relax\detokenize{#1}\relax
+    \expandafter\@firstoftwo
+  \else
+    \expandafter\@secondoftwo
+  \fi
+}
+\newcount\RL at random
+\newcount\RL at random@a
+\newcount\RL at random@b
+\def\RLsetrandomseed#1{%
+  \ifnum#1=0
+    \RL at random \numexpr \time + \year * \month * \day \relax
+  \else
+    \RL at random \numexpr \ifnum#1<0 -\fi#1 \relax
+  \fi
+}
+\ifx\RL at seed\@undefined
+  \RLsetrandomseed{0}
+\else
+  \RLsetrandomseed{\RL at seed}
+\fi
+\def\RL at nextrand{%
+  \RL at random@a=\RL at random
+  \divide\RL at random@a 127773
+  \RL at random@b=\RL at random@a
+  \multiply\RL at random@a -2836
+  \multiply\RL at random@b -127773
+  \advance\RL at random\RL at random@b
+  \multiply\RL at random 16807
+  \advance\RL at random\RL at random@a
+  \ifnum\RL at random<0
+    \advance\RL at random 2147483647
+  \fi
+}
+\def\RLuniformdeviate#1#2{%
+  \RL at nextrand
+  \RL at random@a=\RL at random
+  \RL at random@b=\RL at random
+  \divide\RL at random@a \numexpr#1\relax
+  \RL at random@b \numexpr\RL at random@b - \RL at random@a * (#1)\relax
+  \expandafter\edef\csname #2\endcsname{\number\RL at random@b}%
+}%
+\newtoks\@ListOfList
+\def\@ifIsList#1{%
+  \expandafter\@ifIsList@\expandafter{#1}%
+}
+\def\@ifIsList@#1{%
+  \def\@@ifIsList##1#1\sep##2\@@ifIsList{%
+    \csname @\ifx\empty##2\empty second\else first\fi oftwo\endcsname
+  }%
+  \expandafter\@@ifIsList\the\@ListOfList#1\sep\@@ifIsList
+}
+\def\RL at lenof#1{\csname #1-len\endcsname}
+\newif\if at EmptyListFound
+\def\@ifIsListNotEmpty#1{%
+  \global\@EmptyListFoundfalse
+  \@ifIsList{#1}{%
+    \ifnum\RL at lenof{#1}=0
+      \global\@EmptyListFoundtrue
+      \expandafter\@secondoftwo
+    \else
+      \expandafter\@firstoftwo
+    \fi
+  }%
+  \@secondoftwo
+}
+\def\@NoListError#1{%
+  \if at EmptyListFound
+    \@EmptyListError{#1}%
+    \global\@EmptyListFoundfalse
+  \else
+    \PackageError{randomlist}%
+                 {List #1 doesn't exist}%
+                 {Maybe you mistyped the list name?}%
+  \fi
+}
+\def\@EmptyListError#1{%
+  \if at EmptyListFound
+  \PackageError{randomlist}%
+               {List #1 is empty}%
+               {Ask yourself why this list is empty.}%
+}
+\def\@OutOfRangeError#1#2{%
+  \PackageError{randomlist}%
+               {Index #2 is greater than last index of list #1}%
+               {There aren't enough elements in the list.}%
+}
+\long\def\RL at nameldef#1{%
+  \long\expandafter\def\csname #1\endcsname
+}
+\long\def\RL at nameledef#1{%
+  \long\expandafter\edef\csname #1\endcsname
+}
+\long\def\RL at namelgdef#1{%
+  \long\expandafter\gdef\csname #1\endcsname
+}
+\long\def\RL at namelxdef#1{%
+  \long\expandafter\xdef\csname #1\endcsname
+}
+\def\RL at let#1#2{%
+  \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
+}
+\long\def\RL at doafterfi#1\fi{\fi#1}
+\def\RLfor#1=#2to#3\do{%
+  \edef#1{\number\numexpr#2}%
+  \edef\RL at sgncomp{\ifnum#1<\numexpr#3\relax>+\else<-\fi}%
+  \expandafter\RLfor at i
+  \csname RLfor at ii@\string#1\expandafter\endcsname\expandafter
+  {\number\numexpr#3\expandafter}%
+  \RL at sgncomp
+  #1%
+}
+\long\def\RLfor at i#1#2#3#4#5#6{%
+  \def#1{%
+    \unless\ifnum#5#3#2\relax
+    \RL at doafterfi{%
+      #6%
+      \edef#5{\number\numexpr#5#41\relax}%
+      #1%
+    }%
+    \fi
+  }%
+  #1%
+}
+\def\NewList#1{%
+  \@ifIsList{#1}{%
+    \PackageError{randomlist}%
+                 {List #1 already exists}%
+                 {Use \string\ClearList.}%
+  }%
+  {%
+    \ifcsname #1\endcsname
+      \PackageError{randomlist}%
+                   {Command \csname#1\endcsname already exists}%
+                   {Creating list #1 defines a \csname#1\endcsname command.}%
+    \else
+      \RL at nameldef{#1-len}{0}%
+      \@ListOfList\expandafter{\the\@ListOfList#1\sep}%
+      \expandafter\def\csname #1\endcsname[##1]{%
+        \ifnum##1>\csname#1-len\endcsname
+          \relax
+        \else
+          \csname #1-##1\endcsname
+        \fi
+      }%
+    \fi
+  }%
+}
+\def\ClearList#1{%
+  \@ifIsList{#1}{%
+     \RL at nameldef{#1-len}{0}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\CopyList#1#2{%
+  \@ifIsList{#1}{%
+    \@ifIsList{#2}{%
+      \RL at let{#2-len}{#1-len}%
+      \ifnum\RL at lenof{#1}>0
+        \RLfor\RL at iter=0 to \RL at lenof{#1}-1 \do{%
+          \RL at let{#2-\RL at iter}{#1-\RL at iter}%
+        }%
+      \fi
+    }%
+    {\@NoListError{#2}}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\InsertList#1#2#3{%
+  \@ifIsList{#1}{%
+    \@ifIsList{#3}{%
+      \ifnum #2>\RL at lenof{#1}
+        \@OutOfRangeError{#1}{#2}%
+      \else
+        \ShiftList{#1}{#2}{\RL at lenof{#3}}%
+        \ifnum\RL at lenof{#3}>0
+          \RLfor\RL at iter=0 to \RL at lenof{#3}-1 \do{%
+            \RL at let{#1-\number\numexpr\RL at iter+#2}{#3-\RL at iter}%
+          }%
+        \fi
+      \fi
+    }%
+    {\@NoListError{#3}}%
+  }%
+  {\@NoListError{#1}}%
+}
+\newcount\RL at counti
+\newcount\RL at countii
+\newcount\RL at countiii
+\def\ShowList#1{%
+  \@ifIsList{#1}{%
+    \ifhmode\par\noindent\fi
+    \begingroup
+      \ifdefined\ttfamily\ttfamily\else\tt\fi
+      BEGIN\detokenize{{#1}}
+      (\ifcase\RL at lenof{#1}
+        empty list%
+      \or
+        1 element%
+      \else
+        \RL at lenof{#1} elements%
+      \fi)\par
+      \ifnum\RL at lenof{#1}>0
+        \parindent=1em
+        \RLfor\RL at iter=0 to \RL at lenof{#1}-1 \do {%
+          #1[\RL at iter] = \expandafter\RL at meaning\csname
+          #1-\RL at iter\endcsname
+          \par
+        }%
+      \fi
+      \noindent
+      END\detokenize{{#1}}\par
+    \endgroup
+  }%
+  {\@NoListError{#1}}%
+}
+\def\RL at meaning#1{\expandafter\RL at meaningi\meaning#1}
+\expandafter\def\expandafter\RL at meaningi\expandafter#\expandafter1\string>{}
+\def\CountList#1#2{%
+  \@ifIsList{#1}%
+  {\RL at nameledef{#2}{\RL at lenof{#1}}}%
+  {\@NoListError{#1}}%
+}
+\def\ShiftList#1#2#3{%
+  \@ifIsList{#1}%
+  {%
+    \unless\ifnum#3=0
+      \ifnum\numexpr#2<0
+        \PackageError{randomlist}%
+                     {Negative index number}%
+                     {Index must be equal or greater than 0}%
+      \else
+      \ifnum\numexpr#2>\RL at lenof{#1}\relax
+        \PackageError{randomlist}%
+                     {Index \number\numexpr #2\relax\space too big
+                       (<=\RL at lenof{#1})}%
+                     {Index must be equal or smaller than length of
+                       the list}%
+      \else
+      \ifnum\numexpr#3>0
+        \RLfor\RL at iter = \RL at lenof{#1} to #2 \do{%
+          \RL at let{#1-\number\numexpr\RL at iter+#3}{#1-\RL at iter}%
+        }%
+        \RLfor\RL at iter = #2 to #2 + #3 - 1 \do{%
+          \RL at nameldef{#1-\RL at iter}{}%
+        }%
+      \else
+        \ifnum-#3>\numexpr#2\relax
+          \PackageError{randomlist}%
+                       {Negative shift to big}%
+                       {When negative, shift must not be greater than index}%
+        \else
+          \RLfor\RL at iter=#2 to \RL at lenof{#1} \do{%
+            \RL at let{#1-\number\numexpr\RL at iter+#3}{#1-\RL at iter}%
+          }%
+        \fi
+      \fi
+      \RL at nameledef{#1-len}{\number\numexpr\RL at lenof{#1} + #3}%
+    \fi\fi\fi
+  }%
+  {\@NoListError{#1}}%
+}
+\long\def\InsertLastItem#1#2{%
+  \@ifIsList{#1}
+  {%
+    \RL at nameldef{#1-\RL at lenof{#1}}{#2}%
+    \RL at nameledef{#1-len}{\number\numexpr\RL at lenof{#1}+1}%
+  }
+  {\@NoListError{#1}}%
+}
+\long\def\InsertFirstItem#1#2{%
+  \InsertItem{#1}{0}{#2}%
+}
+\long\def\InsertItem#1#2#3{%
+  \@ifIsList{#1}%
+  {%
+    \ShiftList{#1}{#2}{1}%
+    \RL at nameldef{#1-#2}{#3}%
+  }%
+  {\@NoListError{#1}}%
+}
+\long\def\InsertRandomItem#1#2{%
+  \@ifIsList{#1}%
+  {%
+    \RLuniformdeviate{\RL at lenof{#1}+1}{RL at temp}%
+    \InsertItem{#1}{\RL at temp}{#2}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\ExtractFirstItem#1#2{%
+  \@ifIsList{#1}%
+  {%
+    \ExtractItem{#1}{0}{#2}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\ExtractLastItem#1#2{%
+  \@ifIsListNotEmpty{#1}%
+  {%
+    \RL at let{#2}{#1-\number\numexpr\RL at lenof{#1}-1}%
+    \RL at nameledef{#1-len}{\number\numexpr\RL at lenof{#1}-1}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\ExtractItem#1#2#3{%
+  \@ifIsListNotEmpty{#1}%
+  {%
+    \RL at let{#3}{#1-#2}%
+    \ShiftList{#1}{#2+1}{-1}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\ExtractRandomItem#1#2{%
+  \@ifIsListNotEmpty{#1}%
+  {%
+    \RLuniformdeviate{\RL at lenof{#1}}{RL at temp}%
+    \ExtractItem{#1}{\RL at temp}{#2}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\ExtractList#1#2#3#4{%
+  \@ifIsList{#1}{%
+    \@ifIsList{#4}{%
+      \ifnum#2<\RL at lenof{#1}%
+        \ifnum#3<\RL at lenof{#1}%
+          \ifnum#2>#3\relax
+            \RL at nameldef{#4-len}{0}%
+          \else
+            \RLfor\RL at iterextract=0 to #3 - #2 \do{%
+              \RL at let{#4-\RL at iterextract}{#1-#2}%
+              \ExtractItem{#1}{#2}{RL at temp}%
+            }%
+            \RL at nameledef{#4-len}{\number\numexpr #3 - #2 + 1}%
+          \fi
+        \else
+          \@OutOfRangeError{#1}{#3}%
+        \fi
+      \else
+        \@OutOfRangeError{#1}{#2}%
+      \fi
+    }%
+    {\@NoListError{#4}}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\GetFirstItem#1#2{%
+  \GetItem{#1}{0}{#2}%
+}
+\def\GetLastItem#1#2{%
+  \GetItem{#1}{\number\numexpr\RL at lenof{#1}-1}{#2}%
+}
+\def\GetItem#1#2#3{%
+  \@ifIsListNotEmpty{#1}
+  {%
+    \ifnum\numexpr\RL at lenof{#1}-1-#2<0
+      \@OutOfRangeError{#1}{#2}%
+    \else
+      \RL at let{#3}{#1-#2}%
+    \fi
+  }
+  {\@NoListError{#1}}%
+}
+\def\GetRandomItem#1#2{%
+  \@ifIsListNotEmpty{#1}%
+  {%
+    \RLuniformdeviate{\RL at lenof{#1}}{RL at temp}%
+    \GetItem{#1}{\RL at temp}{#2}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\GetList#1#2#3#4{%
+  \@ifIsList{#1}{%
+    \@ifIsList{#4}{%
+      \ifnum#2<\RL at lenof{#1}%
+        \ifnum#3<\RL at lenof{#1}%
+          \ifnum#2>#3\relax
+            \RL at nameldef{#4-len}{0}%
+          \else
+            \RLfor\RL at iter=#2 to #3 \do{%
+              \RL at let{#4-\number\numexpr \RL at iter - #2}{#1-\RL at iter}%
+            }%
+            \RL at nameledef{#4-len}{\number\numexpr #3 - #2 + 1}%
+          \fi
+        \else
+          \@OutOfRangeError{#1}{#3}%
+        \fi
+      \else
+        \@OutOfRangeError{#1}{#2}%
+      \fi
+    }%
+    {\@NoListError{#4}}%
+  }%
+  {\@NoListError{#1}}%
+}
+\long\def\SetFirstItem#1#2{%
+  \SetItem{#1}{0}{#2}%
+}
+\long\def\SetLastItem#1#2{%
+  \SetItem{#1}{\number\numexpr\RL at lenof{#1}-1}{#2}%
+}
+\long\def\SetItem#1#2#3{%
+  \@ifIsListNotEmpty{#1}%
+  {%
+    \ifnum\numexpr\RL at lenof{#1}-1-#2<0
+      \@OutOfRangeError{#1}{#2}%
+    \else
+      \RL at nameldef{#1-#2}{#3}%
+    \fi
+  }%
+  {\@NoListError{#1}}%%
+}
+\long\def\SetRandomItem#1#2{%
+  \@ifIsListNotEmpty{#1}%
+  {%
+    \RLuniformdeviate{\RL at lenof{#1}}{RL at temp}%
+    \SetItem{#1}{\RL at temp}{#2}%
+  }%
+  {\@NoListError{#1}}%
+}
+\def\SetList#1#2{%
+  \@ifIsList{#1}%
+  {%
+    \ClearList{#1}%
+    \def\RL at name{#1}%
+    \RL at setlist#2,\@nil,%
+  }%
+  {\@NoListError{#1}}%
+}
+\long\def\RL at setlist#1,{%
+  \def\RL at arg{#1}%
+  \unless\ifx\RL at arg\@nnil
+    \InsertLastItem{\RL at name}{#1}%
+    \expandafter\RL at setlist
+  \fi
+}
+\long\def\ForEachFirstItem#1#2#3{%
+  \begingroup
+    \RLfor \RL at var = 0 to \RL at lenof{#1}-1 \do{%
+      \ExtractFirstItem{#1}{#2}%
+      #3%
+    }%
+  \endgroup
+}
+\long\def\ForEachLastItem#1#2#3{%
+  \begingroup
+    \RLfor \RL at var = 0 to \RL at lenof{#1}-1 \do{%
+      \ExtractLastItem{#1}{#2}%
+      #3%
+    }%
+  \endgroup
+}
+\long\def\ForEachRandomItem#1#2#3{%
+  \begingroup
+    \RLfor \RL at var = 0 to \RL at lenof{#1}-1 \do{%
+      \ExtractRandomItem{#1}{#2}%
+      #3%
+    }%
+  \endgroup
+}
+\long\def\ReadFieldItem#1#2#3{%
+  \RL at counti #2\relax
+  \expandafter\RL at ReadFieldItem#1\@nil
+  \expandafter\let\csname#3\endcsname\RL at temp
+}
+\long\def\RL at ReadFieldItem{%
+  \@ifnextchar\bgroup{\RL@@ReadFieldItem}{\RL@@ReadFieldItemError}%
+}
+\long\def\RL@@ReadFieldItem#1{%
+  \ifnum\RL at counti=\z@
+    \def\RL at temp{#1}%
+    \expandafter\RL@@ReadFieldItemEnd
+  \else
+    \advance\RL at counti \m at ne
+    \expandafter\RL at ReadFieldItem
+  \fi
+}
+\long\def\RL@@ReadFieldItemEnd#1\@nil{}
+\long\def\RL@@ReadFieldItemError#1\@nil{%
+  \PackageError{randomlist}%
+               {There aren't enough fields in the record}%
+               {Pay attention that field number starts from zero.}%
+}
+\def\RL at SetDelimiters#1#2#3\@nil{%
+  \def\RL at markstrings##1{%
+    \let\RL at accu\empty
+    \expandafter\RL at markstrings@i##1#2\@nil#2%
+    \let##1=\RL at accu
+  }%
+  \def\RL at markstrings@i##1#2##2#2{%
+    \RL at addtomacro\RL at accu{##1}%
+    \def\RL at current{##2}%
+    \unless\ifx\@nnil\RL at current
+      \RL at addtomacro\RL at accu{\RL at string{##2}}%
+      \expandafter\RL at markstrings@i
+    \fi
+  }%
+  \def\RL at unmarkstrings##1{%
+    \let\RL at accuA\empty
+    \expandafter\RL at unmarkstrings@i##1\RL at string\@nil
+    \let##1=\RL at accuA
+  }%
+  \def\RL at unmarkstrings@i##1\RL at string##2{%
+    \RL at addtomacro\RL at accuA{##1}%
+    \def\RL at current{##2}%
+    \unless\ifx\@nnil\RL at current
+      \RL at ifempty{##2}%
+        {\RL at addtomacro\RL at accuA{#2}}%
+        {\RL at addtomacro\RL at accuA{##2}}%
+      \expandafter\RL at unmarkstrings@i
+    \fi
+  }%
+  \def\RL at parsefields##1{%
+    \let\RL at accu\empty
+    \expandafter\RL at parsefields@i##1#1\@nil#1%
+    \let##1=\RL at accu
+  }%
+  \def\RL at parsefields@i##1#1{%
+    \def\RL at current{##1}%
+    \unless\ifx\@nnil\RL at current
+      \RL at unmarkstrings\RL at current
+      \RL at removefirstspaces\RL at current
+      \RL at removelastspaces \RL at current
+      \expandafter\RL at addtomacro\expandafter\RL at accu\expandafter
+        {\expandafter{\RL at current}}%
+      \expandafter\RL at parsefields@i
+    \fi
+  }%
+}
+\newread\RL at hdle
+\def\@ppar{\par}
+\def\ReadFileList{\@ifnextchar[{\@ReadFileList}{\@ReadFileList[,"]}}
+\def\@ReadFileList[#1]#2#3{%
+  \openin \RL at hdle = #3
+  \ifeof\RL at hdle
+    \PackageError{randomlist}%
+      {File #3 doesn't exist}%
+      {Verify its name, its extension, its location, its permissions.}%
+  \else
+    \RL at ifempty{#1}%
+      {%
+        \PackageError{randomlist}
+          {Optional argument empty: [,"] inserted}
+          {Do not leave an optional argument empty}%
+          \RL at SetDelimiters,"\@nil
+      }
+      {\RL at SetDelimiters#1"\@nil}%
+    \loop
+      \read\RL at hdle to \RL at buffer
+      \unless\ifx\RL at buffer\@ppar
+        \RL at markstrings\RL at buffer
+        \RL at parsefields\RL at buffer
+        \def\RL at accuA{\InsertLastItem{#2}}%
+        \expandafter\RL at accuA\expandafter{\RL at buffer}%
+      \fi
+      \ifeof\RL at hdle\else
+    \repeat
+  \fi
+}
+\def\RL at ifspacefirst#1{%
+  \RL at ifspacefirst@i#1A \@nil
+}
+\expandafter\def\expandafter\RL at ifspacefirst@i
+  \expandafter#\expandafter1\space#2\@nil{%
+    \RL at ifempty{#1}%
+}
+\def\RL at removefirstspaces#1{%
+  \expandafter\RL at ifspacefirst\expandafter{#1}
+    {\expandafter\removefistspace at i#1\@nil#1}
+    {}%
+}
+\expandafter\def\expandafter\removefistspace at i\space#1\@nil#2{%
+  \def#2{#1}%
+  \RL at removefirstspaces#2%
+}
+\edef\RL at restorecatcodezero{\catcode0=\number\catcode0\relax}
+\catcode0=12
+\def\RL at removelastspaces#1{%
+  \expandafter\def\expandafter#1\expandafter{%
+    \romannumeral\expandafter
+    \RL at removelastspaces@i\expandafter\relax#1^^00 ^^00\@nil
+  }%
+}
+\def\RL at removelastspaces@i#1 ^^00{\RL at removelastspaces@ii#1^^00}
+\def\RL at removelastspaces@ii#1^^00#2\@nil{%
+  \RL at ifspacefirst{#2}
+    {\RL at removelastspaces@i#1^^00 ^^00\@nil}
+    {\expandafter\z@\@gobble#1}%
+}
+\RL at restorecatcodezero
+\catcode`\@=\RLAtCatcode\relax
+\endinput
+%%
+%% End of file `randomlist.tex'.


Property changes on: trunk/Master/texmf-dist/tex/generic/randomlist/randomlist.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2016-07-19 17:39:12 UTC (rev 41726)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2016-07-19 21:42:13 UTC (rev 41727)
@@ -1712,6 +1712,7 @@
  'punk',        'NULL', # have separate punk-latex
  'qobitree',    'qobitree.tex',
  'r_und_s',     '\.tex|\.sty',
+ 'randomlist',	'randomlist\.tex|' . $standardtex,
  'realcalc',    'realcalc.tex',
  'resumemac',   'resumemac.tex',
  'revtex',      '\.sty|\.cls|\.rtx',



More information about the tex-live-commits mailing list