(loader '((title |pepe.lo|)))
(if (not (>= (version) 15.21)) (progn (error 'load 'erricf 'pepe)))
(defvar #:sys-package:colon 'pepe)
(add-feature 'pepe)
(defvar #:pepe:buffer ())
(defvar #:pepe:xcursor 0)
(defvar #:pepe:ycursor 0)
(defvar #:pepe:column 0)
(defvar #:pepe:ydisplay 0)
(defvar #:pepe:file "tmp")
(defvar #:pepe:commands ())
(defvar #:pepe:escommands ())
(defvar #:pepe:modbuf ())
(defvar #:pepe:kill ())
(defvar #:pepe:searchstrg "")
(defvar #:pepe:x)
(defvar #:pepe:y)
(defvar #:pepe:l)
(defvar #:pepe:s)
(defvar #:pepe:fm)
(defvar #:pepe:char)
(defvar #:pepe:oscreen)
(defvar #:pepe:nscreen)
(defvar #:pepe:xy)
(defvar #:pepe:pos)
(defvar #:pepe:xmax)
(defvar #:pepe:xmax+1)
(defvar #:pepe:xmax/2+2)
(defvar #:pepe:xmax/2-2)
(defvar #:pepe:xmax+1*ymax)
(defvar #:pepe:-xmax+1)
(defvar #:pepe:ymax)
(defvar #:pepe:ymax+1)
(defvar #:pepe:ymax-1)
(defvar #:pepe:ymax/2)
(defvar #:pepe:ymax/4)
(putprop 'pepe 'parano '#:complice:fvar)
(loader'((fentry pepe fsubr)
(entry pepe fsubr)
(mov (car a1) a1)
(push (cvalq #:pepe:f))
(mov a1 (cvalq #:pepe:f))
(push '1)
(push '(#:pepe:f))
(push (@ pepe))
(push llink)
(mov nil llink)
(push dlink)
(push cbindn)
(stack dlink)
(jcall pepefile)
(mov (& 1) dlink)
(mov (& 2) llink)
(mov (& 6) (cvalq #:pepe:f))
(adjstk '7)
(return)
))
(putprop 'pepefile 'parano '#:complice:fvar)
(loader'((fentry pepefile subr1)
(entry pepefile subr1)
(push (cvalq #:pepe:f))
(mov a1 (cvalq #:pepe:f))
(push '1)
(push '(#:pepe:f))
(push (@ pepefile))
(push llink)
(mov nil llink)
(push dlink)
(push cbindn)
(stack dlink)
(jcall tyxmax)
(push a1)
(jcall tyymax)
(push a1)
(jcall tyxmax)
(plus '1 a1)
(push a1)
(jcall tyxmax)
(plus '1 a1)
(mov '0 a4)
(diff a1 a4)
(push a4)
(jcall tyxmax)
(diff '1 a1)
(push a1)
(jcall tyxmax)
(quo '2 a1)
(plus '2 a1)
(push a1)
(jcall tyxmax)
(quo '2 a1)
(diff '2 a1)
(push a1)
(jcall tyymax)
(plus '1 a1)
(push a1)
(jcall tyymax)
(diff '1 a1)
(push a1)
(jcall tyymax)
(quo '2 a1)
(push a1)
(jcall tyymax)
(quo '4 a1)
(push a1)
(jcall tyxmax)
(plus '1 a1)
(push a1)
(jcall tyymax)
(pop a4)
(times a1 a4)
(push (cvalq #:pepe:xmax+1*ymax))
(mov a4 (cvalq #:pepe:xmax+1*ymax))
(push (cvalq #:pepe:ymax/4))
(mov (& 2) (cvalq #:pepe:ymax/4))
(push (cvalq #:pepe:ymax/2))
(mov (& 4) (cvalq #:pepe:ymax/2))
(push (cvalq #:pepe:ymax-1))
(mov (& 6) (cvalq #:pepe:ymax-1))
(push (cvalq #:pepe:ymax+1))
(mov (& 8) (cvalq #:pepe:ymax+1))
(push (cvalq #:pepe:xmax/2-2))
(mov (& 10) (cvalq #:pepe:xmax/2-2))
(push (cvalq #:pepe:xmax/2+2))
(mov (& 12) (cvalq #:pepe:xmax/2+2))
(push (cvalq #:pepe:xmax-1))
(mov (& 14) (cvalq #:pepe:xmax-1))
(push (cvalq #:pepe:-xmax+1))
(mov (& 16) (cvalq #:pepe:-xmax+1))
(push (cvalq #:pepe:xmax+1))
(mov (& 18) (cvalq #:pepe:xmax+1))
(push (cvalq #:pepe:ymax))
(mov (& 20) (cvalq #:pepe:ymax))
(push (cvalq #:pepe:xmax))
(mov (& 22) (cvalq #:pepe:xmax))
(push '12)
(push '(#:pepe:xmax+1*ymax #:pepe:ymax/4 #:pepe:ymax/2 #:pepe:ymax-1 #:pepe:ymax+1 #:pepe:xmax/2-2 #:pepe:xmax/2+2 #:pepe:xmax-1 #:pepe:-xmax+1 #:pepe:xmax+1 #:pepe:ymax #:pepe:xmax))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(mov (cvalq #:pepe:xmax+1) a3)
(times (cvalq #:pepe:ymax+1) a3)
(mov '32 a2)
(mov a3 a1)
(jcall makestring)
(push a1)
(mov (cvalq #:pepe:xmax+1) a4)
(times (cvalq #:pepe:ymax+1) a4)
(mov '32 a2)
(mov a4 a1)
(jcall makestring)
(push (cvalq #:pepe:nscreen))
(mov a1 (cvalq #:pepe:nscreen))
(push (cvalq #:pepe:oscreen))
(mov (& 2) (cvalq #:pepe:oscreen))
(push '2)
(push '(#:pepe:nscreen #:pepe:oscreen))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(jcall #:pepe:clrscreen)
(bfnil (cvalq #:pepe:f) 101)
(bfnil (cvalq #:pepe:buffer) 102)
(push (@ 105))
(push '"")
(mov '1 a4)
(jmp list)
105
(eval ())
(mov a1 (cvalq #:pepe:buffer))
(bra 102)
101
(mov '"tmp" (cvalq #:pepe:file))
(mov '0 (cvalq #:pepe:xcursor))
(mov '0 (cvalq #:pepe:ycursor))
(mov '0 (cvalq #:pepe:column))
(mov '0 (cvalq #:pepe:ydisplay))
(mov nil (cvalq #:pepe:modbuf))
(mov 't a2)
(mov (cvalq #:pepe:f) a1)
(jcall equal)
(btnil a1 106)
(push (@ 108))
(push '"")
(mov '1 a4)
(jmp list)
108
(eval ())
(mov a1 (cvalq #:pepe:buffer))
(bra 102)
106
(btcons (cvalq #:pepe:f) 109)
(push (@ 111))
(push 'eoc)
(push dlink)
(push tag)
(stack dlink)
(mov (cvalq #:pepe:f) a1)
(jcall #:pepe:readfile)
(mov a1 (cvalq #:pepe:buffer))
(mov (& 1) dlink)
(adjstk '4)
111
(eval ())
(mov (cvalq #:pepe:f) a1)
(jcall string)
(mov a1 (cvalq #:pepe:file))
(bra 102)
109
(push (@ 112))
(push '"")
(mov '1 a4)
(jmp list)
112
(eval ())
(mov a1 (cvalq #:pepe:buffer))
(push '#:pepe:eval)
(push (cvalq #:sys-package:itsoft))
(mov (& 1) (cvalq #:sys-package:itsoft))
(push '1)
(push '(#:sys-package:itsoft))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 113))
(push (cvalq #:pepe:f))
(mov '1 a4)
(jmp eval)
113
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:sys-package:itsoft))
(adjstk '8)
(mov (cvalq #:pepe:buffer) a1)
(jcall nreverse)
(mov a1 (cvalq #:pepe:buffer))
102
(jcall typrologue)
(push (@ 114))
(push 'pepe)
(push dlink)
(push tag)
(stack dlink)
115
(push (@ 117))
(push 'eoc)
(push dlink)
(push tag)
(stack dlink)
(jcall #:pepe:redisplay)
(mov (cvalq #:pepe:ycursor) a2)
(mov (cvalq #:pepe:xcursor) a1)
(jcall tycursor)
(jcall tyi)
(jcall #:pepe:pepecmd)
(mov (& 1) dlink)
(adjstk '4)
117
(eval ())
(bra 115)
116
(mov (& 1) dlink)
(adjstk '4)
114
(eval ())
(mov (cvalq #:pepe:ymax) a2)
(mov '0 a1)
(jcall tycursor)
(jcall tycleol)
(mov (cvalq #:pepe:ymax-1) a2)
(mov '0 a1)
(jcall tycursor)
(jcall tycleol)
(jcall tyepilogue)
(jcall tyflush)
(mov 'pepe a1)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:oscreen))
(mov (& 7) (cvalq #:pepe:nscreen))
(adjstk '9)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:xmax))
(mov (& 7) (cvalq #:pepe:ymax))
(mov (& 8) (cvalq #:pepe:xmax+1))
(mov (& 9) (cvalq #:pepe:-xmax+1))
(mov (& 10) (cvalq #:pepe:xmax-1))
(mov (& 11) (cvalq #:pepe:xmax/2+2))
(mov (& 12) (cvalq #:pepe:xmax/2-2))
(mov (& 13) (cvalq #:pepe:ymax+1))
(mov (& 14) (cvalq #:pepe:ymax-1))
(mov (& 15) (cvalq #:pepe:ymax/2))
(mov (& 16) (cvalq #:pepe:ymax/4))
(mov (& 17) (cvalq #:pepe:xmax+1*ymax))
(adjstk '29)
(mov (& 1) dlink)
(mov (& 2) llink)
(mov (& 6) (cvalq #:pepe:f))
(adjstk '7)
(return)
))
(loader'((fentry #:pepe:eval:eol subr0)
(entry #:pepe:eval:eol subr0)
(push (@ 101))
(push (@ 102))
(mov '0 a4)
(jmp outbuf)
102
(eval ())
(push a1)
(push '0)
(push (@ 103))
(mov '0 a4)
(jmp outpos)
103
(eval ())
(push a1)
(mov '3 a4)
(jmp substring)
101
(eval ())
(mov (cvalq #:pepe:buffer) a2)
(jcall cons)
(mov a1 (cvalq #:pepe:buffer))
(push (@ 104))
(push (@ 105))
(mov '0 a4)
(jmp outbuf)
105
(eval ())
(push a1)
(push '0)
(push '32)
(push (@ 106))
(mov '0 a4)
(jmp outpos)
106
(eval ())
(push a1)
(mov '4 a4)
(jmp fillstring)
104
(eval ())
(push (@ 107))
(push (@ 108))
(mov '0 a4)
(jmp lmargin)
108
(eval ())
(push a1)
(mov '1 a4)
(jmp outpos)
107
(eval ())
(return)
))
(loader'((fentry #:pepe:pepecmd subr1)
(entry #:pepe:pepecmd subr1)
(push a1)
(mov (cvalq #:pepe:commands) a2)
(jcall cassq)
(btnil a1 101)
(jcall eprogn)
(bra 102)
101
(cnbge (& 0) '32 103)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
103
(mov (& 0) a1)
(jcall #:pepe:insertchar)
102
(jcall tys)
(mov a1 (& 0))
(btnil a1 105)
(adjstk '1)
(jmp #:pepe:pepecmd)
105
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:escommand subr0)
(entry #:pepe:escommand subr0)
(jcall tyi)
(push a1)
(cnblt a1 '97 102)
(cnbgt a1 '122 102)
(diff '32 a1)
(mov a1 (& 0))
102
(mov (cvalq #:pepe:escommands) a2)
(jcall cassq)
(btnil a1 103)
(adjstk '1)
(jmp eprogn)
103
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:redisplay subr0)
(entry #:pepe:redisplay subr0)
(push (@ 101))
(push (cvalq #:pepe:nscreen))
(push '0)
(push '32)
(mov '3 a4)
(jmp fillstring)
101
(eval ())
(mov (cvalq #:pepe:xmax+1*ymax) a4)
(plus (cvalq #:pepe:xmax/2-2) a4)
(push a4)
(mov (cvalq #:pepe:buffer) a1)
(jcall length)
(push a1)
(mov (cvalq #:pepe:buffer) a2)
(mov (cvalq #:pepe:ydisplay) a1)
(jcall nthcdr)
(push (cvalq #:pepe:-xmax+1))
(push '"Pepe: ")
(push a1)
(push (cvalq #:pepe:pos))
(mov (& 5) (cvalq #:pepe:pos))
(push '1)
(push '(#:pepe:pos))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(mov (cvalq #:pepe:ymax) a4)
(bra 103)
102
(push a4)
(push (@ 104))
(push (cvalq #:pepe:nscreen))
(mov (& 12) a4)
(plus (cvalq #:pepe:xmax+1) a4)
(mov a4 (& 12))
(push a4)
(mov (& 11) a4)
(push (car a4))
(push '0)
(push (cvalq #:pepe:xmax+1))
(mov '5 a4)
(jmp bltstring)
104
(eval ())
(mov (& 8) a4)
(btnil (car a4) 105)
(mov (cdr a4) (& 8))
(hgsize (car a4) a3)
(cnble a3 (cvalq #:pepe:xmax+1) 105)
(mov (& 10) a4)
(plus (cvalq #:pepe:xmax) a4)
(hbmovx '92 (cvalq #:pepe:nscreen) a4)
(mov '92 a4)
(bra 106)
105
(mov nil a4)
106
(pop a4)
103
(sobgez a4 102)
(push (@ 107))
(push (cvalq #:pepe:nscreen))
(push (cvalq #:pepe:xmax+1*ymax))
(push '32)
(push (cvalq #:pepe:xmax))
(mov '4 a4)
(jmp fillstring)
107
(eval ())
(push (@ 108))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xmax+1*ymax) a4)
(plus '0 a4)
(push a4)
(push (& 11))
(push '0)
(mov '4 a4)
(jmp bltstring)
108
(eval ())
(push (@ 109))
(push (cvalq #:pepe:nscreen))
(hgsize (& 10) a4)
(mov (cvalq #:pepe:xmax+1*ymax) a3)
(plus a4 a3)
(push a3)
(push (cvalq #:pepe:file))
(push '0)
(mov '4 a4)
(jmp bltstring)
109
(eval ())
(mov (& 10) a1)
(jcall #:pepe:fillminibufnb)
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:pos) a4)
(diff '1 a4)
(mov a4 (cvalq #:pepe:pos))
(pop a3)
(hbmovx '47 a3 a4)
(mov (cvalq #:pepe:ydisplay) a3)
(plus (cvalq #:pepe:ycursor) a3)
(plus '1 a3)
(mov a3 a1)
(jcall #:pepe:fillminibufnb)
(push (@ 110))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xmax+1*ymax) a4)
(plus (cvalq #:pepe:xmax/2-2) a4)
(push a4)
(btnil (cvalq #:pepe:modbuf) 111)
(mov '" <M> " a4)
(bra 112)
111
(mov '"    " a4)
112
(push a4)
(push '0)
(mov '4 a4)
(jmp bltstring)
110
(eval ())
(push (@ 113))
(push (cvalq #:pepe:nscreen))
(push (cvalq #:pepe:oscreen))
(push (cvalq #:pepe:xmax+1))
(push (cvalq #:pepe:ymax+1))
(mov '4 a4)
(jmp redisplayscreen)
113
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:pos))
(adjstk '12)
(return)
))
(loader'((fentry #:pepe:trueredisplay dmsubr)
(entry #:pepe:trueredisplay dmsubr)
(mov '(redisplayscreen #:pepe:nscreen #:pepe:oscreen #:pepe:xmax+1 #:pepe:ymax+1) a1)
(return)
))
(loader'((fentry #:pepe:fillminibuf dmsubr)
(entry #:pepe:fillminibuf dmsubr)
(mov (cdr a1) a4)
(mov (car a1) a1)
(mov (car a4) a4)
(push a4)
(push (@ 101))
(push 'bltstring)
(push '#:pepe:nscreen)
(push (@ 102))
(push 'add)
(push '#:pepe:xmax+1*ymax)
(push a1)
(mov '3 a4)
(jmp list)
102
(eval ())
(push a1)
(push (& 4))
(push '(0))
(mov '5 a4)
(jmp mcons)
101
(eval ())
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:fillminibufnb subr1)
(entry #:pepe:fillminibufnb subr1)
(push a1)
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:pos) a4)
(diff '1 a4)
(mov a4 (cvalq #:pepe:pos))
(rem '10 a1)
(mov '48 a3)
(plus a1 a3)
(pop a2)
(hbmovx a3 a2 a4)
(cnblt (& 0) '10 101)
(mov (& 0) a3)
(quo '10 a3)
(mov a3 a1)
(adjstk '1)
(jmp #:pepe:fillminibufnb)
101
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:clrscreen subr0)
(entry #:pepe:clrscreen subr0)
(mov '0 a2)
(mov '0 a1)
(jcall tycursor)
(jcall tycls)
(push (@ 101))
(push (cvalq #:pepe:oscreen))
(push '0)
(push '32)
(mov '3 a4)
(jmp fillstring)
101
(eval ())
(return)
))
(loader'((fentry #:pepe:more subr0)
(entry #:pepe:more subr0)
(push '" Encore? ")
(hgsize (& 0) a4)
(push a4)
(push (@ 101))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xmax+1*ymax) a3)
(plus (cvalq #:pepe:xmax/2+2) a3)
(push a3)
(push (& 4))
(push '0)
(mov '4 a4)
(jmp bltstring)
101
(eval ())
(push (@ 102))
(push (cvalq #:pepe:nscreen))
(push (cvalq #:pepe:oscreen))
(push (cvalq #:pepe:xmax+1))
(push (cvalq #:pepe:ymax+1))
(mov '4 a4)
(jmp redisplayscreen)
102
(eval ())
(mov (cvalq #:pepe:xmax/2+2) a4)
(plus (& 0) a4)
(mov (cvalq #:pepe:ymax) a2)
(mov a4 a1)
(jcall tycursor)
(push (@ 105))
(jcall tyi)
(push a1)
(push '" YyOoTt")
(mov '2 a4)
(jmp chrpos)
105
(eval ())
(bfnil a1 104)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
104
(push (@ 106))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xmax+1*ymax) a4)
(plus (cvalq #:pepe:xmax/2+2) a4)
(push a4)
(mov '32 a2)
(mov (& 3) a1)
(jcall makestring)
(push a1)
(push '0)
(mov '4 a4)
(jmp bltstring)
106
(eval ())
(adjstk '2)
(return)
))
(loader'((fentry #:pepe:readname subr1)
(entry #:pepe:readname subr1)
(push a1)
(push (@ 101))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xmax+1*ymax) a4)
(plus (cvalq #:pepe:xmax/2+2) a4)
(push a4)
(push a1)
(push '0)
(mov '4 a4)
(jmp bltstring)
101
(eval ())
(hgsize (& 0) a4)
(mov (cvalq #:pepe:xmax/2+2) a3)
(plus a4 a3)
(push nil)
(push nil)
(push a3)
(push (@ 102))
(push (cvalq #:pepe:nscreen))
(push (cvalq #:pepe:oscreen))
(push (cvalq #:pepe:xmax+1))
(push (cvalq #:pepe:ymax+1))
(mov '4 a4)
(jmp redisplayscreen)
102
(eval ())
(mov (cvalq #:pepe:ymax) a2)
(mov (& 0) a1)
(jcall tycursor)
103
(jcall tyi)
(mov a1 (& 1))
(cabeq a1 '13 104)
(cabne a1 '7 105)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
105
(cabne a1 '8 107)
(push (@ 109))
(push (cvalq #:pepe:nscreen))
(mov (& 2) a4)
(diff '1 a4)
(mov a4 (& 2))
(mov (cvalq #:pepe:xmax+1*ymax) a3)
(plus a4 a3)
(push a3)
(push '" ")
(push '0)
(mov '4 a4)
(jmp bltstring)
109
(eval ())
(mov (& 0) a4)
(diff '1 a4)
(mov a4 (& 0))
(mov (& 2) a3)
(mov (cdr a3) (& 2))
(bra 106)
107
(push (@ 110))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xmax+1*ymax) a4)
(plus (& 2) a4)
(push a4)
(push (@ 111))
(push a1)
(mov '1 a4)
(jmp list)
111
(eval ())
(push a1)
(push '0)
(mov '4 a4)
(jmp bltstring)
110
(eval ())
(mov (& 2) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (& 2))
106
(push (@ 112))
(push (cvalq #:pepe:nscreen))
(push (cvalq #:pepe:oscreen))
(push (cvalq #:pepe:xmax+1))
(push (cvalq #:pepe:ymax+1))
(mov '4 a4)
(jmp redisplayscreen)
112
(eval ())
(mov (& 0) a4)
(plus '1 a4)
(mov a4 (& 0))
(mov (cvalq #:pepe:ymax) a2)
(mov a4 a1)
(jcall tycursor)
(bra 103)
104
(btnil (& 2) 113)
(mov (& 2) a1)
(jcall nreverse)
(adjstk '4)
(jmp string)
113
(mov '"" a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '4)
(return)
))
(loader'((fentry #:pepe:deadend dmsubr)
(entry #:pepe:deadend dmsubr)
(mov '(progn (tybeep) (exit eoc)) a1)
(return)
))
(loader'((fentry #:pepe:currentline dmsubr)
(entry #:pepe:currentline dmsubr)
(mov '(nth (add #:pepe:ydisplay #:pepe:ycursor) #:pepe:buffer) a1)
(return)
))
(loader'((fentry #:pepe:currentlines dmsubr)
(entry #:pepe:currentlines dmsubr)
(mov '(nthcdr (add #:pepe:ydisplay #:pepe:ycursor) #:pepe:buffer) a1)
(return)
))
(loader'((fentry #:pepe:cursor dmsubr)
(entry #:pepe:cursor dmsubr)
(mov (cdr a1) a4)
(mov (car a1) a1)
(mov (car a4) a4)
(push (@ 101))
(push 'setq)
(push '#:pepe:xcursor)
(push a1)
(push '#:pepe:ycursor)
(push a4)
(mov '5 a4)
(jmp list)
101
(eval ())
(return)
))
(loader'((fentry #:pepe:bolp dmsubr)
(entry #:pepe:bolp dmsubr)
(mov '(eqn #:pepe:xcursor 0) a1)
(return)
))
(loader'((fentry #:pepe:eolp dmsubr)
(entry #:pepe:eolp dmsubr)
(mov '(ge #:pepe:xcursor (slen (#:pepe:currentline))) a1)
(return)
))
(loader'((fentry #:pepe:bobp dmsubr)
(entry #:pepe:bobp dmsubr)
(mov '(and (eqn #:pepe:ydisplay 0) (eqn #:pepe:ycursor 0)) a1)
(return)
))
(loader'((fentry #:pepe:eobp dmsubr)
(entry #:pepe:eobp dmsubr)
(mov '(ge (add1 (add #:pepe:ydisplay #:pepe:ycursor)) (length #:pepe:buffer)) a1)
(return)
))
(loader'((fentry #:pepe:bosp dmsubr)
(entry #:pepe:bosp dmsubr)
(mov '(eqn #:pepe:ycursor 0) a1)
(return)
))
(loader'((fentry #:pepe:eosp dmsubr)
(entry #:pepe:eosp dmsubr)
(mov '(ge #:pepe:ycursor #:pepe:ymax-1) a1)
(return)
))
(loader'((fentry #:pepe:left subr0)
(entry #:pepe:left subr0)
(cnbeq (cvalq #:pepe:xcursor) '0 101)
(mov (cvalq #:pepe:xcursor) a4)
(diff '1 a4)
(mov a4 (cvalq #:pepe:xcursor))
(mov a4 (cvalq #:pepe:column))
(mov a4 a1)
(return)
101
(jcall #:pepe:up)
(jmp #:pepe:endline)
))
(loader'((fentry #:pepe:right subr0)
(entry #:pepe:right subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nth)
(hgsize a1 a4)
(cnbge (cvalq #:pepe:xcursor) a4 101)
(cnblt (cvalq #:pepe:xcursor) (cvalq #:pepe:xmax) 103)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
103
(mov (cvalq #:pepe:xcursor) a4)
(plus '1 a4)
(mov a4 (cvalq #:pepe:xcursor))
(mov a4 (cvalq #:pepe:column))
(mov a4 a1)
(return)
101
(jcall #:pepe:begline)
(jmp #:pepe:down)
))
(loader'((fentry #:pepe:endline subr0)
(entry #:pepe:endline subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nth)
(hgsize a1 a1)
(mov (cvalq #:pepe:xmax) a2)
(jcall imin)
(mov a1 (cvalq #:pepe:xcursor))
(mov a1 (cvalq #:pepe:column))
(return)
))
(loader'((fentry #:pepe:begline subr0)
(entry #:pepe:begline subr0)
(mov '0 (cvalq #:pepe:xcursor))
(mov '0 (cvalq #:pepe:column))
(mov '0 a1)
(return)
))
(loader'((fentry #:pepe:up subr0)
(entry #:pepe:up subr0)
(cnbne (cvalq #:pepe:ydisplay) '0 101)
(cnbne (cvalq #:pepe:ycursor) '0 101)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
101
(cnbeq (cvalq #:pepe:ycursor) '0 103)
(mov (cvalq #:pepe:ycursor) a4)
(diff '1 a4)
(mov a4 (cvalq #:pepe:ycursor))
(mov (cvalq #:pepe:ydisplay) a3)
(plus a4 a3)
(mov (cvalq #:pepe:buffer) a2)
(mov a3 a1)
(jcall nth)
(hgsize a1 a2)
(mov (cvalq #:pepe:column) a1)
(jcall imin)
(mov a1 (cvalq #:pepe:xcursor))
(bra 104)
103
(mov (cvalq #:pepe:ymax/4) a4)
(plus '1 a4)
(mov (cvalq #:pepe:ydisplay) a3)
(diff a4 a3)
(mov a3 (cvalq #:pepe:ydisplay))
(mov (cvalq #:pepe:ycursor) a4)
(plus (cvalq #:pepe:ymax/4) a4)
(mov a4 (cvalq #:pepe:ycursor))
(cnbge a3 '0 104)
(mov '0 (cvalq #:pepe:ydisplay))
(mov '0 (cvalq #:pepe:ycursor))
104
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nth)
(hgsize a1 a2)
(mov (cvalq #:pepe:column) a1)
(jcall imin)
(mov a1 (cvalq #:pepe:xcursor))
(return)
))
(loader'((fentry #:pepe:down subr0)
(entry #:pepe:down subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(plus '1 a4)
(push a4)
(mov (cvalq #:pepe:buffer) a1)
(jcall length)
(pop a4)
(cnblt a4 a1 101)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
101
(cnblt (cvalq #:pepe:ycursor) (cvalq #:pepe:ymax-1) 103)
(mov (cvalq #:pepe:ymax/4) a4)
(plus '1 a4)
(mov (cvalq #:pepe:ydisplay) a3)
(plus a4 a3)
(mov a3 (cvalq #:pepe:ydisplay))
(mov (cvalq #:pepe:ycursor) a4)
(diff (cvalq #:pepe:ymax/4) a4)
(mov a4 (cvalq #:pepe:ycursor))
(bra 104)
103
(mov (cvalq #:pepe:ycursor) a4)
(plus '1 a4)
(mov a4 (cvalq #:pepe:ycursor))
104
(mov (cvalq #:pepe:ydisplay) a3)
(plus a4 a3)
(mov (cvalq #:pepe:buffer) a2)
(mov a3 a1)
(jcall nth)
(hgsize a1 a2)
(mov (cvalq #:pepe:column) a1)
(jcall imin)
(mov a1 (cvalq #:pepe:xcursor))
(return)
))
(loader'((fentry #:pepe:nextscreen subr0)
(entry #:pepe:nextscreen subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ymax-1) a4)
(push a4)
(mov (cvalq #:pepe:buffer) a1)
(jcall length)
(pop a4)
(cnble a4 a1 102)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ymax-1) a4)
(mov a4 (cvalq #:pepe:ydisplay))
(jmp #:pepe:begline)
))
(loader'((fentry #:pepe:prevscreen subr0)
(entry #:pepe:prevscreen subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(diff (cvalq #:pepe:ymax-1) a4)
(mov a4 (cvalq #:pepe:ydisplay))
(cnbge a4 '0 102)
(mov '0 (cvalq #:pepe:ydisplay))
102
(jmp #:pepe:begline)
))
(loader'((fentry #:pepe:insertchar subr1)
(entry #:pepe:insertchar subr1)
(push a1)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(push a1)
(push (@ 101))
(push '" ")
(push (car a1))
(mov '2 a4)
(jmp catenate)
101
(eval ())
(push a1)
(cnblt (cvalq #:pepe:xcursor) (cvalq #:pepe:xmax) 102)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(push (@ 104))
(push a1)
(push '0)
(push a1)
(push '1)
(push (cvalq #:pepe:xcursor))
(mov '5 a4)
(jmp bltstring)
104
(eval ())
(hbmovx (& 2) (& 0) (cvalq #:pepe:xcursor))
(mov (& 1) a4)
(mov (& 0) (car a4))
103
(mov (cvalq #:pepe:xcursor) a4)
(plus '1 a4)
(mov a4 (cvalq #:pepe:xcursor))
(mov a4 (cvalq #:pepe:column))
(mov 't (cvalq #:pepe:modbuf))
(mov 't a1)
(adjstk '3)
(return)
))
(loader'((fentry #:pepe:deletechar subr0)
(entry #:pepe:deletechar subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(push nil)
(push a1)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nth)
(hgsize a1 a4)
(cnblt (cvalq #:pepe:xcursor) a4 101)
(push (@ 103))
(mov (& 1) a4)
(push (car a4))
(mov (cdr a4) a4)
(push (car a4))
(mov '2 a4)
(jmp catenate)
103
(eval ())
(mov (& 0) a3)
(mov (cdr a3) a3)
(mov (cdr a3) a3)
(mov a1 a2)
(mov (& 0) a1)
(jcall rplac)
(bra 102)
101
(mov (& 0) a1)
(hgsize (car a1) a1)
(diff '1 a1)
(mov '32 a2)
(jcall makestring)
(mov a1 (& 1))
(push (@ 104))
(push a1)
(push '0)
(mov (& 3) a4)
(push (car a4))
(push '0)
(push (cvalq #:pepe:xcursor))
(mov '5 a4)
(jmp bltstring)
104
(eval ())
(push (@ 105))
(push (& 2))
(push (cvalq #:pepe:xcursor))
(mov (& 3) a4)
(push (car a4))
(mov (cvalq #:pepe:xcursor) a4)
(plus '1 a4)
(push a4)
(mov '4 a4)
(jmp bltstring)
105
(eval ())
(mov (& 0) a4)
(mov (& 1) (car a4))
102
(adjstk '2)
(mov 't (cvalq #:pepe:modbuf))
(mov 't a1)
(return)
))
(loader'((fentry #:pepe:breakline subr0)
(entry #:pepe:breakline subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(push a1)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nth)
(hgsize a1 a4)
(cnbge (cvalq #:pepe:xcursor) a4 101)
(push (@ 103))
(mov (& 1) a4)
(push (car a4))
(push '0)
(push (cvalq #:pepe:xcursor))
(mov '3 a4)
(jmp substring)
103
(eval ())
(push a1)
(push (@ 104))
(mov (& 2) a4)
(push (car a4))
(push (cvalq #:pepe:xcursor))
(mov '2 a4)
(jmp substring)
104
(eval ())
(mov (& 1) a2)
(mov (cdr a2) a2)
(jcall cons)
(mov a1 a3)
(pop a2)
(mov (& 0) a1)
(jcall rplac)
(bra 102)
101
(mov (& 0) a2)
(mov (cdr a2) a2)
(mov '"" a1)
(jcall cons)
(mov (& 0) a4)
(mov a1 (cdr a4))
102
(mov 't (cvalq #:pepe:modbuf))
(mov 't a1)
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:killine subr0)
(entry #:pepe:killine subr0)
(mov 't (cvalq #:pepe:modbuf))
(cnbne (cvalq #:pepe:ydisplay) '0 101)
(cnbne (cvalq #:pepe:ycursor) '0 101)
(mov (cvalq #:pepe:buffer) a4)
(mov (cdr a4) (cvalq #:pepe:buffer))
(mov (car a4) (cvalq #:pepe:kill))
(bfnil (cvalq #:pepe:buffer) 102)
(push (@ 105))
(push '"")
(mov '1 a4)
(jmp list)
105
(eval ())
(mov a1 (cvalq #:pepe:buffer))
(bra 102)
101
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(plus '1 a4)
(push a4)
(mov (cvalq #:pepe:buffer) a1)
(jcall length)
(pop a4)
(cnblt a4 a1 106)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(diff '1 a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(mov (cdr a1) a4)
(mov (car a4) (cvalq #:pepe:kill))
(mov (cdr a1) a3)
(mov (cdr a3) (cdr a1))
(jcall #:pepe:up)
(bra 102)
106
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(mov (car a1) (cvalq #:pepe:kill))
(mov (cdr a1) a2)
(mov (cdr a1) a3)
(mov (cdr a3) a3)
(mov (car a2) a2)
(jcall rplac)
102
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nth)
(hgsize a1 a4)
(cnbge a4 (cvalq #:pepe:xcursor) 108)
(jmp #:pepe:endline)
108
(mov nil a1)
(return)
))
(loader'((fentry #:pepe:search subr0)
(entry #:pepe:search subr0)
(push (@ 101))
(push 'eoc)
(push dlink)
(push tag)
(stack dlink)
(mov '" Chaine? " a1)
(jcall #:pepe:readname)
(mov (& 1) dlink)
(adjstk '4)
101
(eval ())
(push a1)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(push '0)
(push nil)
(push a1)
(bfnil (& 3) 102)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(mov '"" a2)
(mov (& 3) a1)
(jcall eqstring)
(btnil a1 104)
(mov (cvalq #:pepe:searchstrg) (& 3))
(bra 103)
104
(mov (& 3) (cvalq #:pepe:searchstrg))
103
(push (@ 106))
(push (& 4))
(mov (& 2) a4)
(mov (cdr a4) (& 2))
(push (car a4))
(push (cvalq #:pepe:xcursor))
(mov '3 a4)
(jmp index)
106
(eval ())
(mov a1 (& 1))
(push (@ 107))
(push 'search)
(push dlink)
(push tag)
(stack dlink)
108
(btnil (& 5) 110)
(hgsize (& 7) a4)
(mov (& 5) a3)
(plus a4 a3)
(mov (& 6) a2)
(mov a3 a1)
(jcall #:pepe:gotoabs)
(mov nil a1)
(mov 'search a2)
(jmp #:llcp:exit)
110
(bfnil (& 4) 112)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
112
(push (@ 114))
(push (& 8))
(mov (& 6) a4)
(mov (cdr a4) (& 6))
(push (car a4))
(push '0)
(mov '3 a4)
(jmp index)
114
(eval ())
(mov a1 (& 5))
(mov (& 6) a4)
(plus '1 a4)
(mov a4 (& 6))
(bra 108)
109
(mov nil a1)
(mov (& 1) dlink)
(adjstk '4)
107
(eval ())
(adjstk '4)
(return)
))
(loader'((fentry #:pepe:gotoabs subr2)
(entry #:pepe:gotoabs subr2)
(push a1)
(mov a1 (cvalq #:pepe:xcursor))
(mov (& 0) (cvalq #:pepe:column))
(mov (cvalq #:pepe:ycursor) a4)
(plus a2 a4)
(cnble a4 (cvalq #:pepe:ymax-1) 101)
(mov (cvalq #:pepe:ydisplay) a3)
(plus a4 a3)
(diff (cvalq #:pepe:ymax/2) a3)
(mov a3 (cvalq #:pepe:ydisplay))
(mov (cvalq #:pepe:ymax/2) (cvalq #:pepe:ycursor))
(mov (cvalq #:pepe:ymax/2) a1)
(adjstk '1)
(return)
101
(mov a4 (cvalq #:pepe:ycursor))
(mov a4 a1)
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:matchparent subr1)
(entry #:pepe:matchparent subr1)
(push a1)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(push (cvalq #:pepe:fm))
(mov a1 (cvalq #:pepe:fm))
(push '1)
(push '(#:pepe:fm))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (cvalq #:pepe:xcursor))
(push (cvalq #:pepe:x))
(mov (& 1) (cvalq #:pepe:x))
(push '1)
(push '(#:pepe:x))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push '0)
(push (cvalq #:pepe:y))
(mov (& 1) (cvalq #:pepe:y))
(push '1)
(push '(#:pepe:y))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(mov (cdr a1) (cvalq #:pepe:fm))
(push (car a1))
(push (cvalq #:pepe:l))
(mov (& 1) (cvalq #:pepe:l))
(push '1)
(push '(#:pepe:l))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(hgsize (cvalq #:pepe:l) a4)
(push (cvalq #:pepe:s))
(mov a4 (cvalq #:pepe:s))
(push '1)
(push '(#:pepe:s))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push nil)
(push (cvalq #:pepe:char))
(mov (& 1) (cvalq #:pepe:char))
(push '1)
(push '(#:pepe:char))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
101
(jcall #:pepe:curlexnext)
(cnbeq a1 (& 46) 102)
(bra 101)
102
(mov (cvalq #:pepe:y) a2)
(mov (cvalq #:pepe:x) a1)
(jcall #:pepe:gotoabs)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:char))
(adjstk '8)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:s))
(adjstk '7)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:l))
(adjstk '8)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:y))
(adjstk '8)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:x))
(adjstk '8)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:fm))
(adjstk '8)
(return)
))
(loader'((fentry #:pepe:curlexnext subr0)
(entry #:pepe:curlexnext subr0)
(jcall #:pepe:curchar)
(cabne a1 '40 102)
103
(jcall #:pepe:curlexnext)
(cnbeq a1 '41 104)
(bra 103)
104
(mov '40 a1)
(return)
102
(cabne a1 '91 105)
106
(jcall #:pepe:curlexnext)
(cnbeq a1 '93 107)
(bra 106)
107
(mov '91 a1)
(return)
105
(cabne a1 '124 108)
109
(jcall #:pepe:curchar)
(cnbeq a1 '124 110)
(bra 109)
110
(mov '124 a1)
(return)
108
(cabne a1 '34 111)
112
(jcall #:pepe:curchar)
(cnbeq a1 '34 113)
(bra 112)
113
(mov '34 a1)
(return)
111
(cabne a1 '35 114)
(jcall #:pepe:curchar)
(cabeq a1 '40 117)
(cabeq a1 '91 117)
(cabne a1 '34 116)
117
(jmp #:pepe:curlexnext)
116
(cabne a1 '47 118)
(jcall #:pepe:curchar)
(mov '47 a1)
(return)
118
(mov (cvalq #:pepe:char) a1)
(return)
114
(cabne a1 '59 120)
(mov (cvalq #:pepe:s) (cvalq #:pepe:x))
(jmp #:pepe:curlexnext)
120
(mov (cvalq #:pepe:char) a1)
(return)
))
(loader'((fentry #:pepe:curchar subr0)
(entry #:pepe:curchar subr0)
101
(cnblt (cvalq #:pepe:x) (cvalq #:pepe:s) 102)
(bfnil (cvalq #:pepe:fm) 103)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
103
(mov '0 (cvalq #:pepe:x))
(mov (cvalq #:pepe:y) a4)
(plus '1 a4)
(mov a4 (cvalq #:pepe:y))
(mov (cvalq #:pepe:fm) a4)
(mov (cdr a4) (cvalq #:pepe:fm))
(mov (car a4) (cvalq #:pepe:l))
(hgsize (cvalq #:pepe:l) a4)
(mov a4 (cvalq #:pepe:s))
(bra 101)
102
(hbxmov (cvalq #:pepe:l) (cvalq #:pepe:x) a4)
(mov a4 (cvalq #:pepe:char))
(mov (cvalq #:pepe:x) a4)
(plus '1 a4)
(mov a4 (cvalq #:pepe:x))
(mov (cvalq #:pepe:char) a1)
(return)
))
(loader'((fentry #:pepe:readfile subr1)
(entry #:pepe:readfile subr1)
(push a1)
(jcall probefile)
(push nil)
(btnil a1 101)
(push (@ 103))
(mov '0 a4)
(jmp inchan)
103
(eval ())
(push a1)
(push (@ 104))
(push dlink)
(push prot)
(stack dlink)
(push (@ 106))
(mov (& 6) a1)
(jcall openi)
(push a1)
(mov '1 a4)
(jmp inchan)
106
(eval ())
(push (@ 107))
(push '0)
(mov '1 a4)
(jmp inmax)
107
(eval ())
(push (@ 108))
(push 'eof)
(push dlink)
(push tag)
(stack dlink)
109
(jcall readstring)
(mov (& 8) a2)
(jcall cons)
(mov a1 (& 8))
(bra 109)
110
(mov (& 1) dlink)
(adjstk '4)
108
(eval ())
(bfcons (& 4) 111)
(mov (& 4) a1)
(jcall nreverse)
(bra 112)
111
(push (@ 113))
(push '"")
(mov '1 a4)
(jmp list)
113
(eval ())
112
(mov (& 1) dlink)
(adjstk '3)
(push a1)
(mov (@ 105) a3)
104
(push a3)
(push a2)
(push (@ 114))
(push (& 4))
(mov '1 a4)
(jmp inchan)
114
(eval ())
(pop a2)
(pop a3)
(pop a1)
(bri a3)
105
(eval ())
(adjstk '3)
(return)
101
(jcall tybeep)
(push (@ 115))
(push '"")
(mov '1 a4)
(jmp list)
115
(eval ())
(adjstk '2)
(return)
))
(loader'((fentry #:pepe:writefile subr1)
(entry #:pepe:writefile subr1)
(push nil)
(push '0)
(push nil)
(push (cvalq #:system:debug))
(mov (& 1) (cvalq #:system:debug))
(push (cvalq #:system:print-msgs))
(mov (& 3) (cvalq #:system:print-msgs))
(push (cvalq #:system:error-flag))
(mov (& 5) (cvalq #:system:error-flag))
(push '3)
(push '(#:system:debug #:system:print-msgs #:system:error-flag))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 101))
(push '#:system:error-tag)
(push dlink)
(push tag)
(stack dlink)
(jcall openo)
(jcall ncons)
(mov (& 1) dlink)
(adjstk '4)
101
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:system:error-flag))
(mov (& 7) (cvalq #:system:print-msgs))
(mov (& 8) (cvalq #:system:debug))
(adjstk '12)
(push a1)
(btcons a1 103)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
103
(push (@ 104))
(mov '0 a4)
(jmp outchan)
104
(eval ())
(push a1)
(push (@ 105))
(mov '0 a4)
(jmp lmargin)
105
(eval ())
(push a1)
(push (@ 106))
(mov '0 a4)
(jmp rmargin)
106
(eval ())
(push a1)
(push (@ 107))
(push dlink)
(push prot)
(stack dlink)
(push (@ 109))
(mov (& 7) a4)
(push (car a4))
(mov '1 a4)
(jmp outchan)
109
(eval ())
(push (@ 110))
(push '0)
(mov '1 a4)
(jmp lmargin)
110
(eval ())
(push (@ 111))
(push (@ 112))
(mov '0 a4)
(jmp outbuf)
112
(eval ())
(hgsize a1 a4)
(diff '1 a4)
(push a4)
(mov '1 a4)
(jmp rmargin)
111
(eval ())
(push (cvalq #:pepe:xcursor))
(push (cvalq #:pepe:ycursor))
(push nil)
(push (cvalq #:system:print-for-read))
(mov (& 1) (cvalq #:system:print-for-read))
(push (cvalq #:pepe:ycursor))
(mov (& 3) (cvalq #:pepe:ycursor))
(push (cvalq #:pepe:xcursor))
(mov (& 5) (cvalq #:pepe:xcursor))
(push '3)
(push '(#:system:print-for-read #:pepe:ycursor #:pepe:xcursor))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(mov '0 (cvalq #:pepe:xcursor))
(mov (cvalq #:pepe:ymax) (cvalq #:pepe:ycursor))
(push (cvalq #:pepe:buffer))
113
(bfcons (& 0) 114)
(push (@ 115))
(mov (& 1) a4)
(mov (cdr a4) (& 1))
(push (car a4))
(mov '1 a4)
(jmp print)
115
(eval ())
(bra 113)
114
(adjstk '1)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:xcursor))
(mov (& 7) (cvalq #:pepe:ycursor))
(mov (& 8) (cvalq #:system:print-for-read))
(adjstk '12)
(push (@ 116))
(push (@ 117))
(mov '0 a4)
(jmp outchan)
117
(eval ())
(push a1)
(mov '1 a4)
(jmp close)
116
(eval ())
(mov (& 1) dlink)
(adjstk '3)
(push a1)
(mov (@ 108) a3)
107
(push a3)
(push a2)
(push (@ 118))
(push (& 4))
(mov '1 a4)
(jmp rmargin)
118
(eval ())
(push (@ 119))
(push (& 5))
(mov '1 a4)
(jmp lmargin)
119
(eval ())
(push (@ 120))
(push (& 6))
(mov '1 a4)
(jmp outchan)
120
(eval ())
(pop a2)
(pop a3)
(pop a1)
(bri a3)
108
(eval ())
(adjstk '3)
(mov nil (cvalq #:pepe:modbuf))
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:insertfile subr0)
(entry #:pepe:insertfile subr0)
(mov (cvalq #:pepe:ydisplay) a4)
(plus (cvalq #:pepe:ycursor) a4)
(mov (cvalq #:pepe:buffer) a2)
(mov a4 a1)
(jcall nthcdr)
(push a1)
(push a1)
(push (@ 101))
(mov '" Fichier? " a1)
(jcall #:pepe:readname)
(jcall #:pepe:readfile)
(push a1)
(mov (& 3) a4)
(push (cdr a4))
(mov '2 a4)
(jmp nconc)
101
(eval ())
(pop a4)
(mov a1 (cdr a4))
(mov 't (cvalq #:pepe:modbuf))
(mov 't a1)
(adjstk '1)
(return)
))
(loader'((fentry #:pepe:backup subr0)
(entry #:pepe:backup subr0)
(mov (cvalq #:pepe:file) a1)
(jcall probefile)
(btnil a1 101)
(push (@ 103))
(push '".")
(push (cvalq #:pepe:file))
(mov '2 a4)
(jmp index)
103
(eval ())
(push nil)
(push (cvalq #:pepe:backup))
(mov (& 1) (cvalq #:pepe:backup))
(push '1)
(push '(#:pepe:backup))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 104))
(btnil a1 105)
(push (@ 107))
(push (cvalq #:pepe:file))
(push '0)
(push a1)
(mov '3 a4)
(jmp substring)
107
(eval ())
(mov a1 a4)
(bra 106)
105
(mov (cvalq #:pepe:file) a4)
106
(push a4)
(push '".BAK")
(mov '2 a4)
(jmp catenate)
104
(eval ())
(mov a1 (cvalq #:pepe:backup))
(mov a1 a2)
(mov (cvalq #:pepe:file) a1)
(jcall renamefile)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:backup))
(adjstk '8)
(return)
101
(mov nil a1)
(return)
))
(loader'((fentry #:pepe:help subr0)
(entry #:pepe:help subr0)
(push (cvalq #:pepe:ycursor))
(push (cvalq #:pepe:-xmax+1))
(push nil)
(push (cvalq #:pepe:ycursor))
(mov (& 3) (cvalq #:pepe:ycursor))
(push '1)
(push '(#:pepe:ycursor))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push nil)
(push '0)
(push nil)
(push (cvalq #:system:debug))
(mov (& 1) (cvalq #:system:debug))
(push (cvalq #:system:print-msgs))
(mov (& 3) (cvalq #:system:print-msgs))
(push (cvalq #:system:error-flag))
(mov (& 5) (cvalq #:system:error-flag))
(push '3)
(push '(#:system:debug #:system:print-msgs #:system:error-flag))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 103))
(push '#:system:error-tag)
(push dlink)
(push tag)
(stack dlink)
(push (@ 104))
(push (cvalq #:system:llib-directory))
(push 'pepehelp)
(push (cvalq #:system:lelisp-extension))
(mov '3 a4)
(jmp catenate)
104
(eval ())
(jcall openi)
(mov a1 (& 23))
(jcall ncons)
(mov (& 1) dlink)
(adjstk '4)
103
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:system:error-flag))
(mov (& 7) (cvalq #:system:print-msgs))
(mov (& 8) (cvalq #:system:debug))
(adjstk '12)
(bfnil a1 102)
(jcall tybeep)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(jcall #:pepe:clrscreen)
(push (@ 105))
(mov '0 a4)
(jmp inchan)
105
(eval ())
(push a1)
(push (@ 106))
(push dlink)
(push prot)
(stack dlink)
(push (@ 108))
(push (& 12))
(mov '1 a4)
(jmp inchan)
108
(eval ())
(push (@ 109))
(push (cvalq #:pepe:nscreen))
(push '0)
(push '32)
(mov '3 a4)
(jmp fillstring)
109
(eval ())
(push (@ 110))
(push 'eof)
(push dlink)
(push tag)
(stack dlink)
111
(push (@ 113))
(push (cvalq #:pepe:nscreen))
(mov (& 18) a4)
(plus (cvalq #:pepe:xmax+1) a4)
(mov a4 (& 18))
(push a4)
(jcall readstring)
(push a1)
(push '0)
(push (cvalq #:pepe:xmax+1))
(mov '5 a4)
(jmp bltstring)
113
(eval ())
(bra 111)
112
(mov nil a1)
(mov (& 1) dlink)
(adjstk '4)
110
(eval ())
(mov (& 1) dlink)
(adjstk '3)
(push a1)
(mov (@ 107) a3)
106
(push a3)
(push a2)
(push (@ 114))
(push (& 4))
(mov '1 a4)
(jmp inchan)
114
(eval ())
(pop a2)
(pop a3)
(pop a1)
(bri a3)
107
(eval ())
(adjstk '1)
(push (@ 115))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xmax+1*ymax) a4)
(plus '0 a4)
(push a4)
(push '"Aide memoire de PEPE")
(push '0)
(mov '4 a4)
(jmp bltstring)
115
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:pepe:ycursor))
(adjstk '10)
(push (@ 116))
(push 'eoc)
(push dlink)
(push tag)
(stack dlink)
(jcall #:pepe:more)
(mov (& 1) dlink)
(adjstk '4)
116
(eval ())
(jmp #:pepe:clrscreen)
))
(putprop '#:pepe:evalbuffer 'parano '#:complice:fvar)
(loader'((fentry #:pepe:evalbuffer subr0)
(entry #:pepe:evalbuffer subr0)
(push '#:pepe:evalbuffer)
(push (cvalq #:pepe:buffer))
(push (cvalq #:pepe:-xmax+1))
(push (cvalq #:pepe:xy))
(mov (& 1) (cvalq #:pepe:xy))
(push (cvalq #:pepe:buffer))
(mov (& 3) (cvalq #:pepe:buffer))
(push (cvalq #:sys-package:itsoft))
(mov (& 5) (cvalq #:sys-package:itsoft))
(push '3)
(push '(#:pepe:xy #:pepe:buffer #:sys-package:itsoft))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 101))
(mov '0 a4)
(jmp lmargin)
101
(eval ())
(push a1)
(push (@ 102))
(mov '0 a4)
(jmp rmargin)
102
(eval ())
(push (cvalq #:with:arg1))
(mov a1 (cvalq #:with:arg1))
(push (cvalq #:with:arg0))
(mov (& 2) (cvalq #:with:arg0))
(push '2)
(push '(#:with:arg1 #:with:arg0))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 103))
(push dlink)
(push prot)
(stack dlink)
(push (@ 105))
(push '0)
(mov '1 a4)
(jmp lmargin)
105
(eval ())
(push (@ 106))
(push (cvalq #:pepe:xmax-1))
(mov '1 a4)
(jmp rmargin)
106
(eval ())
(mov '0 a2)
(mov '0 a1)
(jcall tycursor)
(jcall tyflush)
(push (@ 107))
(push (@ 108))
(push 'eoc)
(push dlink)
(push tag)
(stack dlink)
109
(push (@ 111))
(push '"=> ")
(push (@ 112))
(jcall read)
(push a1)
(mov '1 a4)
(jmp eval)
112
(eval ())
(push a1)
(mov '2 a4)
(jmp print)
111
(eval ())
(bra 109)
110
(mov nil a1)
(mov (& 1) dlink)
(adjstk '4)
108
(eval ())
(push a1)
(mov '1 a4)
(jmp eval)
107
(eval ())
(push (cvalq #:system:error-flag))
(mov a1 (cvalq #:system:error-flag))
(push '1)
(push '(#:system:error-flag))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(btnil a1 113)
(mov (cvalq #:system:print-msgs) a4)
(bra 114)
113
(mov '0 a4)
114
(btnil a1 115)
(mov (cvalq #:system:debug) a3)
(bra 116)
115
(mov nil a3)
116
(push (cvalq #:system:debug))
(mov a3 (cvalq #:system:debug))
(push (cvalq #:system:print-msgs))
(mov a4 (cvalq #:system:print-msgs))
(push '2)
(push '(#:system:debug #:system:print-msgs))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 117))
(push '#:system:error-tag)
(push dlink)
(push tag)
(stack dlink)
(mov nil a1)
(jcall ncons)
(mov (& 1) dlink)
(adjstk '4)
117
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:system:print-msgs))
(mov (& 7) (cvalq #:system:debug))
(adjstk '8)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:system:error-flag))
(adjstk '7)
(jcall teread)
(jcall #:pepe:more)
(mov (& 1) dlink)
(adjstk '3)
(push a1)
(mov (@ 104) a3)
103
(push a3)
(push a2)
(push (@ 118))
(push (cvalq #:with:arg1))
(mov '1 a4)
(jmp rmargin)
118
(eval ())
(push (@ 119))
(push (cvalq #:with:arg0))
(mov '1 a4)
(jmp lmargin)
119
(eval ())
(pop a2)
(pop a3)
(pop a1)
(bri a3)
104
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:with:arg0))
(mov (& 7) (cvalq #:with:arg1))
(adjstk '9)
(mov (& 1) dlink)
(mov (& 6) (cvalq #:sys-package:itsoft))
(mov (& 7) (cvalq #:pepe:buffer))
(mov (& 8) (cvalq #:pepe:xy))
(adjstk '12)
(return)
))
(loader'((fentry #:pepe:evalbuffer:bol subr0)
(entry #:pepe:evalbuffer:bol subr0)
(bfnil (cvalq #:pepe:buffer) 101)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
101
(mov (cvalq #:pepe:buffer) a4)
(mov (cdr a4) (cvalq #:pepe:buffer))
(push (car a4))
(hgsize (& 0) a4)
(push a4)
(push (@ 103))
(push (@ 104))
(mov '0 a4)
(jmp inbuf)
104
(eval ())
(push a1)
(push '0)
(push (& 4))
(mov '3 a4)
(jmp bltstring)
103
(eval ())
(push (@ 105))
(mov '0 a4)
(jmp inbuf)
105
(eval ())
(hbmovx '13 a1 (& 0))
(push (@ 106))
(mov '0 a4)
(jmp inbuf)
106
(eval ())
(mov (& 0) a4)
(plus '1 a4)
(mov a4 (& 0))
(hbmovx '10 a1 a4)
(push (@ 107))
(plus '1 a4)
(mov a4 (& 1))
(push a4)
(mov '1 a4)
(jmp inmax)
107
(eval ())
(adjstk '2)
(return)
))
(loader'((fentry #:pepe:evalbuffer:syserror subr3)
(entry #:pepe:evalbuffer:syserror subr3)
(jcall printerror)
(mov nil a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
))
(loader'((fentry #:pepe:evalbuffer:eol subr0)
(entry #:pepe:evalbuffer:eol subr0)
(push (@ 101))
(push (cvalq #:pepe:nscreen))
(mov (cvalq #:pepe:xy) a4)
(plus (cvalq #:pepe:xmax+1) a4)
(mov a4 (cvalq #:pepe:xy))
(push a4)
(push '32)
(push (cvalq #:pepe:xmax+1))
(mov '4 a4)
(jmp fillstring)
101
(eval ())
(push (@ 102))
(push (cvalq #:pepe:nscreen))
(push (cvalq #:pepe:xy))
(push (@ 103))
(mov '0 a4)
(jmp outbuf)
103
(eval ())
(push a1)
(push '0)
(push (@ 104))
(mov '0 a4)
(jmp outpos)
104
(eval ())
(push a1)
(mov '5 a4)
(jmp bltstring)
102
(eval ())
(push (@ 105))
(push (@ 106))
(mov '0 a4)
(jmp outbuf)
106
(eval ())
(push a1)
(push '0)
(push '32)
(push (@ 107))
(mov '0 a4)
(jmp outpos)
107
(eval ())
(push a1)
(mov '4 a4)
(jmp fillstring)
105
(eval ())
(push (@ 108))
(push (@ 109))
(mov '0 a4)
(jmp lmargin)
109
(eval ())
(push a1)
(mov '1 a4)
(jmp outpos)
108
(eval ())
(mov (cvalq #:pepe:xmax+1) a4)
(times (cvalq #:pepe:ymax-1) a4)
(cnblt (cvalq #:pepe:xy) a4 110)
(jcall #:pepe:more)
(mov (cvalq #:pepe:-xmax+1) (cvalq #:pepe:xy))
(mov (cvalq #:pepe:-xmax+1) a1)
(return)
110
(mov nil a1)
(return)
))
(loader'((fentry defkey dmsubr)
(entry defkey dmsubr)
(mov (cdr a1) a4)
(mov (car a1) a1)
(push (@ 101))
(push 'newl)
(push '#:pepe:commands)
(push (@ 102))
(push 'cons)
(push a1)
(push (@ 103))
(push 'quote)
(push a4)
(mov '2 a4)
(jmp list)
103
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
102
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
101
(eval ())
(return)
))
(setq #:pepe:commands (cons (cons 1 '((#:pepe:begline))) #:pepe:commands))
(setq #:pepe:commands (cons (cons #:tty:left '((#:pepe:left))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 3 '((exit pepe))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 4 '((#:pepe:deletechar))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 5 '((#:pepe:endline))) #:pepe:commands))
(setq #:pepe:commands (cons (cons #:tty:right '((#:pepe:right))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 7 '((#:pepe:deadend))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 8 '((#:pepe:left) (#:pepe:cursor #:pepe:xcursor #:pepe:ycursor) (#:pepe:deletechar))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 11 '((#:pepe:killine))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 12 '((#:pepe:clrscreen))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 13 '((#:pepe:breakline) (#:pepe:right))) #:pepe:commands))
(setq #:pepe:commands (cons (cons #:tty:down '((#:pepe:down))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 15 '((#:pepe:breakline))) #:pepe:commands))
(setq #:pepe:commands (cons (cons #:tty:up '((#:pepe:up))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 19 '((#:pepe:search))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 22 '((#:pepe:clrscreen) (#:pepe:nextscreen))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 25 '((#:pepe:breakline) (#:pepe:cursor #:pepe:xcursor #:pepe:ycursor) (mapc '#:pepe:insertchar (pname #:pepe:kill)))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 127 '((#:pepe:left) (#:pepe:cursor #:pepe:xcursor #:pepe:ycursor) (#:pepe:deletechar))) #:pepe:commands))
(setq #:pepe:commands (cons (cons 27 '((#:pepe:escommand))) #:pepe:commands))
(loader'((fentry defesckey fsubr)
(entry defesckey fsubr)
(mov (cdr a1) a4)
(mov (car a1) a1)
(mov a4 a2)
(jcall cons)
(mov (cvalq #:pepe:escommands) a2)
(jcall cons)
(mov a1 (cvalq #:pepe:escommands))
(return)
))
(defesckey 69 (#:pepe:evalbuffer))
(defesckey 70 (setq #:pepe:file (#:pepe:readname " Nom du fichier? ")))
(defesckey 73 (#:pepe:insertfile))
(defesckey 82 (setq #:pepe:file (#:pepe:readname " Fichier? ") #:pepe:buffer (#:pepe:readfile #:pepe:file) #:pepe:xcursor 0 #:pepe:ycursor 0 #:pepe:column 0 #:pepe:ydisplay 0 #:pepe:modbuf ()))
(defesckey 83 (#:pepe:backup) (#:pepe:writefile #:pepe:file))
(defesckey 86 (#:pepe:clrscreen) (#:pepe:prevscreen))
(defesckey 87 (#:pepe:writefile (#:pepe:readname " Fichier? ")))
(defesckey 88 (apply (or (getfn 'pepe (concat (#:pepe:readname " Fonction? "))) '#:pepe:deadend) ()))
(defesckey 90 (#:pepe:writefile #:pepe:file) (tycursor 0 #:pepe:ymax) (loadfile #:pepe:file t) (exit pepe))
(defesckey 41 (#:pepe:matchparent 40))
(defesckey 93 (#:pepe:matchparent 91))
(defesckey 60 (#:pepe:clrscreen) (setq #:pepe:ydisplay 0 #:pepe:xcursor 0 #:pepe:ycursor 0 #:pepe:column 0))
(defesckey 62 (#:pepe:clrscreen) (setq #:pepe:ycursor (length #:pepe:buffer) #:pepe:ydisplay (imax 0 (sub #:pepe:ycursor #:pepe:ymax/2)) #:pepe:ycursor (sub1 (sub #:pepe:ycursor #:pepe:ydisplay))) (#:pepe:endline))
(defesckey 63 (#:pepe:help))
(loader'((fentry pepend subr0)
(entry pepend subr0)
(push (@ 101))
(push 'pepe)
(mov '1 a4)
(jmp oblist)
101
(eval ())
(push a1)
102
(bfcons (& 0) 103)
(mov (& 0) a1)
(mov (cdr a1) (& 0))
(mov (car a1) a1)
(jcall remob)
(bra 102)
103
(adjstk '1)
(mov 'pepe a1)
(jcall rem-feature)
(mov '(pepe pepe pepefile) a1)
(jmp libautoload)
))
(loader '((end)))