|
|
1.1 root 1: !
2: ! Built-ins for V6
3: !
4: {CODE APPEND,<AL1 AL2>}
5: {CODE CAPS,<REPLACE(AL1,LOWLETS,UPLETS)>}
6: {CODE CENTER,<?PUTBREAK(0) ?PUTCHARS((LE(T = $LINELENGTH - LSIZE(AL1),0)-
7: ,DUPL(HS,T / 2)) AL1) ?PUTBREAK(0)>}
8: {CODE CHAR,<SUBSTR(&ALPHABET,AL1 + 1,1)>}
9: {CODE DATE,<SUBSTR(DATE(),1,11)>}
10: {CODE DBL,<OVER(AL1,AL1)>}
11: {CODE DISPLAY,<?(QUERY = AL1) ?(TERMINAL = )>}
12: {CODE DSIZE,<(LSIZE(CONVERT(MACDEF(AL1),.STRING)),LSIZE(EVAL(MACROS['D'])))>}
13: {CODE DUPL,<DUPL(AL1,AL2)>}
14: {CODE EJECT,<SUBSTR(&ALPHABET,13,1)>}
15: {SETQ ENDPAGE,{EJECT}}
16: {CODE FLUSH,<TSETSTACK[REPLACE(AL1,LOWLETS,UPLETS)] = >}
17: {SETQ FJ,{SET FILL}{SET JUST}}
18: {CODE GPMIFY,<APPLY((DIFFER(PFLG) .GPMPRINT, .GPMIFY), AL1, NULLARGS)>}
19: {SETQ IF,{GPMIFY <{COND {>{D 2} {D 1}<,>{D 3}<},>{D 4}<,,>{D 5}<}>}}
20: {SETQ IF\*,1}
21: {CODE INDEX,<(IDENT(AL2) 1,-
22: ?(AL1 ? BREAKX(SUBSTR(AL2,1,1)) AL2 @T) (T - SIZE(AL2) + 1), 0)>}
23: {CODE LIN,<SET('LMG',$LMG + AL1,'T')>}
24: {SETQ LITERAL,{BRK}{TSET INPUT,,ENDTEXT={COND {LEQ @1},!**,,@1},-
25: INFORMAT=1,FILL=1,JUST=1}}
26: {SETQ LOAD,{COND {LEQ @2},{TSET INPUT,@1},,-
27: {TSET INPUT,@1,BEGINTEXT=!{D 2},ENDTEXT=!**}}}
28: {CODE LPAD,<(LE(AL2,T = LSIZE(AL1)),-
29: LE(SIZE(AL[3]),1) DUPL((IDENT(AL[3]) HS, AL[3]),AL2 - T),-
30: LSUBSTR(DUPL(AL[3],AL2),1,AL2 - T)) AL1>}
31: {SETQ NFJ,{SET FILL,1}{SET JUST,1}}
32: {SETQ NEWPAGE,{LS 1}{COND {GT @PAGENUM,1},-
33: {LPAD PAGE~{PAGENUM},@LINELENGTH}}{LS 2}}
34: {SETQ OUTDENT,{BRK}{TSET.- LMG,@1}{TSET NEWLINE,{D NEWLINE}-
35: <{RESTORE LMG,NEWLINE}>}}
36: {SETQ P,{SET LINENUM,1}}
37: {CODE PARA,<?PUTBREAK(1) PUTCHARS(DUPL(HS,5))>}
38: {CODE PREPEND,<AL2 AL1>}
39: {CODE QUERY,<?(QUERY = AL1) TERMINAL>}
40: {CODE REMDR,<REMDR(AL1,AL2)>}
41: {CODE REPLACE,<REPLACE(AL1,AL2,(EQ(SIZE(AL[3]),1) DUPL(AL[3],SIZE(AL2)),-
42: AL[3]))>}
43: {SETQ RESET,{SET RMG,75}{SET LMG,10}{SET LINENUM,1}{SET PAGENUM,1}-
44: {SET BIAS,0}{SET SPACING,1}{NFJ}{SET PAGELENGTH,55}-
45: {SET BSLACK,0}{SET HS,~}}
46: {CODE RIN,<SET('RMG',$RMG - AL1,'T')>}
47: {CODE RPAD,<AL1 (LE(AL2,T = LSIZE(AL1)),-
48: LE(SIZE(AL[3]),1) DUPL((IDENT(AL[3]) HS, AL[3]),AL2 - T),-
49: LSUBSTR(DUPL(AL[3],AL2),1,AL2 - T))>}
50: {CODE SIZE,<LSIZE(AL1)>}
51: {CODE SUBSTR,<LSUBSTR(AL1,AL2,AL[3])>}
52: {SETQ SYSLOAD,<{LOAD SYS$LIBRARY:GPMLIB.GPM,@1}>}
53: {CODE T,<(GT(AL1,$LINELENGTH),LT(AL1,1),-
54: (GT(AL1,T = LSIZE(LINE)),PUTBREAK(0) ?(T = 0)) -
55: (LE(SIZE(AL2),1) DUPL((IDENT(AL2) HS, AL2),AL1 - (T + 1)),-
56: LSUBSTR(DUPL(AL2,AL1),1,AL1 - (T + 1))))>}
57: {CODE UL,<(IDENT(AL1), OVER(REPLACE((IMAGES(AL[1]))[0],-
58: (IDENT(AL2) REPLACE(AL1,SP,BS),REPLACE(AL1,AL2,DUPL(BS,SIZE(AL2)))),-
59: DUPL('_',SIZE(AL1))),AL1))>}
60: {CODE +,<AL1 + AL2>}
61: {CODE -,<AL1 - AL2>}
62: {CODE *,<AL1 * AL2>}
63: {CODE /,<AL1 / AL2>}
64: {CODE ADD1,<AL1 + 1>}
65: {CODE SUB1,<AL1 - 1>}
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.