diff options
Diffstat (limited to 'tex/context/base/l-table.lua')
-rw-r--r-- | tex/context/base/l-table.lua | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tex/context/base/l-table.lua b/tex/context/base/l-table.lua index 02bc47bf8..e14514291 100644 --- a/tex/context/base/l-table.lua +++ b/tex/context/base/l-table.lua @@ -813,3 +813,33 @@ end --~ end --~ return concat(k,"") --~ end + +function table.insert_before_value(t,value,extra) + for i=1,#t do + if t[i] == extra then + remove(t,i) + end + end + for i=1,#t do + if t[i] == value then + insert(t,i,extra) + return + end + end + insert(t,1,extra) +end + +function table.insert_after_value(t,value,extra) + for i=1,#t do + if t[i] == extra then + remove(t,i) + end + end + for i=1,#t do + if t[i] == value then + insert(t,i+1,extra) + return + end + end + insert(t,#t+1,extra) +end |