summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexbase
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-05-28 15:54:16 +0000
committerKarl Berry <karl@freefriends.org>2010-05-28 15:54:16 +0000
commit7db7ee076f98cc2b3dca7228ae0e38ba4e88715a (patch)
treec15a7028a935446f0d5dcce2b5008a6f24e2242f /Master/texmf-dist/tex/luatex/luatexbase
parentae29f8fd830ee6798b80ee088fdd0c92b1a215f4 (diff)
luatexbase update (27may10)
git-svn-id: svn://tug.org/texlive/trunk@18560 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexbase')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/attr.lua23
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase-attr.sty26
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase-cctb.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase-compat.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase-loader.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase-mcb.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase-modutils.sty4
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase-regs.sty2
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/luatexbase.sty92
-rw-r--r--Master/texmf-dist/tex/luatex/luatexbase/modutils.lua2
10 files changed, 131 insertions, 26 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/attr.lua b/Master/texmf-dist/tex/luatex/luatexbase/attr.lua
index f794e350812..74ecd6ac07f 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/attr.lua
+++ b/Master/texmf-dist/tex/luatex/luatexbase/attr.lua
@@ -13,8 +13,27 @@
--
module('luatexbase', package.seeall)
attributes = {}
-function attributedef_from_tex(name, number)
- attributes[name] = tonumber(number)
+local last_alloc = 0
+function new_attribute(name, silent)
+ if last_alloc >= 65535 then
+ if silent then
+ return -1
+ else
+ error("No room for a new \\attribute", 1)
+ end
+ end
+ last_alloc = last_alloc + 1
+ attributes[name] = last_alloc
+ unset_attribute(name)
+ if not silent then
+ texio.write_nl('log', string.format(
+ 'luatexbase.attributes[%q] = %d', name, last_alloc))
+ end
+ return last_alloc
+end
+local unset_value = (luatexbase.luatexversion < 37) and -1 or -2147483647
+function unset_attribute(name)
+ tex.setattribute(attributes[name], unset_value)
end
--
-- End of File `attr.lua'.
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-attr.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-attr.sty
index d839e544bb3..5a78ea8a4fa 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-attr.sty
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-attr.sty
@@ -52,7 +52,7 @@
\let\x\ProvidesPackage
\fi
\expandafter\endgroup
-\x{luatexbase-attr}[2010/05/12 v0.2 Attributes allocation for LuaTeX]
+\x{luatexbase-attr}[2010/05/27 v0.2a Attributes allocation for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ifluatex.sty
@@ -88,28 +88,22 @@
\RequirePackage{luatexbase-loader}
\fi
\luatexbase@directlua{require('luatexbase.attr')}
-\newcount\lltxb@attribute@alloc
-\lltxb@attribute@alloc\m@ne
\def\newluatexattribute#1{%
- \ifnum\lltxb@attribute@alloc<65535\relax
- \global\advance\lltxb@attribute@alloc\@ne
- \allocationnumber\lltxb@attribute@alloc
+ \begingroup\escapechar\m@ne \expandafter\expandafter\expandafter
+ \endgroup \expandafter\expandafter\expandafter
+ \allocationnumber \luatexbase@directlua{tex.write(
+ luatexbase.new_attribute("\luatexluaescapestring{\string#1}", true))}%
+ \ifnum\allocationnumber>\m@ne
\global\luatexattributedef#1=\allocationnumber
- \unsetluatexattribute#1%
- \begingroup\escapechar\m@ne
- \luatexbase@directlua{luatexbase.attributedef_from_tex(
- '\luatexluaescapestring{\string#1}', '\number\allocationnumber')}%
- \endgroup
\wlog{\string#1=\string\luatexattribute\the\allocationnumber}%
\else
\errmessage{No room for a new \string\attribute}%
\fi}
\def\unsetluatexattribute#1{%
- \ifnum\luatexversion<37\relax
- #1=-1\relax
- \else
- #1=-"7FFFFFFF\relax
- \fi}
+ \begingroup\escapechar\m@ne
+ \luatexbase@directlua{%
+ luatexbase.unset_attribute("\luatexluaescapestring{\string#1}")}%
+ \endgroup}
\def\setluatexattribute#1#2{%
#1=\numexpr#2\relax}
\lltxb@attr@AtEnd
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-cctb.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-cctb.sty
index ce4cbeda89e..d526f2f46a6 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-cctb.sty
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-cctb.sty
@@ -52,7 +52,7 @@
\let\x\ProvidesPackage
\fi
\expandafter\endgroup
-\x{luatexbase-cctb}[2010/05/11 v0.2 Catcodetable allocation for LuaTeX]
+\x{luatexbase-cctb}[2010/05/27 v0.2a Catcodetable allocation for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ifluatex.sty
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-compat.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-compat.sty
index 672645ee0c1..be5d4e8ac3a 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-compat.sty
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-compat.sty
@@ -52,7 +52,7 @@
\let\x\ProvidesPackage
\fi
\expandafter\endgroup
-\x{luatexbase-compat}[2010/05/12 v0.2 Compatibility tools for LuaTeX]
+\x{luatexbase-compat}[2010/05/27 v0.2a Compatibility tools for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ifluatex.sty
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-loader.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-loader.sty
index f6c300e445f..1609aba726e 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-loader.sty
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-loader.sty
@@ -52,7 +52,7 @@
\let\x\ProvidesPackage
\fi
\expandafter\endgroup
-\x{luatexbase-loader}[2010/05/12 v0.2 Lua module loader for LuaTeX]
+\x{luatexbase-loader}[2010/05/27 v0.2a Lua module loader for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ifluatex.sty
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-mcb.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-mcb.sty
index f761f74a575..0fcd35fc4b9 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-mcb.sty
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-mcb.sty
@@ -52,7 +52,7 @@
\let\x\ProvidesPackage
\fi
\expandafter\endgroup
-\x{luatexbase-mcb}[2010/05/12 v0.2 Callback management for LuaTeX]
+\x{luatexbase-mcb}[2010/05/27 v0.2a Callback management for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ifluatex.sty
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-modutils.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-modutils.sty
index 0d46d515b2f..c33ae6a1c61 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-modutils.sty
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-modutils.sty
@@ -52,7 +52,7 @@
\let\x\ProvidesPackage
\fi
\expandafter\endgroup
-\x{luatexbase-modutils}[2010/05/12 v0.2 Module utilities for LuaTeX]
+\x{luatexbase-modutils}[2010/05/27 v0.2a Module utilities for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ifluatex.sty
@@ -81,7 +81,7 @@
\luatexbase@directlua{require('luatexbase.modutils')}
\luatexbase@ensure@primitive{luaescapestring}
\def\luatexUseModule#1{\luatexbase@directlua{%
- luatexbase.use_module("\luatexluescapestring{#1}")}}
+ luatexbase.use_module("\luatexluaescapestring{#1}")}}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname newcommand\endcsname\relax
\def\luatexRequireModule#1#2{%
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-regs.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-regs.sty
index 7e91965b5cf..816ddd411b1 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-regs.sty
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase-regs.sty
@@ -52,7 +52,7 @@
\let\x\ProvidesPackage
\fi
\expandafter\endgroup
-\x{luatexbase-regs}[2010/05/12 v0.2 Registers allocation for LuaTeX]
+\x{luatexbase-regs}[2010/05/27 v0.2a Registers allocation for LuaTeX]
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ifluatex.sty
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/luatexbase.sty b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase.sty
new file mode 100644
index 00000000000..bb66eef832f
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/luatexbase/luatexbase.sty
@@ -0,0 +1,92 @@
+\MetaPrefix
+\MetaPrefix This is file `luatexbase.sty',
+\MetaPrefix generated with the docstrip utility.
+\MetaPrefix
+\MetaPrefix The original source files were:
+\MetaPrefix
+\MetaPrefix luatexbase.dtx (with options: `texpackage')
+\MetaPrefix
+\MetaPrefix Written in 2009, 2010 by Manuel Pegourie-Gonnard and Elie Roux.
+\MetaPrefix
+\MetaPrefix This work is under the CC0 license.
+\MetaPrefix See source file 'luatexbase.dtx' for details.
+\MetaPrefix
+ \csname lltxb@core@loaded\endcsname
+\expandafter\let\csname lltxb@core@loaded\endcsname\endinput
+\begingroup
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \catcode 35 6 % #
+ \toks0{}%
+ \def\x{}%
+ \def\y#1 #2 {%
+ \toks0\expandafter{\the\toks0 \catcode#1 \the\catcode#1}%
+ \edef\x{\x \catcode#1 #2}}%
+ \y 123 1 % {
+ \y 125 2 % }
+ \y 35 6 % #
+ \y 10 12 % ^^J
+ \y 34 12 % "
+ \y 36 3 % $ $
+ \y 39 12 % '
+ \y 40 12 % (
+ \y 41 12 % )
+ \y 42 12 % *
+ \y 43 12 % +
+ \y 44 12 % ,
+ \y 45 12 % -
+ \y 46 12 % .
+ \y 47 12 % /
+ \y 60 12 % <
+ \y 61 12 % =
+ \y 64 11 % @ (letter)
+ \y 62 12 % >
+ \y 95 12 % _ (other)
+ \y 96 12 % `
+ \edef\y#1{\endgroup\edef#1{\the\toks0\relax}\x}%
+\expandafter\y\csname lltxb@core@AtEnd\endcsname
+\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}[2010/05/27 v0.2a Module utilities for LuaTeX]
+\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}{LuaTeX is required for this package. Aborting.}
+ \lltxb@core@AtEnd
+ \expandafter\endinput
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input luatexbase-compat.sty
+ \input luatexbase-loader.sty
+ \input luatexbase-regs.sty
+ \input luatexbase-attr.sty
+ \input luatexbase-cctb.sty
+\else
+ \RequirePackage{luatexbase-compat}
+ \RequirePackage{luatexbase-loader}
+ \RequirePackage{luatexbase-regs}
+ \RequirePackage{luatexbase-attr}
+ \RequirePackage{luatexbase-cctb}
+\fi
+\lltxb@core@AtEnd
+\endinput
+%%
+%% End of file `luatexbase.sty'.
diff --git a/Master/texmf-dist/tex/luatex/luatexbase/modutils.lua b/Master/texmf-dist/tex/luatex/luatexbase/modutils.lua
index 5abf32c2a3b..64b420c12cb 100644
--- a/Master/texmf-dist/tex/luatex/luatexbase/modutils.lua
+++ b/Master/texmf-dist/tex/luatex/luatexbase/modutils.lua
@@ -107,7 +107,7 @@ function provides_module(mod)
mod.name, mod.version, requiredversion.orig)
end
end
- modules[mod.name] = module
+ modules[mod.name] = mod
texio.write_nl('log', string.format("Lua module: %s %s v%.02f %s\n",
mod.name, mod.date, mod.version, mod.description))
end