diff options
author | Karl Berry <karl@freefriends.org> | 2012-07-23 17:15:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-07-23 17:15:15 +0000 |
commit | dadf86ec2d90ed4529037604a8dcea9f660045b8 (patch) | |
tree | 819b3708bda1e2a087ebd5fb0f0f55ebe0b4d157 /Master/texmf-dist/source/latex/l3packages/l3keys2e | |
parent | 134349701bddf7cbbacf6030c6b9f9838aff96fa (diff) |
l3packages 3990 (17jul12)
git-svn-id: svn://tug.org/texlive/trunk@27109 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3packages/l3keys2e')
-rw-r--r-- | Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx | 92 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.ins | 4 |
2 files changed, 50 insertions, 46 deletions
diff --git a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx index 6abaceee479..564a45a7ce5 100644 --- a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx +++ b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx @@ -37,20 +37,20 @@ %<*driver|package> % The version of expl3 required is tested as early as possible, as % some really old versions do not define \ProvidesExplPackage. -\RequirePackage{expl3}[2012/04/23] -%<package>\@ifpackagelater{expl3}{2012/04/23} +\RequirePackage{expl3}[2012/07/16] +%<package>\@ifpackagelater{expl3}{2012/07/16} %<package> {} -%<package> { +%<package> {% %<package> \PackageError{l3keys2e}{Support package l3kernel too old.} -%<package> { +%<package> {% %<package> Please install an up to date version of l3kernel %<package> using your TeX package manager or from CTAN.\\ \\ -%<package> Loading l3keys2e will abort! -%<package> } +%<package> Loading l3keys2e will abort!% +%<package> }% %<package> \endinput %<package> } \RequirePackage{xparse} -\GetIdInfo$Id: l3keys2e.dtx 3570 2012-04-23 13:24:55Z joseph $ +\GetIdInfo$Id: l3keys2e.dtx 3990 2012-07-16 07:46:03Z joseph $ {LaTeX2e option processing using LaTeX3 keys} %</driver|package> %<*driver> @@ -143,41 +143,45 @@ % \begin{macrocode} %<*package> % \end{macrocode} +% +% \begin{macrocode} +%<@@=keys> +% \end{macrocode} % % \begin{macrocode} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} % \end{macrocode} % -% \begin{macro}{\keys_latexe_options_clist} +% \begin{macro}{\@@_latexe_options_clist} % A single list is used for all options, into which they are collected % before processing. % \begin{macrocode} -\clist_new:N \keys_latexe_options_clist +\clist_new:N \@@_latexe_options_clist % \end{macrocode} % \end{macro} % -% \begin{macro}{\_l_keys_process_class_bool} +% \begin{macro}{\l_@@_process_class_bool} % A flag to indicate that class options should be processed for % packages. % \begin{macrocode} -\bool_new:N \_l_keys_process_class_bool +\bool_new:N \l_@@_process_class_bool % \end{macrocode} % \end{macro} % -% \begin{macro}{\keys_latexe_options:n} +% \begin{macro}{\@@_latexe_options:n} % The main function calls functions to collect up the global and local -% options into \cs{keys_latexe_options_clist} before calling the +% options into \cs{@@_latexe_options_clist} before calling the % underlying functions to actually do the processing. So that a suitable % message is produced if the option is unknown, the special % \texttt{unknown} key is set if it does not already exist for the % current module. % \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options:n #1 +\cs_new_protected:Npn \@@_latexe_options:n #1 { - \clist_clear:N \keys_latexe_options_clist - \keys_latexe_options_global:n {#1} - \keys_latexe_options_local: + \clist_clear:N \@@_latexe_options_clist + \@@_latexe_options_global:n {#1} + \@@_latexe_options_local: \keys_if_exist:nnF {#1} { unknown } { \keys_define:nn {#1} @@ -189,34 +193,34 @@ } } } - \keys_set:nV {#1} \keys_latexe_options_clist + \keys_set:nV {#1} \@@_latexe_options_clist \AtEndOfPackage { \cs_set_eq:NN \@unprocessedoptions \scan_stop: } } % \end{macrocode} % \end{macro} % -% \begin{macro}{\keys_latexe_options_global:n} +% \begin{macro}{\@@_latexe_options_global:n} % Global (class) options are handled differently for \LaTeXe{} packages % and classes. Hence this function is essentially a check on the current % file type. The initial test is needed as \LaTeXe{} allows variables to % be equal to \cs{scan_stop:}, which is forbidden in \LaTeX3 code. % \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options_global:n #1 +\cs_new_protected:Npn \@@_latexe_options_global:n #1 { \cs_if_eq:NNF \@classoptionslist \scan_stop: { \cs_if_eq:NNTF \@currext \@clsextension - { \keys_latexe_options_class:n {#1} } + { \@@_latexe_options_class:n {#1} } { - \bool_if:NT \_l_keys_process_class_bool - { \keys_latexe_options_package:n {#1} } + \bool_if:NT \l_@@_process_class_bool + { \@@_latexe_options_package:n {#1} } } } } % \end{macrocode} % \end{macro} % -% \begin{macro}{\keys_latexe_options_class:n} +% \begin{macro}{\@@_latexe_options_class:n} % For classes, each option (stripped of any content after |=|) % is checked for existence as a key. If found, the option is added to % the combined list for processing. On the other hand, unused options @@ -224,15 +228,15 @@ % there is a simple check to see if there is an |unknown| key. If there % is, then \emph{everything} will match and the mapping can be skipped. % \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options_class:n #1 +\cs_new_protected:Npn \@@_latexe_options_class:n #1 { \keys_if_exist:nnTF {#1} { unknown } - { \clist_put_right:No \keys_latexe_options_clist \@classoptionslist } + { \clist_put_right:No \@@_latexe_options_clist \@classoptionslist } { \clist_map_inline:Nn \@classoptionslist { - \keys_if_exist:nnTF {#1} { \keys_latexe_remove_equals:n {##1} } - { \clist_put_right:Nn \keys_latexe_options_clist {##1} } + \keys_if_exist:nnTF {#1} { \@@_latexe_remove_equals:n {##1} } + { \clist_put_right:Nn \@@_latexe_options_clist {##1} } { \clist_put_right:Nn \@unusedoptionlist {##1} } } } @@ -240,19 +244,19 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\keys_latexe_options_package:n} +% \begin{macro}{\@@_latexe_options_package:n} % For global options when processing a package, the tasks are slightly % different from those for a class. The check is the same, but here % there is nothing to do if the option is not applicable. Each valid % option also needs to be removed from \cs{@unusedoptionlist}. % \begin{macrocode} -\cs_new_protected:Npn \keys_latexe_options_package:n #1 +\cs_new_protected:Npn \@@_latexe_options_package:n #1 { \clist_map_inline:Nn \@classoptionslist { - \keys_if_exist:nnT {#1} { \keys_latexe_remove_equals:n {##1} } + \keys_if_exist:nnT {#1} { \@@_latexe_remove_equals:n {##1} } { - \clist_put_right:Nn \keys_latexe_options_clist {##1} + \clist_put_right:Nn \@@_latexe_options_clist {##1} \clist_remove_all:Nn \@unusedoptionlist {##1} } } @@ -260,18 +264,18 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\keys_latexe_options_local:} +% \begin{macro}{\@@_latexe_options_local:} % If local options are found, the are added to the processing list. % \LaTeXe{} stores options for each file in a macro which may or may not % exist, hence the need to use \cs{cs_if_exist:c}. % \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_latexe_options_local: +\cs_new_protected_nopar:Npn \@@_latexe_options_local: { \cs_if_eq:NNF \@currext \@clsextension { \cs_if_exist:cT { opt@ \@currname . \@currext } { - \exp_args:NNc \clist_put_right:NV \keys_latexe_options_clist + \exp_args:NNc \clist_put_right:NV \@@_latexe_options_clist { opt@ \@currname . \@currext } } } @@ -279,15 +283,15 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\keys_latexe_remove_equals:n} -% \begin{macro}{\keys_latexe_remove_equals:w} +% \begin{macro}{\@@_latexe_remove_equals:n} +% \begin{macro}{\@@_latexe_remove_equals:w} % As the name suggests, this is a simple function to remove an equals % sign from the input. This is all wrapped up in an \texttt{n} function % so that there will always be a sign available. % \begin{macrocode} -\cs_new:Npn \keys_latexe_remove_equals:n #1 - { \keys_latexe_remove_equals:w #1 = \q_stop } -\cs_new:Npn \keys_latexe_remove_equals:w #1 = #2 \q_stop {#1} +\cs_new:Npn \@@_latexe_remove_equals:n #1 + { \@@_latexe_remove_equals:w #1 = \q_stop } +\cs_new:Npn \@@_latexe_remove_equals:w #1 = #2 \q_stop {#1} % \end{macrocode} % \end{macro} % \end{macro} @@ -300,13 +304,13 @@ % \begin{macrocode} \cs_new_protected_nopar:Npn \ProcessKeysOptions #1 { - \bool_set_true:N \_l_keys_process_class_bool - \keys_latexe_options:n {#1} + \bool_set_true:N \l_@@_process_class_bool + \@@_latexe_options:n {#1} } \cs_new_protected_nopar:Npn \ProcessKeysPackageOptions #1 { - \bool_set_false:N \_l_keys_process_class_bool - \keys_latexe_options:n {#1} + \bool_set_false:N \l_@@_process_class_bool + \@@_latexe_options:n {#1} } \@onlypreamble \ProcessKeysOptions \@onlypreamble \ProcessKeysPackageOptions diff --git a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.ins b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.ins index fa9b799b037..bf2f1b09d88 100644 --- a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.ins +++ b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.ins @@ -1,6 +1,6 @@ \iffalse meta-comment -File xparse.ins Copyright (C) 2009,2011 The LaTeX3 Project +File xparse.ins Copyright (C) 2009,2011,2012 The LaTeX3 Project It may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either version 1.3c of this @@ -16,7 +16,7 @@ The released version of this bundle is available from CTAN. \fi -\input docstrip.tex +\input l3docstrip.tex \askforoverwritefalse \preamble |