summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/luatex/luatexbase/luatexbase-compat.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/luatex/luatexbase/luatexbase-compat.dtx')
-rw-r--r--Master/texmf-dist/source/luatex/luatexbase/luatexbase-compat.dtx403
1 files changed, 0 insertions, 403 deletions
diff --git a/Master/texmf-dist/source/luatex/luatexbase/luatexbase-compat.dtx b/Master/texmf-dist/source/luatex/luatexbase/luatexbase-compat.dtx
deleted file mode 100644
index 4da25225890..00000000000
--- a/Master/texmf-dist/source/luatex/luatexbase/luatexbase-compat.dtx
+++ /dev/null
@@ -1,403 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright 2010, 2011 by Manuel Pégourié-Gonnard <mpg@elzevir.fr>
-%
-% This work is under the CC0 license.
-%
-% This work consists of the main source file luatexbase-compat.dtx
-% and the derived files
-% luatexbase-compat.pdf luatexbase-compat.sty
-% test-compat-plain.tex test-compat-latex.tex
-%
-% Unpacking:
-% tex luatexbase-compat.dtx
-% Documentation:
-% pdflatex luatexbase-compat.dtx
-%
-%<*ignore>
-\begingroup
- \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase 0\ifx\install y1\fi\expandafter
- \ifx\csname processbatchFile\endcsname\relax\else1\fi
- \ifx\fmtname\x\else 1\fi\relax
-\else\csname fi\endcsname
-%</ignore>
-%<*install>
-\input docstrip.tex
-
-\keepsilent
-\askforoverwritefalse
-
-\preamble
-
-See the aforementioned source file(s) for copyright and licensing information.
-
-\endpreamble
-
-\generate{%
- \usedir{tex/luatex/luatexbase}%
- \file{luatexbase-compat.sty}{\from{luatexbase-compat.dtx}{texpackage}}%
-}
-
-\generate{%
- \usedir{doc/luatex/luatexbase}%
- \file{test-compat-plain.tex}{\from{luatexbase-compat.dtx}{testplain}}%
- \file{test-compat-latex.tex}{\from{luatexbase-compat.dtx}{testlatex}}%
-}
-
-\obeyspaces
-\Msg{************************************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* luatexbase-compat.sty}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{************************************************************************}
-
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\documentclass{ltxdoc}
-\input lltxb-dtxstyle.tex
-\EnableCrossrefs
-\CodelineIndex
-\begin{document}
- \DocInput{luatexbase-compat.dtx}%
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{0}
-%
-% \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 \~}
-%
-% \pkdate{luatexbase-compat}{2011/05/24 v0.4}
-%
-% \maketitle
-%
-% \begin{abstract}
-% The \luatex manual is very clear: everything may change. This package
-% provides tools to help package writers deal with the changes. It helps
-% supporting \luatex versions down to 0.25.4, and is tested with
-% \luatex 0.40.6 (\texlive 2009), \luatex 0.60.2 (\texlive 2010) and current
-% beta versions.
-%
-% The supported formats are Plain and \latex adapted for \luatex as provided
-% by \texlive and MiK\tex (see \file{lualatex-doc.pdf} section~4 for details
-% about these formats).
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Documentation}
-%
-% Three problems are currently addressed by this package: changes in the
-% syntax of |\directlua|, version information, and variable policies for
-% primitives activation and naming (in \luatex itself as well as in the
-% formats provided by distributions).
-%
-% \medskip
-%
-% Older versions of \luatex used to support multiple Lua states. A number was
-% mandatory with |\directlua| in order to specify the Lua state to be used.
-% Later, support for multiple Lua states was removed and the old syntax
-% resulted in a warning. Now (\luatex 0.50), |\directlua| again accepts a
-% number after |\directlua|, but with a different meaning (see the \luatex
-% manual for details).
-%
-% This package provides a macro |\luatexbase@directlua| that expands to
-% |\directlua0| on \luatex 0.35 and lower (where the number is mandatory), and
-% to |\directlua| otherwise. It is a macro in both cases so that it always
-% expands in exactly two steps.
-%
-% \medskip
-%
-% Current versions of \luatex make the version available directly from Lua as
-% |tex.luatexversion| and |tex.luatexrevision|. However, older versions (such
-% as 0.25.4) didn't, which makes it particularly uneasy to test the version
-% from within Lua. The present package makes this information available as
-% |luatexbase.luatexversion| and |luatexbase.luatexrevision|.
-%
-% \medskip
-%
-% Starting with \luatex 0.39.0, the only primitives available in Ini\tex mode
-% are the basic primitives from \tex{}82 and |\directlua|. All other
-% primitives are hidden by default and have to be activated using a Lua
-% function. In \texlive 2009 (\luatex 0.40.6), the following arrangement has
-% been made in order to try preserving usability while avoiding name clashes
-% in the \latex world: in \latex-based formats, all pdf\tex primitives are
-% enabled with their normal name, but the primitives specific to \luatex are
-% enabled with the |luatex| prefix.\footnote{The prefix is dropped for
-% primitives whose name already starts with \texttt{luatex}.} In Plain based
-% formats however, all the primitives are enabled with their natural name, but
-% are also provided with the same name as in \latex-based formats in order to
-% help writing generic packages.
-%
-% So, starting with \texlive 2009, the situation is clear: the prefixed
-% version of the \luatex primitives is always available. But in earlier
-% versions (\texlive 2008, \luatex 0.25.4) those primitives were available
-% only with their natural names. The primitives provided by \etex and pdf\tex
-% on the other hand, are always available.
-%
-% \begin{quote}
-% \cs{luatexbase@ensure@primitive}\marg{name}
-% \end{quote}
-% The tool provided to deal with that is \cs{luatexbase@ensure@primitive},
-% whose argument is a \luatex primitive name (without a leading backslash nor
-% any |luatex| prefix, eg just |{latelua}|). It makes sure that the primitive
-% gets available as \cs{luatex\meta{name}}.
-%
-% \textbf{Warning.} In particular circumstances, this macro may fail silently
-% for primitives whose natural name starts with |luatex|, hence such
-% primitives shouldn't be used as arguments. This is actually not a problem,
-% since the only three such primitives are |\luatexversion|, |\luatexrevision|
-% and |\luatexdatestamp|. The first two are already activated by \pk{ifluatex}
-% which is loaded by this package, so you don't need to activated them
-% yourself. The third should never be used in production according to the
-% \luatex manual.
-%
-% \textit{Remark.} If you only aim at compatibility down to \texlive 2009
-% (\luatex 0.40.6), then you can simply use the primitives with their prefixed
-% name (except for |\directlua| which never needs a prefix). If you want extra
-% security and/or compatibility down to \texlive 2008 (\luatex 0.25.4) then
-% you should use \cs{luatebase@ensure@primitive} for each primitive you intend
-% to use (except |\directlua| again).
-%
-% This package doesn't try to activate every primitive, since it would require
-% an extensive list of primitives for each version of \luatex, so it seems
-% simpler to leave that burden on package writers.
-%
-% \section{Implementation}
-%
-% \begin{macrocode}
-%<*texpackage>
-% \end{macrocode}
-%
-% \subsection{Preliminaries}
-%
-% Catcode defenses and reload protection.
-%
-% \begin{macrocode}
-\begingroup\catcode61\catcode48\catcode32=10\relax% = and space
- \catcode123 1 % {
- \catcode125 2 % }
- \catcode 35 6 % #
- \toks0\expandafter{\expandafter\endlinechar\the\endlinechar}%
- \edef\x{\endlinechar13}%
- \def\y#1 #2 {%
- \toks0\expandafter{\the\toks0 \catcode#1 \the\catcode#1}%
- \edef\x{\x \catcode#1 #2}}%
- \y 13 5 % carriage return
- \y 61 12 % =
- \y 32 10 % space
- \y 123 1 % {
- \y 125 2 % }
- \y 35 6 % #
- \y 64 11 % @ (letter)
- \y 10 12 % new line ^^J
- \y 39 12 % '
- \y 40 12 % (
- \y 41 12 % )
- \y 42 12 % *
- \y 44 12 % ,
- \y 45 12 % -
- \y 46 12 % .
- \y 47 12 % /
- \y 58 12 % :
- \y 60 12 % <
- \y 91 12 % [
- \y 93 12 % ]
- \y 94 7 % ^
- \y 96 12 % `
- \toks0\expandafter{\the\toks0 \relax\noexpand\endinput}%
- \edef\y#1{\noexpand\expandafter\endgroup%
- \noexpand\ifx#1\relax \edef#1{\the\toks0}\x\relax%
- \noexpand\else \noexpand\expandafter\noexpand\endinput%
- \noexpand\fi}%
-\expandafter\y\csname luatexbase@compat@sty@endinput\endcsname%
-% \end{macrocode}
-%
-% Package declaration.
-%
-% \begin{macrocode}
-\begingroup
- \expandafter\ifx\csname ProvidesPackage\endcsname\relax
- \def\x#1[#2]{\immediate\write16{Package: #1 #2}}
- \else
- \let\x\ProvidesPackage
- \fi
-\expandafter\endgroup
-\x{luatexbase-compat}[2011/05/24 v0.4 Compatibility tools for LuaTeX]
-% \end{macrocode}
-%
-% Make sure \luatex is used.
-%
-% \begin{macrocode}
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ifluatex.sty
-\else
- \RequirePackage{ifluatex}
-\fi
-\ifluatex\else
- \begingroup
- \expandafter\ifx\csname PackageError\endcsname\relax
- \def\x#1#2#3{\begingroup \newlinechar10
- \errhelp{#3}\errmessage{Package #1 error: #2}\endgroup}
- \else
- \let\x\PackageError
- \fi
- \expandafter\endgroup
- \x{luatexbase-compat}{LuaTeX is required for this package. Aborting.}{%
- This package can only be used with the LuaTeX engine^^J%
- (command `lualatex' or `luatex').^^J%
- Package loading has been stopped to prevent additional errors.}
- \expandafter\luatexbase@compat@sty@endinput%
-\fi
-% \end{macrocode}
-%
-% \subsection{\cs{directlua} abstraction}
-%
-% Define |\luatexbase@directlua| to be either |\directlua0| or
-% |\directlua|, depending on the version of \luatex.
-%
-% \begin{macrocode}
-\begingroup
-\expandafter\ifx\csname newcommand\endcsname\relax
- \toks0{\long\def\luatexbase@directlua}%
-\else
- \toks0{\newcommand\luatexbase@directlua}%
-\fi
-\ifnum\luatexversion<36
- \toks0\expandafter{\the\toks0{\directlua0}}%
-\else
- \toks0\expandafter{\the\toks0{\directlua}}%
-\fi
-\expandafter\endgroup
-\the\toks0
-% \end{macrocode}
-%
-% \subsection{Version information}
-%
-% Make |\luatexversion| and |\luatexrevision| available from Lua.
-%
-% \begin{macrocode}
-\luatexbase@directlua{%
- luatexbase = luatexbase or {}
- luatexbase.luatexversion = \number\luatexversion\space
- luatexbase.luatexrevision = \number\luatexrevision\space}
-% \end{macrocode}
-%
-% \subsection{Primitives}
-%
-% Try reasonably hard to activate a primitive. First, check if it is
-% already activated an do nothing in this case.
-%
-% \begin{macrocode}
-\begingroup
-\expandafter\ifx\csname newcommand\endcsname\relax
- \toks0{\def\luatexbase@ensure@primitive#1}
-\else
- \toks0{\newcommand*\luatexbase@ensure@primitive[1]}
-\fi
-\toks2{}\def\x#1{\toks2\expandafter{\the\toks2 #1}}
-\x{%
- \ifcsname luatex#1\endcsname \else}
-\ifnum\luatexversion<37\relax
-% \end{macrocode}
-%
-% |tex.enableprimitives()| not available. If the unprefixed primitive is
-% undefined, issue an error.
-%
-% \begin{macrocode}
- \x{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #1\endcsname\relax}
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname PackageError\endcsname\relax
- \x{%
- \errmessage{%
- Package luatexbase-compat error: failed to enable `#1'.}}
- \else
- \x{%
- \PackageError{luatexbase-compat}{%
- Package luatexbase-compat error: failed to enable `#1'.}{}}
- \fi
- \x{%
- \else}
-% \end{macrocode}
-%
-% Use the unprefixed primitive to define the prefixed version.
-%
-% \begin{macrocode}
- \x{%
- \expandafter\let\csname luatex#1\expandafter\endcsname
- \csname#1\endcsname
- \fi}
-\else
-% \end{macrocode}
-%
-% |tex.enableprimitives()| available, use it.
-%
-% \begin{macrocode}
- \x{%
- \luatexbase@directlua{tex.enableprimitives('luatex', {'#1'})}}
-\fi
-\x{%
- \fi}
-\toks0\expandafter{\the\toks0\expandafter{\the\toks2}}
-\expandafter\endgroup
-\the\toks0
-% \end{macrocode}
-%
-% That's all folks!
-%
-% \begin{macrocode}
-\luatexbase@compat@sty@endinput%
-%</texpackage>
-% \end{macrocode}
-%
-% \section{Test files}
-%
-% Test fils for Plain and LaTeX
-%
-% \begin{macrocode}
-%<testplain>\input luatexbase-compat.sty
-%<testlatex>\RequirePackage{luatexbase-compat}
-%<*testplain,testlatex>
-\catcode64 11
-\luatexbase@directlua{local answer = 42}
-\luatexbase@ensure@primitive{primitive}
-\luatexprimitive\relax
-\luatexbase@directlua{assert(type(luatexbase.luatexversion) == 'number')}
-\luatexbase@directlua{assert(type(luatexbase.luatexrevision) == 'number')}
-%</testplain,testlatex>
-%<testplain>\bye
-%<testlatex>\stop
-% \end{macrocode}
-%
-%
-% \Finale
-\endinput