summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/basics-macros.opm
blob: 638270d38b57e22c0f995e76d4328f11fbb8dc0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
%% This is part of OpTeX project, see http://petr.olsak.net/optex

\_codedecl \sdef {Basic macros for OpTeX <2020-02-14>}

\let\_bgroup={  \let\_egroup=}

\_bgroup \_lccode`\.=`\\ \_lowercase{\_egroup \_def\_nbackslash {.}}
\_edef \_nbb {\_nbackslash\_nbackslash}
\_edef \_pcent{\_csstring\%}
\_def \_empty {}
\_def \_space { }
\_def \_null {\_hbox{}}
\_def \_wlog {\_immediate\_write-1 } % write on log file (only)
\_def \_opwarning #1{\_wterm{WARNING: #1.}}

\_def \_sdef #1{\_ea\_def \_csname#1\_endcsname}
\_def \_sxdef #1{\_ea\_xdef \_csname#1\_endcsname}
\_def \_slet #1#2{\_ea\_let \_csname#1\_ea\_endcsname \_csname#2\_endcsname}
\_def \_adef #1{\_catcode`#1=13 \_begingroup \_lccode`\~=`#1\_lowercase{\_endgroup\_def~}}
\_def \_cs #1{\_csname#1\_endcsname}

\_long\_def \_addto #1#2{\_ea\_def\_ea#1\_ea{#1#2}}

\_def\_loggingall{\_tracingcommands=3 \tracingstats=2 \tracingassigns=1
  \tracingpages=1 \tracingoutput=1 \tracinglostchars=1
  \tracingmacros=2 \tracingparagraphs=1 \tracingrestores=1 }
\_def\_tracingall{\tracingonline=1 \loggingall}

\_def\_remfirstunderscore#1{\_ea\_remfirstunderscoreA#1\_relax#1}
\_def\_remfirstunderscoreA#1#2\_relax#3{\_if _#1\_def#3{#2}\_fi}

\_public
   \bgroup \egroup \nbackslash 
   \empty \space \null \nbb \pcent \ncaret
   \sdef \sxdef \slet \cs \adef
   \addto \wlog \opwarning 
   \loggingall \tracingall ; 

\_endcode % -------------------------------------