From 34918abf33f091050444ea42a63e43e0d9632da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Thu, 11 Mar 2010 17:23:52 +0100 Subject: attr is working now --- Makefile | 2 +- TODO | 1 + luatexbase-attr.dtx | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ luatexbase-regs.dtx | 4 ++-- 4 files changed, 67 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6206fec..98f31be 100644 --- a/Makefile +++ b/Makefile @@ -42,7 +42,7 @@ DO_MAKEINDEX = makeindex -s gind.ist $(subst .dtx,,$<) >/dev/null 2>&1 # Main targets definition all: $(GENERATED) -check: check-regs +check: check-regs check-attr doc: $(COMPILED) unpack: $(UNPACKED) ctan: check $(CTAN_ZIP) diff --git a/TODO b/TODO index ed9c0d3..b548346 100644 --- a/TODO +++ b/TODO @@ -10,6 +10,7 @@ general - import/update doc - date & changes entry +- redo module loading in packages once mods is done. Later ===== diff --git a/luatexbase-attr.dtx b/luatexbase-attr.dtx index 4af129c..759c5a7 100644 --- a/luatexbase-attr.dtx +++ b/luatexbase-attr.dtx @@ -143,6 +143,68 @@ and the derived files %<*texpackage> % \end{macrocode} % +% \subsubsection{Preliminaries} +% +% Reload protection, especially for \plaintex. +% +% \begin{macrocode} + \csname lltxb@attr@loaded\endcsname +\expandafter\let\csname lltxb@attr@loaded\endcsname\endinput +% \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-attr}[2010/03/11 v0.1 Attributes allocation for LuaTeX (mpg)] +% \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 PackageWarningNoLine\endcsname\relax + \def\x#1#2{\begingroup\newlinechar10 + \immediate\write16{Package #1 warning: #2}\endgroup} + \else + \let\x\PackageWarningNoLine + \fi + \expandafter\endgroup + \x{luatexbase-attr}{LuaTeX is required for this package.^^J + Aborting package loading.} + \expandafter\endinput +\fi +% \end{macrocode} +% +% Make sure the catcode of @ is correct, especially for \plaintex. +% +% \begin{macrocode} +\expandafter\edef\csname lltxb@attr@AtEnd\endcsname{% + \catcode64 \the\catcode64\relax} +\catcode64 11 +% \end{macrocode} +% +% \subsubsection{Main content} +% +% Load the supporting Lua module. +% +% \begin{macrocode} +\directlua{dofile(kpse.find_file('luatexbase.attr.lua', 'lua'))} +% \end{macrocode} +% % The most important macro here is |\newluatexattribute| that allocates a % new attribute, and adds it in the |tex.attributename| table (see % |luatextra.attributedef_from_tex| for more details. It works just like @@ -186,6 +248,7 @@ and the derived files % \end{macrocode} % % \begin{macrocode} +\lltxb@attr@AtEnd % % \end{macrocode} % diff --git a/luatexbase-regs.dtx b/luatexbase-regs.dtx index 11b7013..30e477d 100644 --- a/luatexbase-regs.dtx +++ b/luatexbase-regs.dtx @@ -211,7 +211,7 @@ and the derived files % Make sure the catcode of @ is correct, especially for \plaintex. % % \begin{macrocode} -\expandafter\edef\csname lltxb@AtEnd\endcsname{% +\expandafter\edef\csname lltxb@regs@AtEnd\endcsname{% \catcode64 \the\catcode64\relax} \catcode64 11 % \end{macrocode} @@ -388,7 +388,7 @@ and the derived files % That's all folks! % % \begin{macrocode} -\lltxb@AtEnd +\lltxb@regs@AtEnd % % \end{macrocode} % -- cgit v1.2.3