summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/oberdiek
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-24 00:10:23 +0000
committerKarl Berry <karl@freefriends.org>2009-09-24 00:10:23 +0000
commit49446840dadda778fc810d2019c83229810fbe08 (patch)
treea3f92372a718524547b4c28588ae23a0461f5e20 /Master/texmf-dist/source/latex/oberdiek
parent3f39a4fbdf08fa724e5047b82e3437ddf9b83bf4 (diff)
oberdiek update (23sep09)
git-svn-id: svn://tug.org/texlive/trunk@15438 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek')
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.ins2
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/oberdiek.tex4
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/pdftexcmds.dtx154
3 files changed, 152 insertions, 8 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
index 245e3fef6c7..c07c36e7374 100644
--- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
+++ b/Master/texmf-dist/source/latex/oberdiek/oberdiek.ins
@@ -1,5 +1,5 @@
% oberdiek.ins
-% 2009/09/22
+% 2009/09/23
%
% Copyright (C) 1999, 2001, 2006 by
% Heiko Oberdiek <oberdiek@uni-freiburg.de>
diff --git a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex b/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
index 2e4e70dbb05..12d6ec7bd13 100644
--- a/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
+++ b/Master/texmf-dist/source/latex/oberdiek/oberdiek.tex
@@ -6,7 +6,7 @@
\newcommand*{\Subject}{CTAN:\CTANdir}
\newcommand*{\Author}{Heiko Oberdiek}
\newcommand*{\Email}{oberdiek@uni-freiburg.de}
-\newcommand*{\Date}{2009/09/22}
+\newcommand*{\Date}{2009/09/23}
% Copyright (C) 2006 by
% Heiko Oberdiek <oberdiek@uni-freiburg.de>
@@ -279,7 +279,7 @@
[\entrysep]
\entry{pdflscape}{2008/08/11}{0.10}{Landscape pages in PDF}%
[\entrysep]
-\entry{pdftexcmds}{2009/09/22}{0.5}{LuaTeX support for pdfTeX utility functions}%
+\entry{pdftexcmds}{2009/09/23}{0.6}{LuaTeX support for pdfTeX utility functions}%
[\entrysep]
\entry{picture}{2008/11/26}{1.2}{Dimens for picture macros}%
[\entrysep]
diff --git a/Master/texmf-dist/source/latex/oberdiek/pdftexcmds.dtx b/Master/texmf-dist/source/latex/oberdiek/pdftexcmds.dtx
index 4d1c09c4b5d..257aa30d8e5 100644
--- a/Master/texmf-dist/source/latex/oberdiek/pdftexcmds.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/pdftexcmds.dtx
@@ -17,6 +17,7 @@
% This work consists of the main source file pdftexcmds.dtx
% and the derived files
% pdftexcmds.sty, pdftexcmds.pdf, pdftexcmds.ins, pdftexcmds.drv,
+% pdftexcmds-test1.tex, pdftexcmds-test2.tex,
% oberdiek.pdftexcmds.lua, pdftexcmds.lua.
%
% Distribution:
@@ -54,6 +55,8 @@
% TDS:scripts/oberdiek/oberdiek.pdftexcmds.lua
% TDS:scripts/oberdiek/pdftexcmds.lua
% TDS:doc/latex/oberdiek/pdftexcmds.pdf
+% TDS:doc/latex/oberdiek/test/pdftexcmds-test1.tex
+% TDS:doc/latex/oberdiek/test/pdftexcmds-test2.tex
% TDS:source/latex/oberdiek/pdftexcmds.dtx
%
%<*ignore>
@@ -69,7 +72,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: pdftexcmds 2009/09/22 v0.5 LuaTeX support for pdfTeX utility functions (HO)}
+\Msg{* Package: pdftexcmds 2009/09/23 v0.6 LuaTeX support for pdfTeX utility functions (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -97,6 +100,7 @@ This Current Maintainer of this work is Heiko Oberdiek.
This work consists of the main source file pdftexcmds.dtx
and the derived files
pdftexcmds.sty, pdftexcmds.pdf, pdftexcmds.ins, pdftexcmds.drv,
+ pdftexcmds-test1.tex, pdftexcmds-test2.tex,
oberdiek.pdftexcmds.lua, pdftexcmds.lua.
\endpreamble
@@ -107,6 +111,9 @@ and the derived files
\file{pdftexcmds.drv}{\from{pdftexcmds.dtx}{driver}}%
\usedir{tex/generic/oberdiek}%
\file{pdftexcmds.sty}{\from{pdftexcmds.dtx}{package}}%
+ \usedir{doc/latex/oberdiek/test}%
+ \file{pdftexcmds-test1.tex}{\from{pdftexcmds.dtx}{test1}}%
+ \file{pdftexcmds-test2.tex}{\from{pdftexcmds.dtx}{test2}}%
}
\def\MetaPrefix{-- }
\def\defaultpostamble{%
@@ -147,7 +154,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{pdftexcmds.drv}%
- [2009/09/22 v0.5 LuaTeX support for pdfTeX utility functions (HO)]%
+ [2009/09/23 v0.6 LuaTeX support for pdfTeX utility functions (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2008/08/11]
\usepackage{paralist}
@@ -157,7 +164,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{752}
+% \CheckSum{928}
%
% \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
@@ -178,7 +185,7 @@ and the derived files
% \GetFileInfo{pdftexcmds.drv}
%
% \title{The \xpackage{pdftexcmds} package}
-% \date{2009/09/22 v0.5}
+% \date{2009/09/23 v0.6}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -338,6 +345,28 @@ and the derived files
% it \cs{ifprimitive}. It is a switch that checks if the command
% \csi{cmd} has it's primitive meaning.
%
+% \subsubsection{Additional macro: \cs{pdf@isprimitive}}
+%
+% \begin{declcs}{pdf@isprimitive} \csi{cmd1} \csi{cmd2} \M{true} \M{false}
+% \end{declcs}
+% If \csi{cmd1} has the primitive meaning given by the primitive name
+% of \csi{cmd2}, then the argument \meta{true} is executed, otherwise
+% \meta{false}. The macro \cs{pdf@isprimitive} is expandable.
+% Internally it checks the result of \cs{meaning} and is therefore
+% available for all \TeX\ variants, even the original \TeX.
+% Example with \LaTeX:
+%\begin{quote}
+%\begin{verbatim}
+%\makeatletter
+%\pdf@isprimitive{@@input}{input}{%
+% \typeout{\string\@@input\space is original\string\input}%
+%}{%
+% \typeout{Oops, \string\@@input\space is not the %
+% original\string\input}%
+%}
+%\end{verbatim}
+%\end{quote}
+%
% \subsubsection{Experimental}
%
% \begin{declcs}{pdf@unescapehexnative} \M{string}\\
@@ -435,7 +464,7 @@ and the derived files
\fi
\expandafter\x\csname ver@pdftexcmds.sty\endcsname
\ProvidesPackage{pdftexcmds}%
- [2009/09/22 v0.5 LuaTeX support for pdfTeX utility functions (HO)]
+ [2009/09/23 v0.6 LuaTeX support for pdfTeX utility functions (HO)]
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -498,9 +527,11 @@ and the derived files
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input infwarerr.sty\relax
\input ifluatex.sty\relax
+ \input ltxcmds.sty\relax
\else
\RequirePackage{infwarerr}[2007/09/09]%
\RequirePackage{ifluatex}[2009/04/10]%
+ \RequirePackage{ltxcmds}%
\fi
% \end{macrocode}
%
@@ -601,6 +632,7 @@ and the derived files
\pdftexcmds@directlua{%
if tex.enableprimitives then
tex.enableprimitives('pdf@', {'primitive', 'ifprimitive'})
+ tex.enableprimitives('', {'luaescapestring'})
end
}%
\endgroup %
@@ -721,9 +753,60 @@ and the derived files
\pdftexcmds@temp{strcmp}%
% \end{macrocode}
%
+% \subsection{\cs{pdf@isprimitive}}
+%
% \begin{macrocode}
+\def\pdf@isprimitive{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdf@strcmp\endcsname\relax
+ \long\def\pdf@isprimitive##1{%
+ \expandafter\pdftexcmds@isprimitive\expandafter{\meaning##1}%
+ }%
+ \long\def\pdftexcmds@isprimitive##1##2{%
+ \expandafter\pdftexcmds@@isprimitive\expandafter{\string##2}{##1}%
+ }%
+ \def\pdftexcmds@@isprimitive##1##2{%
+ \ifnum0\pdftexcmds@equal##1\delimiter##2\delimiter=1 %
+ \expandafter\ltx@firstoftwo
+ \else
+ \expandafter\ltx@secondoftwo
+ \fi
+ }%
+ \def\pdftexcmds@equal##1##2\delimiter##3##4\delimiter{%
+ \ifx##1##3%
+ \ifx\relax##2##4\relax
+ 1%
+ \else
+ \ifx\relax##2\relax
+ \else
+ \ifx\relax##4\relax
+ \else
+ \pdftexcmds@equalcont{##2}{##4}%
+ \fi
+ \fi
+ \fi
+ \fi
+ }%
+ \def\pdftexcmds@equalcont##1{%
+ \def\pdftexcmds@equalcont####1####2##1##1##1##1{%
+ ##1##1##1##1%
+ \pdftexcmds@equal####1\delimiter####2\delimiter
+ }%
+ }%
+ \expandafter\pdftexcmds@equalcont\csname fi\endcsname
+ \else
+ \long\def\pdf@isprimitive##1##2{%
+ \ifnum\pdf@strcmp{\meaning##1}{\string##2}=0 %
+ \expandafter\ltx@firstoftwo
+ \else
+ \expandafter\ltx@secondoftwo
+ \fi
+ }%
+ \fi
+}
\ifluatex
\else
+ \pdf@isprimitive
\pdftexcmds@AtEnd
\expandafter\endinput
\fi
@@ -773,6 +856,9 @@ and the derived files
}%
% \end{macrocode}
% \end{macro}
+% \begin{macrocode}
+\pdf@isprimitive
+% \end{macrocode}
% \begin{macro}{\pdf@escapehex}
% \begin{macrocode}
\long\def\pdf@escapehex#1{%
@@ -1355,6 +1441,58 @@ end
%</test1>
% \end{macrocode}
%
+% \subsection{Test for \cs{pdf@isprimitive}}
+%
+% \begin{macrocode}
+%<*test2>
+\catcode`\{=1 %
+\catcode`\}=2 %
+\catcode`\#=6 %
+\catcode`\@=11 %
+\input pdftexcmds.sty\relax
+\def\msg#1{%
+ \begingroup
+ \escapechar=92 %
+ \immediate\write16{#1}%
+ \endgroup
+}
+\long\def\test#1#2#3#4{%
+ \begingroup
+ #4%
+ \def\str{%
+ Test \string\pdf@isprimitive
+ {\string #1}{\string #2}{...}: %
+ }%
+ \pdf@isprimitive{#1}{#2}{%
+ \ifx#3Y%
+ \msg{\str true ==> OK.}%
+ \else
+ \errmessage{\str false ==> FAILED}%
+ \fi
+ }{%
+ \ifx#3Y%
+ \errmessage{\str true ==> FAILED}%
+ \else
+ \msg{\str false ==> OK.}%
+ \fi
+ }%
+ \endgroup
+}
+\test\relax\relax Y{}
+\test\foobar\relax Y{\let\foobar\relax}
+\test\foobar\relax N{}
+\test\hbox\hbox Y{}
+\test\foobar@hbox\hbox Y{\let\foobar@hbox\hbox}
+\test\if\if Y{}
+\test\if\ifx N{}
+\test\ifx\if N{}
+\test\par\par Y{}
+\test\hbox\par N{}
+\test\par\hbox N{}
+\csname @@end\endcsname\end
+%</test2>
+% \end{macrocode}
+%
% \section{Installation}
%
% \subsection{Download}
@@ -1418,6 +1556,8 @@ end
% oberdiek.pdftexcmds.lua & scripts/oberdiek/oberdiek.pdftexcmds.lua\\
% pdftexcmds.lua & scripts/oberdiek/pdftexcmds.lua\\
% pdftexcmds.pdf & doc/latex/oberdiek/pdftexcmds.pdf\\
+% test/pdftexcmds-test1.tex & doc/latex/oberdiek/test/pdftexcmds-test1.tex\\
+% test/pdftexcmds-test2.tex & doc/latex/oberdiek/test/pdftexcmds-test2.tex\\
% pdftexcmds.dtx & source/latex/oberdiek/pdftexcmds.dtx\\
% \end{tabular}^^A
% }^^A
@@ -1564,6 +1704,10 @@ end
% \cs{pdf@shellescape}, \cs{pdf@strcmp}, \cs{pdf@primitive},
% \cs{pdf@ifprimitive}.
% \end{Version}
+% \begin{Version}{2009/09/23 v0.6}
+% \item
+% Macro \cs{pdf@isprimitive} added.
+% \end{Version}
% \end{History}
%
% \PrintIndex