summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/luamathalign/luamathalign-luaprop.lua
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-04-19 20:10:27 +0000
committerKarl Berry <karl@freefriends.org>2022-04-19 20:10:27 +0000
commitb12479292b3e2468c564619ee6b60dbc13eeb1be (patch)
tree01f444779592389c9650c7cfecfcd301ca6198db /Master/texmf-dist/tex/lualatex/luamathalign/luamathalign-luaprop.lua
parent3aef115c3b639b7f73a9866cda39c98e9bc8649c (diff)
luamathalign (19apr22)
git-svn-id: svn://tug.org/texlive/trunk@63081 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/luamathalign/luamathalign-luaprop.lua')
-rw-r--r--Master/texmf-dist/tex/lualatex/luamathalign/luamathalign-luaprop.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/lualatex/luamathalign/luamathalign-luaprop.lua b/Master/texmf-dist/tex/lualatex/luamathalign/luamathalign-luaprop.lua
new file mode 100644
index 00000000000..3e10f0fc454
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luamathalign/luamathalign-luaprop.lua
@@ -0,0 +1,42 @@
+----Copyright (C) 2019--2022 by Marcel Krueger
+---
+--- This file may be distributed and/or modified under the
+--- conditions of the LaTeX Project Public License, either
+--- version 1.3c of this license or (at your option) any later
+--- version. The latest version of this license is in:
+---
+--- http://www.latex-project.org/lppl.txt
+---
+--- and version 1.3 or later is part of all distributions of
+--- LaTeX version 2005/12/01 or later.
+return function(namespace)
+ return {
+ query = function(n)
+ local p = node.getproperty(n)
+ return p and p[namespace]
+ end,
+ get = function(n, ...)
+ local p = node.getproperty(n)
+ if not p then
+ p = {}
+ node.setproperty(n, p)
+ end
+ local n = p[namespace]
+ if nil == p[namespace] then
+ local d = select('#', ...) ~= 0 and ... or {}
+ n, p[namespace] = d, d
+ end
+ return n
+ end,
+ set = function(n, v)
+ local p = node.getproperty(n)
+ if not p then
+ p = {}
+ node.setproperty(n, p)
+ end
+ local old = p[namespace]
+ p[namespace] = v
+ return old
+ end,
+ }
+end