diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3prg.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3prg.dtx | 204 |
1 files changed, 1 insertions, 203 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx index 231c324274a..60e96a8351d 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx @@ -35,7 +35,7 @@ % %<*driver|package> \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3prg.dtx 4482 2013-04-24 21:05:12Z joseph $ +\GetIdInfo$Id: l3prg.dtx 4581 2013-07-28 08:38:50Z joseph $ {L3 Control structures} %</driver|package> %<*driver> @@ -1645,208 +1645,6 @@ % \end{macro} % \end{macro} % -% \subsection{Deprecated functions} -% -% These were deprecated on 2012-02-08, and will be removed entirely by -% 2012-05-31. -% -% \begin{macro}[aux]{\prg_define_quicksort:nnn} -% |#1| is the name, |#2| and |#3| are the tokens enclosing the -% argument. For the somewhat strange \meta{clist} type which doesn't -% enclose the items but uses a separator we define it by hand -% afterwards. When doing the first pass, the algorithm wraps all -% elements in braces and then uses a generic quicksort which works -% on token lists. -% -% As an example -% \begin{quote} -% |\prg_define_quicksort:nnn{seq}{\seq_elt:w}{\seq_elt_end:w}| -% \end{quote} -% defines the user function |\seq_quicksort:n| and furthermore -% expects to use the two functions |\seq_quicksort_compare:nnTF| -% which compares the items and |\seq_quicksort_function:n| which is -% placed before each sorted item. It is up to the programmer to -% define these functions when needed. For the |seq| type a sequence -% is a token list variable, so one additionally has to define -% \begin{quote} -% |\cs_set_nopar:Npn \seq_quicksort:N{\exp_args:No\seq_quicksort:n}| -% \end{quote} -% -% -% For details on the implementation see \enquote{Sorting in \TeX{}'s Mouth} -% by Bernd Raichle. Firstly we define the function for parsing the -% initial list and then the braced list afterwards. -% \begin{macrocode} -%<*deprecated> -\cs_new_protected:Npn \prg_define_quicksort:nnn #1#2#3 { - \cs_set:cpx{#1_quicksort:n}##1{ - \exp_not:c{#1_quicksort_start_partition:w} ##1 - \exp_not:n{#2\q_nil#3\q_stop} - } - \cs_set:cpx{#1_quicksort_braced:n}##1{ - \exp_not:c{#1_quicksort_start_partition_braced:n} ##1 - \exp_not:N\q_nil\exp_not:N\q_stop - } - \cs_set:cpx {#1_quicksort_start_partition:w} #2 ##1 #3{ - \exp_not:N \quark_if_nil:nT {##1}\exp_not:N \use_none_delimit_by_q_stop:w - \exp_not:c{#1_quicksort_do_partition_i:nnnw} {##1}{}{} - } - \cs_set:cpx {#1_quicksort_start_partition_braced:n} ##1 { - \exp_not:N \quark_if_nil:nT {##1}\exp_not:N \use_none_delimit_by_q_stop:w - \exp_not:c{#1_quicksort_do_partition_i_braced:nnnn} {##1}{}{} - } -%</deprecated> -% \end{macrocode} -% Now for doing the partitions. -% \begin{macrocode} -%<*deprecated> - \cs_set:cpx {#1_quicksort_do_partition_i:nnnw} ##1##2##3 #2 ##4 #3 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##1}{##4} - \exp_not:c{#1_quicksort_partition_greater_ii:nnnn} - \exp_not:c{#1_quicksort_partition_less_ii:nnnn} - } - {##1}{##2}{##3}{##4} - } - \cs_set:cpx {#1_quicksort_do_partition_i_braced:nnnn} ##1##2##3##4 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##1}{##4} - \exp_not:c{#1_quicksort_partition_greater_ii_braced:nnnn} - \exp_not:c{#1_quicksort_partition_less_ii_braced:nnnn} - } - {##1}{##2}{##3}{##4} - } - \cs_set:cpx {#1_quicksort_do_partition_ii:nnnw} ##1##2##3 #2 ##4 #3 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##4}{##1} - \exp_not:c{#1_quicksort_partition_less_i:nnnn} - \exp_not:c{#1_quicksort_partition_greater_i:nnnn} - } - {##1}{##2}{##3}{##4} - } - \cs_set:cpx {#1_quicksort_do_partition_ii_braced:nnnn} ##1##2##3##4 { - \exp_not:N \quark_if_nil:nTF {##4} \exp_not:c {#1_do_quicksort_braced:nnnnw} - { - \exp_not:c{#1_quicksort_compare:nnTF}{##4}{##1} - \exp_not:c{#1_quicksort_partition_less_i_braced:nnnn} - \exp_not:c{#1_quicksort_partition_greater_i_braced:nnnn} - } - {##1}{##2}{##3}{##4} - } -%</deprecated> -% \end{macrocode} -% This part of the code handles the two branches in each -% sorting. Again we will also have to do it braced. -% \begin{macrocode} -%<*deprecated> - \cs_set:cpx {#1_quicksort_partition_less_i:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i:nnnw}{##1}{##2}{{##4}##3}} - \cs_set:cpx {#1_quicksort_partition_less_ii:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii:nnnw}{##1}{##2}{##3{##4}}} - \cs_set:cpx {#1_quicksort_partition_greater_i:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i:nnnw}{##1}{{##4}##2}{##3}} - \cs_set:cpx {#1_quicksort_partition_greater_ii:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii:nnnw}{##1}{##2{##4}}{##3}} - \cs_set:cpx {#1_quicksort_partition_less_i_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i_braced:nnnn}{##1}{##2}{{##4}##3}} - \cs_set:cpx {#1_quicksort_partition_less_ii_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii_braced:nnnn}{##1}{##2}{##3{##4}}} - \cs_set:cpx {#1_quicksort_partition_greater_i_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_i_braced:nnnn}{##1}{{##4}##2}{##3}} - \cs_set:cpx {#1_quicksort_partition_greater_ii_braced:nnnn} ##1##2##3##4{ - \exp_not:c{#1_quicksort_do_partition_ii_braced:nnnn}{##1}{##2{##4}}{##3}} -%</deprecated> -% \end{macrocode} -% Finally, the big kahuna! This is where the sub-lists are sorted. -% \begin{macrocode} -%<*deprecated> - \cs_set:cpx {#1_do_quicksort_braced:nnnnw} ##1##2##3##4\q_stop { - \exp_not:c{#1_quicksort_braced:n}{##2} - \exp_not:c{#1_quicksort_function:n}{##1} - \exp_not:c{#1_quicksort_braced:n}{##3} - } -} -%</deprecated> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\prg_quicksort:n} -% A simple version. Sorts a list of tokens, uses the function -% |\prg_quicksort_compare:nnTF| to compare items, and places the -% function |\prg_quicksort_function:n| in front of each of them. -% \begin{macrocode} -%<*deprecated> -\prg_define_quicksort:nnn {prg}{}{} -%</deprecated> -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\prg_quicksort_function:n} -% \begin{macro}{\prg_quicksort_compare:nnTF} -% \begin{macrocode} -%<*deprecated> -\cs_set:Npn \prg_quicksort_function:n {\ERROR} -\cs_set:Npn \prg_quicksort_compare:nnTF {\ERROR} -%</deprecated> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% These were deprecated on 2011-05-27 and will be removed entirely by -% 2011-08-31. -% -% \begin{macro}{\prg_new_map_functions:Nn} -% \begin{macro}{\prg_set_map_functions:Nn} -% As we have restructured the structured variables, these are no -% longer needed. -% \begin{macrocode} -%<*deprecated> -\cs_new_protected:Npn \prg_new_map_functions:Nn #1#2 { \deprecated } -\cs_new_protected:Npn \prg_set_map_functions:Nn #1#2 { \deprecated } -%</deprecated> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% Deprecated 2012-06-03 for removal after 2012-12-31. -% -% \begin{macro}[EXP] -% { -% \prg_case_int:nnn, \prg_case_str:nnn, \prg_case_str:onn, -% \prg_case_str:xxn, \prg_case_tl:Nnn, \prg_case_tl:cnn -% } -% Moved to more sensible modules. -% \begin{macrocode} -%<*deprecated> -\cs_new_eq:NN \prg_case_int:nnn \int_case:nnn -\cs_new_eq:NN \prg_case_str:nnn \str_case:nnn -\cs_new_eq:NN \prg_case_str:onn \str_case:onn -\cs_new_eq:NN \prg_case_str:xxn \str_case_x:nnn -\cs_new_eq:NN \prg_case_tl:Nnn \tl_case:Nnn -\cs_new_eq:NN \prg_case_tl:cnn \tl_case:cnn -%</deprecated> -% \end{macrocode} -% \end{macro} -% -% Deprecated 2012-06-04 for removal after 2012-12-31. -% -% \begin{macro} -% { -% \prg_stepwise_function:nnnN, \prg_stepwise_inline:nnnn, -% \prg_stepwise_variable:nnnNn -% } -% \begin{macrocode} -%<*deprecated> -\cs_new_eq:NN \prg_stepwise_function:nnnN \int_step_function:nnnN -\cs_new_eq:NN \prg_stepwise_inline:nnnn \int_step_inline:nnnn -\cs_new_eq:NN \prg_stepwise_variable:nnnNn \int_step_variable:nnnNn -%</deprecated> -% \end{macrocode} -% \end{macro} -% % \begin{macrocode} %</initex|package> % \end{macrocode} |