diff options
author | Karl Berry <karl@freefriends.org> | 2021-11-12 23:04:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-11-12 23:04:14 +0000 |
commit | 0ff2ba12c9b350c0546c2256e398168d325d234a (patch) | |
tree | ad8b6639a8ea08db1ae7b1092f84aab7e8ad43ee /Master/texmf-dist/source/latex/l3packages/xparse | |
parent | 933d3ad47a7b54da768a6a1f8a2fe702bcfa9b2e (diff) |
l3 (12nov21)
git-svn-id: svn://tug.org/texlive/trunk@61040 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3packages/xparse')
-rw-r--r-- | Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx index fd4b615e150..f601bd9c5f2 100644 --- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx +++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx @@ -67,7 +67,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -1064,7 +1064,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xparse}{2021-08-27}{} +\ProvidesExplPackage{xparse}{2021-11-12}{} {L3 Experimental document command parser} % \end{macrocode} % @@ -1249,6 +1249,39 @@ % \end{macrocode} % \end{macro} % +% \subsection{Copying a command and its internal structure} +% +% The apparatus for copying commands is almost entirely in |ltcmd.dtx|, +% preloaded in the \LaTeXe{} kernel. The missing parts, regarding +% copying the deprecated argument types |G|, |l| and |u| boil down to +% copying the expandable grabber for |u|. +% +% \begin{macro}{\@@_copy_grabber_u:w} +% An expandable |u|-type uses a dedicated grabber just like a +% |D|-type, except that both its delimiter tokens are omitted, so to +% copy that we just copy a |D|-type and leave the last two arguments +% empty: +% \begin{macrocode} +\cs_new_protected:Npn \@@_copy_grabber_u:w #1 #2 #3 + { \@@_copy_grabber_D:w {#1} {#2} {#3} { } { } } +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Showing the definition of a command} +% +% \begin{macro}{\c_@@_show_type_u_tl,\c_@@_show_type_G_tl} +% Same as for copying, only small bits are missing here. Namely, two +% token lists that tell the \pkg{ltcmd} mechanism how to deal with the +% argument types defined here. Both |G| and |u| are classified +% as~|3|: commands that take a default value. That's not really true +% for~|u|, but it's a close enough approximation to get the output we +% want. +% \begin{macrocode} +\tl_const:Nn \c_@@_show_type_u_tl { 3 } +\tl_const:Nn \c_@@_show_type_G_tl { 3 } +% \end{macrocode} +% \end{macro} +% % \subsection{Grabbing arguments} % % \begin{macro}{\@@_grab_G:w} |