summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty')
-rw-r--r--macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty32
1 files changed, 32 insertions, 0 deletions
diff --git a/macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty b/macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty
new file mode 100644
index 0000000000..6213d0cb5e
--- /dev/null
+++ b/macros/latex/contrib/lisp-on-tex/lisp-simple-alloc.sty
@@ -0,0 +1,32 @@
+\newcount\@lisp@gc@simple@count
+
+% gc initializer (called by lisp-on-tex.sty)
+\def\@lisp@gc@init{\@lisp@gc@simple@count=0\relax}
+
+% allocator
+% The allocator define #1 to allocated the control sequence
+\def\@lisp@gc@alloc#1{%
+ \expandafter\def\expandafter#1\expandafter{%
+ \csname @lisp@gc@memory\the\@lisp@gc@simple@count\endcsname}%
+ \global\advance\@lisp@gc@simple@count1\relax}
+
+% GC main routine. The routine is called by the allocator.
+% If you want to call GC manually, you can do it.
+% In simple mode, this does not affects.
+\def\@lisp@gc@perform{}
+
+% pinning a object on global.
+% In simple mode, this does not affects.
+\def\@lisp@gc@pinning#1#2{}
+
+% pinning objects on local.
+% In simple mode, this does not affects.
+\def\@lisp@gc@save@objects@local#1{}
+
+% pinning memories on local.
+% In simple mode, this does not affects.
+\def\@lisp@gc@save@memory@local#1{}
+
+% pinning environmnt on local.
+% In simple mode, this does not affects.
+\def\@lisp@gc@save@env@local#1{} \ No newline at end of file