summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3names.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx629
1 files changed, 629 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
new file mode 100644
index 00000000000..d8a33196962
--- /dev/null
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -0,0 +1,629 @@
+% \iffalse meta-comment
+%
+%% File: l3names.dtx Copyright (C) 1990-2011 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
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the "expl3 bundle" (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% The released version of this bundle is available from CTAN.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% The development version of the bundle can be found at
+%%
+%% http://www.latex-project.org/svnroot/experimental/trunk/
+%%
+%% for those people who are interested.
+%%
+%%%%%%%%%%%
+%% NOTE: %%
+%%%%%%%%%%%
+%%
+%% Snapshots taken from the repository represent work in progress and may
+%% not work or may contain conflicting material! We therefore ask
+%% people _not_ to put them into distributions, archives, etc. without
+%% prior consultation with the LaTeX3 Project.
+%%
+%% -----------------------------------------------------------------------
+%
+%<*package>
+\RequirePackage{l3bootstrap}
+\GetIdInfo$Id: l3names.dtx 2478 2011-06-19 21:34:23Z joseph $
+ {L3 Experimental namespace for primitives}
+%</package>
+%<*driver>
+\documentclass[full]{l3doc}
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{^^A
+% The \pkg{l3names} package\\ Namespace for primitives^^A
+% \thanks{This file describes v\ExplFileVersion,
+% last revised \ExplFileDate.}^^A
+% }
+%
+% \author{^^A
+% The \LaTeX3 Project\thanks
+% {^^A
+% E-mail:
+% \href{mailto:latex-team@latex-project.org}
+% {latex-team@latex-project.org}^^A
+% }^^A
+% }
+%
+% \date{Released \ExplFileDate}
+%
+% \maketitle
+%
+% \begin{documentation}
+%
+% \section{Setting up the \LaTeX3 programming language}
+%
+% This module is at the core of the \LaTeX3 programming language. It
+% performs the following tasks:
+% \begin{itemize}
+% \item defines new names for all \TeX{} primitives;
+% \item switches to the category code regime for programming;
+% \item provides support settings for building the code as a \TeX{} format.
+% \end{itemize}
+%
+% This module is entirely dedicated to primitives, which should not
+% be used directly within \LaTeX3 code (outside of \enquote{kernel-level}
+% code). As such, the primitives are not documented here:
+% \emph{The \TeX{}book}, \emph{\TeX{} by Topic} and the manuals for
+% \pdfTeX{}, \XeTeX{} and \LuaTeX{} should be consulted for details of
+% the primitives. These are named based on the engine which first introduced
+% them:
+% \begin{itemize}
+% \item[\cs{tex_\ldots}] Introduced by \TeX{} itself;
+% \item[\cs{etex_\ldots}] Introduced by the \eTeX{} extensions;
+% \item[\cs{pdftex_\ldots}] Introduced by \pdfTeX{};
+% \item[\cs{xetex_\ldots}] Introduced by \XeTeX{};
+% \item[\cs{luatex_\ldots}] Introduced by \LuaTeX{}.
+% \end{itemize}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{\pkg{l3names} implementation}
+%
+% \begin{macrocode}
+%<*initex|package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*package>
+\ProvidesExplPackage
+ {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+%</package>
+% \end{macrocode}
+%
+% The code here simply renames all of the primitives to new, internal,
+% names. In format mode, it also deletes all of the existing names (although
+% some od come back later).
+%
+% \begin{macro}{\tex_undefined:D}
+% This function does not exist at all, but is the name used by the
+% plain \TeX{} format for an undefined function. So it should
+% be marked here as \enquote{taken}.
+% \end{macro}
+%
+% The \cs{let} primitive is renamed by hand first as it is essential for
+% the entire process to follow. This also uses \cs{global}, as that way
+% we avoid leaving an unneeded csname in the hash table.
+% \begin{macrocode}
+\let \tex_global:D \global
+\let \tex_let:D \let
+% \end{macrocode}
+%
+% Everything is inside a (rather long) group, which kees \cs{name_primitve:NN}
+% trapped.
+% \begin{macrocode}
+\begingroup
+% \end{macrocode}
+%
+% \begin{macro}[aux]{\name_primitive:NN}
+% A temporary function to actually do the renaming. This also allows the
+% original names to be removed in format mode.
+% \begin{macrocode}
+ \long \def \name_primitive:NN #1#2
+ {
+ \tex_global:D \tex_let:D #2 #1
+%<*initex>
+ \tex_global:D \tex_let:D #1 \tex_undefined:D
+%</initex>
+ }
+% \end{macrocode}
+%\end{macro}
+%
+% In the current incarnation of this package, all \TeX{} primitives
+% are given a new name of the form |\tex_|\emph{oldname}|:D|.
+% But first three special cases which have symbolic original names.
+% These are given modified new names, so that they may be entered
+% without catcode tricks.
+% \begin{macrocode}
+ \name_primitive:NN \ \tex_space:D
+ \name_primitive:NN \/ \tex_italiccor:D
+ \name_primitive:NN \- \tex_hyphen:D
+% \end{macrocode}
+%
+% Now all the other primitives.
+% \begin{macrocode}
+ \name_primitive:NN \let \tex_let:D
+ \name_primitive:NN \def \tex_def:D
+ \name_primitive:NN \edef \tex_edef:D
+ \name_primitive:NN \gdef \tex_gdef:D
+ \name_primitive:NN \xdef \tex_xdef:D
+ \name_primitive:NN \chardef \tex_chardef:D
+ \name_primitive:NN \countdef \tex_countdef:D
+ \name_primitive:NN \dimendef \tex_dimendef:D
+ \name_primitive:NN \skipdef \tex_skipdef:D
+ \name_primitive:NN \muskipdef \tex_muskipdef:D
+ \name_primitive:NN \mathchardef \tex_mathchardef:D
+ \name_primitive:NN \toksdef \tex_toksdef:D
+ \name_primitive:NN \futurelet \tex_futurelet:D
+ \name_primitive:NN \advance \tex_advance:D
+ \name_primitive:NN \divide \tex_divide:D
+ \name_primitive:NN \multiply \tex_multiply:D
+ \name_primitive:NN \font \tex_font:D
+ \name_primitive:NN \fam \tex_fam:D
+ \name_primitive:NN \global \tex_global:D
+ \name_primitive:NN \long \tex_long:D
+ \name_primitive:NN \outer \tex_outer:D
+ \name_primitive:NN \setlanguage \tex_setlanguage:D
+ \name_primitive:NN \globaldefs \tex_globaldefs:D
+ \name_primitive:NN \afterassignment \tex_afterassignment:D
+ \name_primitive:NN \aftergroup \tex_aftergroup:D
+ \name_primitive:NN \expandafter \tex_expandafter:D
+ \name_primitive:NN \noexpand \tex_noexpand:D
+ \name_primitive:NN \begingroup \tex_begingroup:D
+ \name_primitive:NN \endgroup \tex_endgroup:D
+ \name_primitive:NN \halign \tex_halign:D
+ \name_primitive:NN \valign \tex_valign:D
+ \name_primitive:NN \cr \tex_cr:D
+ \name_primitive:NN \crcr \tex_crcr:D
+ \name_primitive:NN \noalign \tex_noalign:D
+ \name_primitive:NN \omit \tex_omit:D
+ \name_primitive:NN \span \tex_span:D
+ \name_primitive:NN \tabskip \tex_tabskip:D
+ \name_primitive:NN \everycr \tex_everycr:D
+ \name_primitive:NN \if \tex_if:D
+ \name_primitive:NN \ifcase \tex_ifcase:D
+ \name_primitive:NN \ifcat \tex_ifcat:D
+ \name_primitive:NN \ifnum \tex_ifnum:D
+ \name_primitive:NN \ifodd \tex_ifodd:D
+ \name_primitive:NN \ifdim \tex_ifdim:D
+ \name_primitive:NN \ifeof \tex_ifeof:D
+ \name_primitive:NN \ifhbox \tex_ifhbox:D
+ \name_primitive:NN \ifvbox \tex_ifvbox:D
+ \name_primitive:NN \ifvoid \tex_ifvoid:D
+ \name_primitive:NN \ifx \tex_ifx:D
+ \name_primitive:NN \iffalse \tex_iffalse:D
+ \name_primitive:NN \iftrue \tex_iftrue:D
+ \name_primitive:NN \ifhmode \tex_ifhmode:D
+ \name_primitive:NN \ifmmode \tex_ifmmode:D
+ \name_primitive:NN \ifvmode \tex_ifvmode:D
+ \name_primitive:NN \ifinner \tex_ifinner:D
+ \name_primitive:NN \else \tex_else:D
+ \name_primitive:NN \fi \tex_fi:D
+ \name_primitive:NN \or \tex_or:D
+ \name_primitive:NN \immediate \tex_immediate:D
+ \name_primitive:NN \closeout \tex_closeout:D
+ \name_primitive:NN \openin \tex_openin:D
+ \name_primitive:NN \openout \tex_openout:D
+ \name_primitive:NN \read \tex_read:D
+ \name_primitive:NN \write \tex_write:D
+ \name_primitive:NN \closein \tex_closein:D
+ \name_primitive:NN \newlinechar \tex_newlinechar:D
+ \name_primitive:NN \input \tex_input:D
+ \name_primitive:NN \endinput \tex_endinput:D
+ \name_primitive:NN \inputlineno \tex_inputlineno:D
+ \name_primitive:NN \errmessage \tex_errmessage:D
+ \name_primitive:NN \message \tex_message:D
+ \name_primitive:NN \show \tex_show:D
+ \name_primitive:NN \showthe \tex_showthe:D
+ \name_primitive:NN \showbox \tex_showbox:D
+ \name_primitive:NN \showlists \tex_showlists:D
+ \name_primitive:NN \errhelp \tex_errhelp:D
+ \name_primitive:NN \errorcontextlines \tex_errorcontextlines:D
+ \name_primitive:NN \tracingcommands \tex_tracingcommands:D
+ \name_primitive:NN \tracinglostchars \tex_tracinglostchars:D
+ \name_primitive:NN \tracingmacros \tex_tracingmacros:D
+ \name_primitive:NN \tracingonline \tex_tracingonline:D
+ \name_primitive:NN \tracingoutput \tex_tracingoutput:D
+ \name_primitive:NN \tracingpages \tex_tracingpages:D
+ \name_primitive:NN \tracingparagraphs \tex_tracingparagraphs:D
+ \name_primitive:NN \tracingrestores \tex_tracingrestores:D
+ \name_primitive:NN \tracingstats \tex_tracingstats:D
+ \name_primitive:NN \pausing \tex_pausing:D
+ \name_primitive:NN \showboxbreadth \tex_showboxbreadth:D
+ \name_primitive:NN \showboxdepth \tex_showboxdepth:D
+ \name_primitive:NN \batchmode \tex_batchmode:D
+ \name_primitive:NN \errorstopmode \tex_errorstopmode:D
+ \name_primitive:NN \nonstopmode \tex_nonstopmode:D
+ \name_primitive:NN \scrollmode \tex_scrollmode:D
+ \name_primitive:NN \end \tex_end:D
+ \name_primitive:NN \csname \tex_csname:D
+ \name_primitive:NN \endcsname \tex_endcsname:D
+ \name_primitive:NN \ignorespaces \tex_ignorespaces:D
+ \name_primitive:NN \relax \tex_relax:D
+ \name_primitive:NN \the \tex_the:D
+ \name_primitive:NN \mag \tex_mag:D
+ \name_primitive:NN \language \tex_language:D
+ \name_primitive:NN \mark \tex_mark:D
+ \name_primitive:NN \topmark \tex_topmark:D
+ \name_primitive:NN \firstmark \tex_firstmark:D
+ \name_primitive:NN \botmark \tex_botmark:D
+ \name_primitive:NN \splitfirstmark \tex_splitfirstmark:D
+ \name_primitive:NN \splitbotmark \tex_splitbotmark:D
+ \name_primitive:NN \fontname \tex_fontname:D
+ \name_primitive:NN \escapechar \tex_escapechar:D
+ \name_primitive:NN \endlinechar \tex_endlinechar:D
+ \name_primitive:NN \mathchoice \tex_mathchoice:D
+ \name_primitive:NN \delimiter \tex_delimiter:D
+ \name_primitive:NN \mathaccent \tex_mathaccent:D
+ \name_primitive:NN \mathchar \tex_mathchar:D
+ \name_primitive:NN \mskip \tex_mskip:D
+ \name_primitive:NN \radical \tex_radical:D
+ \name_primitive:NN \vcenter \tex_vcenter:D
+ \name_primitive:NN \mkern \tex_mkern:D
+ \name_primitive:NN \above \tex_above:D
+ \name_primitive:NN \abovewithdelims \tex_abovewithdelims:D
+ \name_primitive:NN \atop \tex_atop:D
+ \name_primitive:NN \atopwithdelims \tex_atopwithdelims:D
+ \name_primitive:NN \over \tex_over:D
+ \name_primitive:NN \overwithdelims \tex_overwithdelims:D
+ \name_primitive:NN \displaystyle \tex_displaystyle:D
+ \name_primitive:NN \textstyle \tex_textstyle:D
+ \name_primitive:NN \scriptstyle \tex_scriptstyle:D
+ \name_primitive:NN \scriptscriptstyle \tex_scriptscriptstyle:D
+ \name_primitive:NN \nonscript \tex_nonscript:D
+ \name_primitive:NN \eqno \tex_eqno:D
+ \name_primitive:NN \leqno \tex_leqno:D
+ \name_primitive:NN \abovedisplayshortskip \tex_abovedisplayshortskip:D
+ \name_primitive:NN \abovedisplayskip \tex_abovedisplayskip:D
+ \name_primitive:NN \belowdisplayshortskip \tex_belowdisplayshortskip:D
+ \name_primitive:NN \belowdisplayskip \tex_belowdisplayskip:D
+ \name_primitive:NN \displaywidowpenalty \tex_displaywidowpenalty:D
+ \name_primitive:NN \displayindent \tex_displayindent:D
+ \name_primitive:NN \displaywidth \tex_displaywidth:D
+ \name_primitive:NN \everydisplay \tex_everydisplay:D
+ \name_primitive:NN \predisplaysize \tex_predisplaysize:D
+ \name_primitive:NN \predisplaypenalty \tex_predisplaypenalty:D
+ \name_primitive:NN \postdisplaypenalty \tex_postdisplaypenalty:D
+ \name_primitive:NN \mathbin \tex_mathbin:D
+ \name_primitive:NN \mathclose \tex_mathclose:D
+ \name_primitive:NN \mathinner \tex_mathinner:D
+ \name_primitive:NN \mathop \tex_mathop:D
+ \name_primitive:NN \displaylimits \tex_displaylimits:D
+ \name_primitive:NN \limits \tex_limits:D
+ \name_primitive:NN \nolimits \tex_nolimits:D
+ \name_primitive:NN \mathopen \tex_mathopen:D
+ \name_primitive:NN \mathord \tex_mathord:D
+ \name_primitive:NN \mathpunct \tex_mathpunct:D
+ \name_primitive:NN \mathrel \tex_mathrel:D
+ \name_primitive:NN \overline \tex_overline:D
+ \name_primitive:NN \underline \tex_underline:D
+ \name_primitive:NN \left \tex_left:D
+ \name_primitive:NN \right \tex_right:D
+ \name_primitive:NN \binoppenalty \tex_binoppenalty:D
+ \name_primitive:NN \relpenalty \tex_relpenalty:D
+ \name_primitive:NN \delimitershortfall \tex_delimitershortfall:D
+ \name_primitive:NN \delimiterfactor \tex_delimiterfactor:D
+ \name_primitive:NN \nulldelimiterspace \tex_nulldelimiterspace:D
+ \name_primitive:NN \everymath \tex_everymath:D
+ \name_primitive:NN \mathsurround \tex_mathsurround:D
+ \name_primitive:NN \medmuskip \tex_medmuskip:D
+ \name_primitive:NN \thinmuskip \tex_thinmuskip:D
+ \name_primitive:NN \thickmuskip \tex_thickmuskip:D
+ \name_primitive:NN \scriptspace \tex_scriptspace:D
+ \name_primitive:NN \noboundary \tex_noboundary:D
+ \name_primitive:NN \accent \tex_accent:D
+ \name_primitive:NN \char \tex_char:D
+ \name_primitive:NN \discretionary \tex_discretionary:D
+ \name_primitive:NN \hfil \tex_hfil:D
+ \name_primitive:NN \hfilneg \tex_hfilneg:D
+ \name_primitive:NN \hfill \tex_hfill:D
+ \name_primitive:NN \hskip \tex_hskip:D
+ \name_primitive:NN \hss \tex_hss:D
+ \name_primitive:NN \vfil \tex_vfil:D
+ \name_primitive:NN \vfilneg \tex_vfilneg:D
+ \name_primitive:NN \vfill \tex_vfill:D
+ \name_primitive:NN \vskip \tex_vskip:D
+ \name_primitive:NN \vss \tex_vss:D
+ \name_primitive:NN \unskip \tex_unskip:D
+ \name_primitive:NN \kern \tex_kern:D
+ \name_primitive:NN \unkern \tex_unkern:D
+ \name_primitive:NN \hrule \tex_hrule:D
+ \name_primitive:NN \vrule \tex_vrule:D
+ \name_primitive:NN \leaders \tex_leaders:D
+ \name_primitive:NN \cleaders \tex_cleaders:D
+ \name_primitive:NN \xleaders \tex_xleaders:D
+ \name_primitive:NN \lastkern \tex_lastkern:D
+ \name_primitive:NN \lastskip \tex_lastskip:D
+ \name_primitive:NN \indent \tex_indent:D
+ \name_primitive:NN \par \tex_par:D
+ \name_primitive:NN \noindent \tex_noindent:D
+ \name_primitive:NN \vadjust \tex_vadjust:D
+ \name_primitive:NN \baselineskip \tex_baselineskip:D
+ \name_primitive:NN \lineskip \tex_lineskip:D
+ \name_primitive:NN \lineskiplimit \tex_lineskiplimit:D
+ \name_primitive:NN \clubpenalty \tex_clubpenalty:D
+ \name_primitive:NN \widowpenalty \tex_widowpenalty:D
+ \name_primitive:NN \exhyphenpenalty \tex_exhyphenpenalty:D
+ \name_primitive:NN \hyphenpenalty \tex_hyphenpenalty:D
+ \name_primitive:NN \linepenalty \tex_linepenalty:D
+ \name_primitive:NN \doublehyphendemerits \tex_doublehyphendemerits:D
+ \name_primitive:NN \finalhyphendemerits \tex_finalhyphendemerits:D
+ \name_primitive:NN \adjdemerits \tex_adjdemerits:D
+ \name_primitive:NN \hangafter \tex_hangafter:D
+ \name_primitive:NN \hangindent \tex_hangindent:D
+ \name_primitive:NN \parshape \tex_parshape:D
+ \name_primitive:NN \hsize \tex_hsize:D
+ \name_primitive:NN \lefthyphenmin \tex_lefthyphenmin:D
+ \name_primitive:NN \righthyphenmin \tex_righthyphenmin:D
+ \name_primitive:NN \leftskip \tex_leftskip:D
+ \name_primitive:NN \rightskip \tex_rightskip:D
+ \name_primitive:NN \looseness \tex_looseness:D
+ \name_primitive:NN \parskip \tex_parskip:D
+ \name_primitive:NN \parindent \tex_parindent:D
+ \name_primitive:NN \uchyph \tex_uchyph:D
+ \name_primitive:NN \emergencystretch \tex_emergencystretch:D
+ \name_primitive:NN \pretolerance \tex_pretolerance:D
+ \name_primitive:NN \tolerance \tex_tolerance:D
+ \name_primitive:NN \spaceskip \tex_spaceskip:D
+ \name_primitive:NN \xspaceskip \tex_xspaceskip:D
+ \name_primitive:NN \parfillskip \tex_parfillskip:D
+ \name_primitive:NN \everypar \tex_everypar:D
+ \name_primitive:NN \prevgraf \tex_prevgraf:D
+ \name_primitive:NN \spacefactor \tex_spacefactor:D
+ \name_primitive:NN \shipout \tex_shipout:D
+ \name_primitive:NN \vsize \tex_vsize:D
+ \name_primitive:NN \interlinepenalty \tex_interlinepenalty:D
+ \name_primitive:NN \brokenpenalty \tex_brokenpenalty:D
+ \name_primitive:NN \topskip \tex_topskip:D
+ \name_primitive:NN \maxdeadcycles \tex_maxdeadcycles:D
+ \name_primitive:NN \maxdepth \tex_maxdepth:D
+ \name_primitive:NN \output \tex_output:D
+ \name_primitive:NN \deadcycles \tex_deadcycles:D
+ \name_primitive:NN \pagedepth \tex_pagedepth:D
+ \name_primitive:NN \pagestretch \tex_pagestretch:D
+ \name_primitive:NN \pagefilstretch \tex_pagefilstretch:D
+ \name_primitive:NN \pagefillstretch \tex_pagefillstretch:D
+ \name_primitive:NN \pagefilllstretch \tex_pagefilllstretch:D
+ \name_primitive:NN \pageshrink \tex_pageshrink:D
+ \name_primitive:NN \pagegoal \tex_pagegoal:D
+ \name_primitive:NN \pagetotal \tex_pagetotal:D
+ \name_primitive:NN \outputpenalty \tex_outputpenalty:D
+ \name_primitive:NN \hoffset \tex_hoffset:D
+ \name_primitive:NN \voffset \tex_voffset:D
+ \name_primitive:NN \insert \tex_insert:D
+ \name_primitive:NN \holdinginserts \tex_holdinginserts:D
+ \name_primitive:NN \floatingpenalty \tex_floatingpenalty:D
+ \name_primitive:NN \insertpenalties \tex_insertpenalties:D
+ \name_primitive:NN \lower \tex_lower:D
+ \name_primitive:NN \moveleft \tex_moveleft:D
+ \name_primitive:NN \moveright \tex_moveright:D
+ \name_primitive:NN \raise \tex_raise:D
+ \name_primitive:NN \copy \tex_copy:D
+ \name_primitive:NN \lastbox \tex_lastbox:D
+ \name_primitive:NN \vsplit \tex_vsplit:D
+ \name_primitive:NN \unhbox \tex_unhbox:D
+ \name_primitive:NN \unhcopy \tex_unhcopy:D
+ \name_primitive:NN \unvbox \tex_unvbox:D
+ \name_primitive:NN \unvcopy \tex_unvcopy:D
+ \name_primitive:NN \setbox \tex_setbox:D
+ \name_primitive:NN \hbox \tex_hbox:D
+ \name_primitive:NN \vbox \tex_vbox:D
+ \name_primitive:NN \vtop \tex_vtop:D
+ \name_primitive:NN \prevdepth \tex_prevdepth:D
+ \name_primitive:NN \badness \tex_badness:D
+ \name_primitive:NN \hbadness \tex_hbadness:D
+ \name_primitive:NN \vbadness \tex_vbadness:D
+ \name_primitive:NN \hfuzz \tex_hfuzz:D
+ \name_primitive:NN \vfuzz \tex_vfuzz:D
+ \name_primitive:NN \overfullrule \tex_overfullrule:D
+ \name_primitive:NN \boxmaxdepth \tex_boxmaxdepth:D
+ \name_primitive:NN \splitmaxdepth \tex_splitmaxdepth:D
+ \name_primitive:NN \splittopskip \tex_splittopskip:D
+ \name_primitive:NN \everyhbox \tex_everyhbox:D
+ \name_primitive:NN \everyvbox \tex_everyvbox:D
+ \name_primitive:NN \nullfont \tex_nullfont:D
+ \name_primitive:NN \textfont \tex_textfont:D
+ \name_primitive:NN \scriptfont \tex_scriptfont:D
+ \name_primitive:NN \scriptscriptfont \tex_scriptscriptfont:D
+ \name_primitive:NN \fontdimen \tex_fontdimen:D
+ \name_primitive:NN \hyphenchar \tex_hyphenchar:D
+ \name_primitive:NN \skewchar \tex_skewchar:D
+ \name_primitive:NN \defaulthyphenchar \tex_defaulthyphenchar:D
+ \name_primitive:NN \defaultskewchar \tex_defaultskewchar:D
+ \name_primitive:NN \number \tex_number:D
+ \name_primitive:NN \romannumeral \tex_romannumeral:D
+ \name_primitive:NN \string \tex_string:D
+ \name_primitive:NN \lowercase \tex_lowercase:D
+ \name_primitive:NN \uppercase \tex_uppercase:D
+ \name_primitive:NN \meaning \tex_meaning:D
+ \name_primitive:NN \penalty \tex_penalty:D
+ \name_primitive:NN \unpenalty \tex_unpenalty:D
+ \name_primitive:NN \lastpenalty \tex_lastpenalty:D
+ \name_primitive:NN \special \tex_special:D
+ \name_primitive:NN \dump \tex_dump:D
+ \name_primitive:NN \patterns \tex_patterns:D
+ \name_primitive:NN \hyphenation \tex_hyphenation:D
+ \name_primitive:NN \time \tex_time:D
+ \name_primitive:NN \day \tex_day:D
+ \name_primitive:NN \month \tex_month:D
+ \name_primitive:NN \year \tex_year:D
+ \name_primitive:NN \jobname \tex_jobname:D
+ \name_primitive:NN \everyjob \tex_everyjob:D
+ \name_primitive:NN \count \tex_count:D
+ \name_primitive:NN \dimen \tex_dimen:D
+ \name_primitive:NN \skip \tex_skip:D
+ \name_primitive:NN \toks \tex_toks:D
+ \name_primitive:NN \muskip \tex_muskip:D
+ \name_primitive:NN \box \tex_box:D
+ \name_primitive:NN \wd \tex_wd:D
+ \name_primitive:NN \ht \tex_ht:D
+ \name_primitive:NN \dp \tex_dp:D
+ \name_primitive:NN \catcode \tex_catcode:D
+ \name_primitive:NN \delcode \tex_delcode:D
+ \name_primitive:NN \sfcode \tex_sfcode:D
+ \name_primitive:NN \lccode \tex_lccode:D
+ \name_primitive:NN \uccode \tex_uccode:D
+ \name_primitive:NN \mathcode \tex_mathcode:D
+% \end{macrocode}
+% Since \LaTeX3 requires at least the \eTeX{} extensions,
+% we also rename the additional primitives. These are all
+% given the prefix |\etex_|.
+% \begin{macrocode}
+ \name_primitive:NN \ifdefined \etex_ifdefined:D
+ \name_primitive:NN \ifcsname \etex_ifcsname:D
+ \name_primitive:NN \unless \etex_unless:D
+ \name_primitive:NN \eTeXversion \etex_eTeXversion:D
+ \name_primitive:NN \eTeXrevision \etex_eTeXrevision:D
+ \name_primitive:NN \marks \etex_marks:D
+ \name_primitive:NN \topmarks \etex_topmarks:D
+ \name_primitive:NN \firstmarks \etex_firstmarks:D
+ \name_primitive:NN \botmarks \etex_botmarks:D
+ \name_primitive:NN \splitfirstmarks \etex_splitfirstmarks:D
+ \name_primitive:NN \splitbotmarks \etex_splitbotmarks:D
+ \name_primitive:NN \unexpanded \etex_unexpanded:D
+ \name_primitive:NN \detokenize \etex_detokenize:D
+ \name_primitive:NN \scantokens \etex_scantokens:D
+ \name_primitive:NN \showtokens \etex_showtokens:D
+ \name_primitive:NN \readline \etex_readline:D
+ \name_primitive:NN \tracingassigns \etex_tracingassigns:D
+ \name_primitive:NN \tracingscantokens \etex_tracingscantokens:D
+ \name_primitive:NN \tracingnesting \etex_tracingnesting:D
+ \name_primitive:NN \tracingifs \etex_tracingifs:D
+ \name_primitive:NN \currentiflevel \etex_currentiflevel:D
+ \name_primitive:NN \currentifbranch \etex_currentifbranch:D
+ \name_primitive:NN \currentiftype \etex_currentiftype:D
+ \name_primitive:NN \tracinggroups \etex_tracinggroups:D
+ \name_primitive:NN \currentgrouplevel \etex_currentgrouplevel:D
+ \name_primitive:NN \currentgrouptype \etex_currentgrouptype:D
+ \name_primitive:NN \showgroups \etex_showgroups:D
+ \name_primitive:NN \showifs \etex_showifs:D
+ \name_primitive:NN \interactionmode \etex_interactionmode:D
+ \name_primitive:NN \lastnodetype \etex_lastnodetype:D
+ \name_primitive:NN \iffontchar \etex_iffontchar:D
+ \name_primitive:NN \fontcharht \etex_fontcharht:D
+ \name_primitive:NN \fontchardp \etex_fontchardp:D
+ \name_primitive:NN \fontcharwd \etex_fontcharwd:D
+ \name_primitive:NN \fontcharic \etex_fontcharic:D
+ \name_primitive:NN \parshapeindent \etex_parshapeindent:D
+ \name_primitive:NN \parshapelength \etex_parshapelength:D
+ \name_primitive:NN \parshapedimen \etex_parshapedimen:D
+ \name_primitive:NN \numexpr \etex_numexpr:D
+ \name_primitive:NN \dimexpr \etex_dimexpr:D
+ \name_primitive:NN \glueexpr \etex_glueexpr:D
+ \name_primitive:NN \muexpr \etex_muexpr:D
+ \name_primitive:NN \gluestretch \etex_gluestretch:D
+ \name_primitive:NN \glueshrink \etex_glueshrink:D
+ \name_primitive:NN \gluestretchorder \etex_gluestretchorder:D
+ \name_primitive:NN \glueshrinkorder \etex_glueshrinkorder:D
+ \name_primitive:NN \gluetomu \etex_gluetomu:D
+ \name_primitive:NN \mutoglue \etex_mutoglue:D
+ \name_primitive:NN \lastlinefit \etex_lastlinefit:D
+ \name_primitive:NN \interlinepenalties \etex_interlinepenalties:D
+ \name_primitive:NN \clubpenalties \etex_clubpenalties:D
+ \name_primitive:NN \widowpenalties \etex_widowpenalties:D
+ \name_primitive:NN \displaywidowpenalties \etex_displaywidowpenalties:D
+ \name_primitive:NN \middle \etex_middle:D
+ \name_primitive:NN \savinghyphcodes \etex_savinghyphcodes:D
+ \name_primitive:NN \savingvdiscards \etex_savingvdiscards:D
+ \name_primitive:NN \pagediscards \etex_pagediscards:D
+ \name_primitive:NN \splitdiscards \etex_splitdiscards:D
+ \name_primitive:NN \TeXXETstate \etex_TeXXETstate:D
+ \name_primitive:NN \beginL \etex_beginL:D
+ \name_primitive:NN \endL \etex_endL:D
+ \name_primitive:NN \beginR \etex_beginR:D
+ \name_primitive:NN \endR \etex_endR:D
+ \name_primitive:NN \predisplaydirection \etex_predisplaydirection:D
+ \name_primitive:NN \everyeof \etex_everyeof:D
+ \name_primitive:NN \protected \etex_protected:D
+% \end{macrocode}
+% The newer primitives are more complex: there are an awful lot of them,
+% and we don't use them all at the moment. So the following is selective.
+% In the case of the \pdfTeX{} primitives, we retain |pdf| at the start
+% of the names \emph{only} for directly PDF-related primitives, as
+% there are a lot of \pdfTeX{} primitives that start \cs{pdf\ldots} but
+% are not related to PDF output. These ones re
+% \begin{macrocode}
+ \name_primitive:NN \pdfcreationdate \pdftex_pdfcreationdate:D
+ \name_primitive:NN \pdfcolorstack \pdftex_pdfcolorstack:D
+ \name_primitive:NN \pdfcompresslevel \pdftex_pdfcompresslevel:D
+ \name_primitive:NN \pdfdecimaldigits \pdftex_pdfdecimaldigits:D
+ \name_primitive:NN \pdfhorigin \pdftex_pdfhorigin:D
+ \name_primitive:NN \pdfinfo \pdftex_pdfinfo:D
+ \name_primitive:NN \pdfliteral \pdftex_pdfliteral:D
+ \name_primitive:NN \pdfminorversion \pdftex_pdfminorversion:D
+ \name_primitive:NN \pdfobjcompresslevel \pdftex_pdfobjcompresslevel:D
+ \name_primitive:NN \pdfoutput \pdftex_pdfoutput:D
+ \name_primitive:NN \pdfrestore \pdftex_pdfrestore:D
+ \name_primitive:NN \pdfsave \pdftex_pdfsave:D
+ \name_primitive:NN \pdfsetmatrix \pdftex_pdfsetmatrix:D
+ \name_primitive:NN \pdfpkresolution \pdftex_pdfpkresolution:D
+ \name_primitive:NN \pdftexrevision \pdftex_pdftextrevision:D
+ \name_primitive:NN \pdfvorigin \pdftex_pdfvorigin:D
+% \end{macrocode}
+% While these are not.
+% \begin{macrocode}
+ \name_primitive:NN \pdfstrcmp \pdftex_strcmp:D
+% \end{macrocode}
+% \XeTeX{}-specific primitives.
+% \begin{macrocode}
+ \name_primitive:NN \XeTeXversion \xetex_XeTeXversion:D
+% \end{macrocode}
+% Primitives from \LuaTeX.
+% \begin{macrocode}
+ \name_primitive:NN \catcodetable \luatex_catcodetable:D
+ \name_primitive:NN \directlua \luatex_directlua:D
+ \name_primitive:NN \initcatcodetable \luatex_initcatcodetable:D
+ \name_primitive:NN \latelua \luatex_latelua:D
+ \name_primitive:NN \luatexversion \luatex_luatexversion:D
+ \name_primitive:NN \savecatcodetable \luatex_savecatcodetable:D
+% \end{macrocode}
+% The job is done: close the group (using the primitive renamed!).
+% \begin{macrocode}
+\tex_endgroup:D
+% \end{macrocode}
+%
+% \LaTeXe{} will have moved a few primitives, so these are sorted out.
+% \begin{macrocode}
+%<*package>
+\tex_let:D \tex_end:D \@@end
+\tex_let:D \tex_everydisplay:D \frozen@everydisplay
+\tex_let:D \tex_everymath:D \frozen@everymath
+\tex_let:D \tex_hyphen:D \@@hyph
+\tex_let:D \tex_input:D \@@input
+\tex_let:D \tex_italic_correction:D \@@italiccorr
+\tex_let:D \tex_underline:D \@@underline
+% \end{macrocode}
+% That is also true for the \pkg{luatex} package for \LaTeXe{}.
+% \begin{macrocode}
+\tex_let:D \luatex_catcodetable:D \luatexcatcodetable
+\tex_let:D \luatex_initcatcodetable:D \luatexinitcatcodetable
+\tex_let:D \luatex_latelua:D \luatexlatelua
+\tex_let:D \luatex_savecatcodetable:D \luatexsavecatcodetable
+%</package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</initex|package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex \ No newline at end of file