(loader '((title |edit.lo|)))
(if (not (>= (version) 15.2)) (progn (error 'load 'erricf 'edit)))
(defvar #:sys-package:colon 'edit)
(add-feature 'edit)
(putprop 'buffer '(((vector #:edit:null-strg) 3 0 () () 0) buffer modif nolgn markx marky ldo) 'defstruct)
(loader'((fentry #:buffer:make subr0)
(entry #:buffer:make subr0)
(push (@ 101))
(push (@ 102))
(push (cvalq #:edit:null-strg))
(mov '1 a4)
(jmp vector)
102
(eval ())
(push a1)
(push '3)
(push '0)
(push nil)
(push nil)
(push '0)
(mov '6 a4)
(jmp vector)
101
(eval ())
(push a1)
(push (@ 103))
(push a1)
(push 'buffer)
(mov '2 a4)
(jmp typevector)
103
(eval ())
(mov (& 0) a1)
(adjstk '1)
(return)
))
(if (featurep 'setf) (progn (progn (putprop '#:buffer:buffer '#:buffer:buffer 'setf-inverse) '#:buffer:buffer)))
(if (featurep 'compiler) (progn (defmacro-open #:buffer:buffer (struct . valeur) (ifn valeur (list 'vref struct 0) (list 'vset struct 0 (car valeur))))))
(if (featurep 'setf) (progn (progn (putprop '#:buffer:modif '#:buffer:modif 'setf-inverse) '#:buffer:modif)))
(if (featurep 'compiler) (progn (defmacro-open #:buffer:modif (struct . valeur) (ifn valeur (list 'vref struct 1) (list 'vset struct 1 (car valeur))))))
(if (featurep 'setf) (progn (progn (putprop '#:buffer:nolgn '#:buffer:nolgn 'setf-inverse) '#:buffer:nolgn)))
(if (featurep 'compiler) (progn (defmacro-open #:buffer:nolgn (struct . valeur) (ifn valeur (list 'vref struct 2) (list 'vset struct 2 (car valeur))))))
(if (featurep 'setf) (progn (progn (putprop '#:buffer:markx '#:buffer:markx 'setf-inverse) '#:buffer:markx)))
(if (featurep 'compiler) (progn (defmacro-open #:buffer:markx (struct . valeur) (ifn valeur (list 'vref struct 3) (list 'vset struct 3 (car valeur))))))
(if (featurep 'setf) (progn (progn (putprop '#:buffer:marky '#:buffer:marky 'setf-inverse) '#:buffer:marky)))
(if (featurep 'compiler) (progn (defmacro-open #:buffer:marky (struct . valeur) (ifn valeur (list 'vref struct 4) (list 'vset struct 4 (car valeur))))))
(if (featurep 'setf) (progn (progn (putprop '#:buffer:ldo '#:buffer:ldo 'setf-inverse) '#:buffer:ldo)))
(if (featurep 'compiler) (progn (defmacro-open #:buffer:ldo (struct . valeur) (ifn valeur (list 'vref struct 5) (list 'vset struct 5 (car valeur))))))
(putprop 'edit '(((#:buffer:make) 0 0) pbuffer curx cury) 'defstruct)
(loader'((entry #:edit:make subr0)
(push (@ 101))
(jcall #:buffer:make)
(push a1)
(push '0)
(push '0)
(mov '3 a4)
(jmp vector)
101
(eval ())
(push a1)
(push (@ 102))
(push a1)
(push 'edit)
(mov '2 a4)
(jmp typevector)
102
(eval ())
(mov (& 0) a1)
(adjstk '1)
(return)
))
(if (featurep 'setf) (progn (progn (putprop '#:edit:pbuffer '#:edit:pbuffer 'setf-inverse) '#:edit:pbuffer)))
(if (featurep 'compiler) (progn (defmacro-open #:edit:pbuffer (struct . valeur) (ifn valeur (list 'vref struct 0) (list 'vset struct 0 (car valeur))))))
(if (featurep 'setf) (progn (progn (putprop '#:edit:curx '#:edit:curx 'setf-inverse) '#:edit:curx)))
(if (featurep 'compiler) (progn (defmacro-open #:edit:curx (struct . valeur) (ifn valeur (list 'vref struct 1) (list 'vset struct 1 (car valeur))))))
(if (featurep 'setf) (progn (progn (putprop '#:edit:cury '#:edit:cury 'setf-inverse) '#:edit:cury)))
(if (featurep 'compiler) (progn (defmacro-open #:edit:cury (struct . valeur) (ifn valeur (list 'vref struct 2) (list 'vset struct 2 (car valeur))))))
(defvar #:edit:search-strg ())
(defvar #:edit:null-strg (makestring 1 0))
(defvar #:edit:kill-buffer ())
(defvar #:edit:warning #["Argument is not an editor." "You're at the beginning of the buffer." "You're at the end of the buffer." "Null search string." "Can't find it." "Mark not set." "Non-existant kill buffer." "New file." "File not found." "Can't write file" "Mark set." "Read-only buffer."])
(loader'((fentry trap-edit subr3)
(entry trap-edit subr3)
(push a3)
(push a2)
(push a1)
(mov a2 a1)
(jcall type-of)
(mov 'edit a2)
(jcall subtypep)
(bfnil a1 101)
(hpxmov (cvalq #:edit:warning) '0 a2)
(mov (& 1) a3)
(mov 'trap-edit a1)
(adjstk '3)
(jmp error)
101
(mov (& 0) a1)
(cabne a1 '0 104)
(mov (& 1) a1)
(call #:edit:buf-new)
(bra 103)
104
(cabne a1 '1 105)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:buf-link)
(bra 103)
105
(cabne a1 '2 106)
(mov (& 1) a1)
(call #:edit:buf-unlink)
(bra 103)
106
(cabne a1 '3 107)
(mov (& 1) a1)
(call #:edit:cur-top)
(bra 103)
107
(cabne a1 '4 108)
(mov (& 1) a1)
(call #:edit:cur-buttom)
(bra 103)
108
(cabne a1 '5 109)
(mov (& 1) a1)
(call #:edit:cur-begline)
(bra 103)
109
(cabne a1 '6 110)
(mov (& 1) a1)
(call #:edit:cur-endline)
(bra 103)
110
(cabne a1 '7 111)
(mov (& 1) a1)
(call #:edit:cur-left)
(bra 103)
111
(cabne a1 '8 112)
(mov (& 1) a1)
(call #:edit:cur-right)
(bra 103)
112
(cabne a1 '9 113)
(mov (& 1) a1)
(call #:edit:cur-up)
(bra 103)
113
(cabne a1 '10 114)
(mov (& 1) a1)
(call #:edit:cur-down)
(bra 103)
114
(cabne a1 '11 115)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:cur-ygoto)
(bra 103)
115
(cabne a1 '12 116)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:cur-xgoto)
(bra 103)
116
(cabne a1 '13 117)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:char-insert)
(bra 103)
117
(cabne a1 '14 118)
(mov (& 1) a1)
(call #:edit:char-delete)
(bra 103)
118
(cabne a1 '15 119)
(mov (& 1) a1)
(call #:edit:char-delete-back)
(bra 103)
119
(cabne a1 '16 120)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:word-insert)
(bra 103)
120
(cabne a1 '17 121)
(mov (& 1) a1)
(call #:edit:word-delete)
(bra 103)
121
(cabne a1 '18 122)
(mov (& 1) a1)
(call #:edit:word-delete-back)
(bra 103)
122
(cabne a1 '19 123)
(mov (& 1) a1)
(call #:edit:word-first-char)
(bra 103)
123
(cabne a1 '20 124)
(mov (& 1) a1)
(call #:edit:word-last-char)
(bra 103)
124
(cabne a1 '21 125)
(mov (& 1) a1)
(call #:edit:word-left)
(bra 103)
125
(cabne a1 '22 126)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:word-search)
(bra 103)
126
(cabne a1 '23 127)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:word-reverse-search)
(bra 103)
127
(cabne a1 '24 128)
(mov (& 1) a1)
(call #:edit:word-get-symbol)
(bra 103)
128
(cabne a1 '25 129)
(mov (& 1) a1)
(call #:edit:line-insert)
(bra 103)
129
(cabne a1 '26 130)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:line-new)
(bra 103)
130
(cabne a1 '27 131)
(mov (& 1) a1)
(call #:edit:line-break)
(bra 103)
131
(cabne a1 '28 132)
(mov (& 1) a1)
(call #:edit:line-return)
(bra 103)
132
(cabne a1 '29 133)
(mov (& 1) a1)
(call #:edit:line-delete)
(bra 103)
133
(cabne a1 '30 134)
(mov (& 1) a1)
(call #:edit:line-get)
(bra 103)
134
(cabne a1 '31 135)
(mov (& 1) a1)
(call #:edit:line-bol)
(bra 103)
135
(cabne a1 '32 136)
(mov (& 1) a1)
(call #:edit:line-eol)
(bra 103)
136
(cabne a1 '33 137)
(mov (& 1) a1)
(call #:edit:mark-set)
(bra 103)
137
(cabne a1 '34 138)
(mov (& 1) a1)
(call #:edit:mark-exchange)
(bra 103)
138
(cabne a1 '35 139)
(mov (& 1) a1)
(call #:edit:mark-copy)
(bra 103)
139
(cabne a1 '36 140)
(mov (& 1) a1)
(call #:edit:mark-delete)
(bra 103)
140
(cabne a1 '37 141)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:file-read)
(bra 103)
141
(cabne a1 '38 142)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:file-insert)
(bra 103)
142
(cabne a1 '39 143)
(mov (& 2) a2)
(mov (& 1) a1)
(call #:edit:file-print)
(bra 103)
143
(cabne a1 '40 144)
(mov (& 1) a1)
(call #:edit:begin-expr)
(bra 103)
144
(cabne a1 '41 145)
(mov (& 1) a1)
(call #:edit:char-transpose)
(bra 103)
145
(cabne a1 '42 146)
(mov (& 1) a1)
(call #:edit:buf-readonly)
(bra 103)
146
(cabne a1 '43 147)
(mov (& 1) a1)
(call #:edit:buf-readwrite)
(bra 103)
147
(cabne a1 '44 148)
(mov (& 1) a1)
(call #:edit:matchnext)
(bra 103)
148
(cabne a1 '45 149)
(mov (& 1) a1)
(call #:edit:matchprevious)
(bra 103)
149
(cabne a1 '99 150)
(mov (& 1) a1)
(call #:edit:undo)
(bra 103)
150
(mov nil a1)
103
(hpxmov (& 1) '0 a4)
(hpmovx (& 0) a4 '5)
(adjstk '3)
(return)
))
(loader'((entry #:edit:buf-new subr1)
(push a1)
(hpxmov a1 '0 a4)
(push a4)
(push (@ 101))
(push (cvalq #:edit:null-strg))
(mov '1 a4)
(jmp vector)
101
(eval ())
(pop a4)
(hpmovx a1 a4 '0)
(hpxmov (& 0) '0 a4)
(hpmovx '0 (& 0) '2)
(hpmovx '0 (& 0) '1)
(hpmovx '0 a4 '2)
(hpxmov (& 0) '0 a4)
(hpmovx nil a4 '3)
(hpmovx nil a4 '4)
(hpxmov (& 0) '0 a4)
(hpmovx '3 a4 '1)
(mov '3 a1)
(adjstk '1)
(return)
))
(loader'((entry #:edit:buf-link subr2)
(push a2)
(push a1)
(mov a2 a1)
(jcall type-of)
(mov 'edit a2)
(jcall subtypep)
(bfnil a1 101)
(hpxmov (cvalq #:edit:warning) '0 a2)
(mov (& 0) a3)
(mov 'trap-edit a1)
(adjstk '2)
(jmp error)
101
(hpxmov (& 1) '1 a4)
(hpmovx a4 (& 0) '1)
(hpxmov (& 1) '2 a4)
(hpmovx a4 (& 0) '2)
(hpxmov (& 1) '0 a4)
(hpmovx a4 (& 0) '0)
(hpxmov (& 0) '0 a4)
(hpxmov (& 1) '0 a3)
(hpxmov a3 '1 a3)
(hpmovx a3 a4 '1)
(mov a3 a1)
(adjstk '2)
(return)
))
(loader'((entry #:edit:buf-unlink subr1)
(push a1)
(push a1)
(jcall #:buffer:make)
(pop a4)
(hpmovx a1 a4 '0)
(hpmovx '0 (& 0) '2)
(hpmovx '0 (& 0) '1)
(mov '0 a1)
(adjstk '1)
(return)
))
(loader'((entry #:edit:buf-readonly subr1)
(hpxmov a1 '0 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '1 a3)
(rem '2 a3)
(hpmovx a3 a4 '1)
(mov a3 a1)
(return)
))
(loader'((entry #:edit:buf-readwrite subr1)
(hpxmov a1 '0 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '1 a3)
(rem '2 a3)
(mov '2 a2)
(plus a3 a2)
(hpmovx a2 a4 '1)
(mov a2 a1)
(return)
))
(loader'((entry #:edit:check-modif subr1)
(push a1)
(hpxmov a1 '0 a4)
(hpxmov a4 '1 a4)
(cnbgt a4 '1 102)
(hpxmov (cvalq #:edit:warning) '11 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(hpxmov (& 0) '0 a3)
(hpmovx '5 a3 '1)
(mov '5 a1)
(adjstk '1)
(return)
))
(loader'((entry #:edit:cur-top subr1)
(hpmovx '0 a1 '2)
(hpmovx '0 a1 '1)
(mov '0 a1)
(return)
))
(loader'((entry #:edit:cur-buttom subr1)
(hpxmov a1 '0 a4)
(hpxmov a4 '2 a4)
(hpmovx a4 a1 '2)
(hpxmov a1 '0 a4)
(hpxmov a4 '0 a4)
(hpxmov a1 '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '0 a4)
(hpmovx a4 a1 '1)
(mov a4 a1)
(return)
))
(loader'((entry #:edit:cur-begline subr1)
(hpmovx '0 a1 '1)
(mov '0 a1)
(return)
))
(loader'((entry #:edit:cur-endline subr1)
(hpxmov a1 '0 a4)
(hpxmov a4 '0 a4)
(hpxmov a1 '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '0 a4)
(hpmovx a4 a1 '1)
(mov a4 a1)
(return)
))
(loader'((entry #:edit:cur-left subr1)
(push a1)
(hpxmov a1 '1 a4)
(cabeq a4 '0 101)
(hpxmov a1 '1 a4)
(diff '1 a4)
(hpmovx a4 a1 '1)
(mov a4 a1)
(adjstk '1)
(return)
101
(hpxmov a1 '2 a4)
(cabne a4 '0 104)
(hpxmov (cvalq #:edit:warning) '1 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
104
(mov (& 0) a1)
(call #:edit:cur-up)
(mov (& 0) a1)
(adjstk '1)
(bra #:edit:cur-endline)
))
(loader'((entry #:edit:cur-right subr1)
(push a1)
(hpxmov a1 '1 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '0 a3)
(hpxmov a1 '2 a2)
(hpxmov a3 a2 a3)
(hbxmov a3 '0 a3)
(cabeq a4 a3 101)
(hpxmov a1 '1 a4)
(plus '1 a4)
(hpmovx a4 a1 '1)
(mov a4 a1)
(adjstk '1)
(return)
101
(hpxmov a1 '2 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '2 a3)
(cabne a4 a3 104)
(hpxmov (cvalq #:edit:warning) '2 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
104
(mov (& 0) a1)
(call #:edit:cur-begline)
(mov (& 0) a1)
(adjstk '1)
(bra #:edit:cur-down)
))
(loader'((entry #:edit:cur-up subr1)
(push a1)
(hpxmov a1 '2 a4)
(cabne a4 '0 102)
(hpxmov (cvalq #:edit:warning) '1 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(hpxmov (& 0) '2 a4)
(diff '1 a4)
(hpmovx a4 (& 0) '2)
(hpxmov (& 0) '1 a4)
(hpxmov (& 0) '0 a3)
(hpxmov a3 '0 a3)
(hpxmov (& 0) '2 a2)
(hpxmov a3 a2 a3)
(hbxmov a3 '0 a3)
(cnble a4 a3 103)
(mov (& 0) a1)
(adjstk '1)
(bra #:edit:cur-endline)
103
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((entry #:edit:cur-down subr1)
(push a1)
(hpxmov a1 '2 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '2 a3)
(cabne a4 a3 102)
(hpxmov (cvalq #:edit:warning) '2 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(hpxmov (& 0) '2 a4)
(plus '1 a4)
(hpmovx a4 (& 0) '2)
(hpxmov (& 0) '1 a4)
(hpxmov (& 0) '0 a3)
(hpxmov a3 '0 a3)
(hpxmov (& 0) '2 a2)
(hpxmov a3 a2 a3)
(hbxmov a3 '0 a3)
(cnble a4 a3 103)
(mov (& 0) a1)
(adjstk '1)
(bra #:edit:cur-endline)
103
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((entry #:edit:cur-ygoto subr2)
(push a1)
(push a1)
(push '0)
(hpxmov a1 '0 a4)
(hpxmov a4 '2 a4)
(push a4)
(push a2)
(mov a4 a2)
(pop a1)
(jcall le)
(bfnil a1 102)
(mov (& 0) a1)
102
(adjstk '1)
(mov (& 0) a2)
(jcall ge)
(mov a1 a4)
(bfnil a4 101)
(mov (& 0) a4)
101
(adjstk '1)
(pop a3)
(hpmovx a4 a3 '2)
(push '0)
(hpxmov (& 1) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 1) '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '0 a4)
(push a4)
(hpxmov (& 2) '1 a1)
(mov a4 a2)
(jcall le)
(bfnil a1 104)
(mov (& 0) a1)
104
(adjstk '1)
(mov (& 0) a2)
(jcall ge)
(mov a1 a4)
(bfnil a4 103)
(mov (& 0) a4)
103
(adjstk '1)
(hpmovx a4 (& 0) '1)
(mov a4 a1)
(adjstk '1)
(return)
))
(loader'((entry #:edit:cur-xgoto subr2)
(push a1)
(push '0)
(hpxmov a1 '0 a4)
(hpxmov a4 '0 a4)
(hpxmov a1 '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '0 a4)
(push a4)
(push a2)
(mov a4 a2)
(pop a1)
(jcall le)
(bfnil a1 102)
(mov (& 0) a1)
102
(adjstk '1)
(mov (& 0) a2)
(jcall ge)
(mov a1 a4)
(bfnil a4 101)
(mov (& 0) a4)
101
(adjstk '1)
(pop a3)
(hpmovx a4 a3 '1)
(mov a4 a1)
(return)
))
(loader'((entry #:edit:char-new subr2)
(push a2)
(push a1)
(call #:edit:check-modif)
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 0) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(mov a4 a1)
(jcall slength)
(hbxmov (& 0) '0 a4)
(plus (& 2) a4)
(cnbgt a1 a4 102)
(push (@ 103))
(mov (& 1) a1)
(jcall slength)
(push a1)
(push '11)
(mov (& 0) a2)
(mov (& 5) a1)
(jcall ge)
(mov a1 a4)
(bfnil a4 104)
(mov (& 0) a4)
104
(adjstk '1)
(pop a3)
(plus a4 a3)
(mov '32 a2)
(mov a3 a1)
(jcall makestring)
(push a1)
(push '0)
(push (& 3))
(push '0)
(mov '4 a4)
(jmp bltstring)
103
(eval ())
(mov a1 (& 0))
(hpxmov (& 1) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 1) '2 a3)
(hpmovx a1 a4 a3)
102
(push (@ 105))
(push (& 1))
(hpxmov (& 3) '1 a4)
(plus (& 4) a4)
(plus '1 a4)
(push a4)
(push (& 3))
(hpxmov (& 5) '1 a4)
(plus '1 a4)
(push a4)
(mov '4 a4)
(jmp bltstring)
105
(eval ())
(hbxmov (& 0) '0 a4)
(plus (& 2) a4)
(hbmovx a4 (& 0) '0)
(mov a4 a1)
(adjstk '3)
(return)
))
(loader'((entry #:edit:char-insert subr2)
(push a2)
(push a1)
(mov '1 a2)
(call #:edit:char-new)
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 0) '2 a3)
(hpxmov a4 a3 a4)
(hpxmov (& 0) '1 a3)
(plus '1 a3)
(hbmovx (& 1) a4 a3)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:cur-right)
))
(loader'((entry #:edit:char-delete subr1)
(push a1)
(call #:edit:check-modif)
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 0) '2 a3)
(hpxmov a4 a3 a4)
(hpxmov (& 0) '1 a3)
(plus '1 a3)
(hpxmov (& 0) '2 a2)
(push a2)
(push a3)
(push a4)
(hbxmov a4 '0 a1)
(cabne a1 '0 101)
(hpxmov (& 3) '0 a1)
(hpxmov a1 '2 a1)
(cabne a2 a1 104)
(hpxmov (cvalq #:edit:warning) '2 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
104
(push (@ 105))
(hpxmov (& 4) '0 a2)
(hpxmov a2 '0 a2)
(push a2)
(push (& 4))
(hpxmov (& 6) '0 a2)
(hpxmov a2 '0 a2)
(push a2)
(mov (& 6) a2)
(plus '1 a2)
(push a2)
(mov '4 a4)
(jmp bltvector)
105
(eval ())
(hpxmov (& 3) '0 a4)
(hpxmov (& 3) '0 a3)
(hpxmov a3 '2 a3)
(diff '1 a3)
(hpmovx a3 a4 '2)
(mov a3 a1)
(adjstk '4)
(return)
101
(diff '1 a3)
(hbxmov a4 '0 a1)
(cabne a3 a1 106)
(hpxmov (& 3) '0 a3)
(hpxmov a3 '2 a3)
(cabne a2 a3 109)
(hpxmov (cvalq #:edit:warning) '2 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
109
(hpxmov (& 3) '0 a3)
(hpxmov a3 '0 a3)
(mov (& 2) a2)
(plus '1 a2)
(hpxmov a3 a2 a3)
(push a3)
(push (@ 110))
(hpxmov (& 5) '0 a2)
(hpxmov a2 '0 a2)
(push a2)
(mov (& 5) a2)
(plus '1 a2)
(push a2)
(hpxmov (& 7) '0 a2)
(hpxmov a2 '0 a2)
(push a2)
(mov (& 7) a2)
(plus '2 a2)
(push a2)
(mov '4 a4)
(jmp bltvector)
110
(eval ())
(hpxmov (& 4) '0 a4)
(hpxmov (& 4) '0 a3)
(hpxmov a3 '2 a3)
(diff '1 a3)
(hpmovx a3 a4 '2)
(hbxmov (& 0) '0 a4)
(cabeq a4 '0 111)
(push (@ 113))
(push (@ 114))
(push (& 3))
(push '0)
(hbxmov (& 5) '0 a4)
(plus '1 a4)
(push a4)
(mov '3 a4)
(jmp substring)
114
(eval ())
(push a1)
(push (@ 115))
(push (& 3))
(push '1)
(hbxmov (& 5) '0 a4)
(push a4)
(mov '3 a4)
(jmp substring)
115
(eval ())
(push a1)
(mov '2 a4)
(jmp catenate)
113
(eval ())
(mov a1 (& 1))
(hpxmov (& 4) '0 a4)
(hpxmov a4 '0 a4)
(hpmovx a1 a4 (& 3))
(hbxmov a1 '0 a4)
(hbxmov (& 0) '0 a3)
(plus a3 a4)
(hbmovx a4 a1 '0)
(mov a4 a1)
(adjstk '5)
(return)
111
(mov nil a1)
(adjstk '5)
(return)
106
(push (@ 116))
(push a4)
(push (& 3))
(push a4)
(mov (& 5) a3)
(plus '1 a3)
(push a3)
(mov '4 a4)
(jmp bltstring)
116
(eval ())
(hbxmov (& 0) '0 a4)
(diff '1 a4)
(hbmovx a4 (& 0) '0)
(mov a4 a1)
(adjstk '4)
(return)
))
(loader'((entry #:edit:char-delete-back subr1)
(push a1)
(hpxmov a1 '2 a4)
(cabne a4 '0 102)
(hpxmov a1 '1 a4)
(cabne a4 '0 102)
(hpxmov (cvalq #:edit:warning) '1 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(mov (& 0) a1)
(call #:edit:cur-left)
(mov (& 0) a1)
(adjstk '1)
(bra #:edit:char-delete)
))
(loader'((entry #:edit:char-transpose subr1)
(push a1)
(call #:edit:check-modif)
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 0) '2 a3)
(hpxmov a4 a3 a4)
(hpxmov (& 0) '1 a3)
(push nil)
(push nil)
(push a3)
(hbxmov a4 '0 a2)
(cnblt a2 '2 101)
(cnblt a3 '2 101)
(hbxmov a4 a3 a2)
(mov a2 (& 2))
(diff '1 a3)
(hbxmov a4 a3 a2)
(mov a2 (& 1))
(hbmovx a2 a4 (& 0))
(mov (& 0) a3)
(diff '1 a3)
(hbmovx (& 2) a4 a3)
(mov (& 2) a1)
(adjstk '4)
(return)
101
(mov nil a1)
(adjstk '4)
(return)
))
(loader'((entry #:edit:word-insert subr2)
(push a2)
(push a1)
(hgsize a2 a2)
(call #:edit:char-new)
(push (@ 101))
(hpxmov (& 1) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 1) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(hpxmov (& 2) '1 a4)
(plus '1 a4)
(push a4)
(push (& 4))
(push '0)
(mov '4 a4)
(jmp bltstring)
101
(eval ())
(hpxmov (& 0) '1 a2)
(push a2)
(mov (& 2) a1)
(jcall slength)
(pop a4)
(plus a1 a4)
(mov a4 a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:cur-xgoto)
))
(loader'((entry #:edit:word-delete subr1)
(push a1)
(hpxmov a1 '0 a4)
(hpxmov a4 '0 a4)
(hpxmov a1 '2 a3)
(hpxmov a4 a3 a4)
(hpxmov a1 '1 a3)
(push a3)
(push a4)
(hbxmov a4 '0 a2)
(cabeq a3 a2 103)
(push (@ 104))
(plus '1 a3)
(hbxmov a4 a3 a2)
(push a2)
(mov '1 a4)
(jmp typecn)
104
(eval ())
(cabeq a1 'cpname 105)
103
(mov (& 2) a1)
(call #:edit:char-delete)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:word-delete)
105
(hbxmov (& 0) '0 a2)
(mov (& 1) a1)
(jcall eq)
(mov a1 a4)
(bfnil a4 107)
(push (@ 110))
(mov (& 2) a4)
(plus '1 a4)
(hbxmov (& 1) a4 a4)
(push a4)
(mov '1 a4)
(jmp typecn)
110
(eval ())
(mov 'cpname a2)
(jcall eq)
(btnil a1 108)
(mov nil a4)
(bra 107)
108
(mov 't a4)
107
(bfnil a4 106)
(mov (& 2) a1)
(call #:edit:char-delete)
(bra 105)
106
(mov a4 a1)
(adjstk '3)
(return)
))
(loader'((entry #:edit:word-delete-back subr1)
(push a1)
(hpxmov a1 '0 a4)
(hpxmov a4 '0 a4)
(hpxmov a1 '2 a3)
(hpxmov a4 a3 a4)
(hpxmov a1 '1 a3)
(push a3)
(push a4)
(cabeq a3 '0 103)
(push (@ 104))
(hbxmov a4 a3 a2)
(push a2)
(mov '1 a4)
(jmp typecn)
104
(eval ())
(cabeq a1 'cpname 105)
103
(mov (& 2) a1)
(call #:edit:char-delete-back)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:word-delete-back)
105
(mov '0 a2)
(mov (& 1) a1)
(jcall eq)
(mov a1 a4)
(bfnil a4 107)
(push (@ 110))
(hbxmov (& 1) (& 2) a4)
(push a4)
(mov '1 a4)
(jmp typecn)
110
(eval ())
(mov 'cpname a2)
(jcall eq)
(btnil a1 108)
(mov nil a4)
(bra 107)
108
(mov 't a4)
107
(bfnil a4 106)
(mov (& 1) a4)
(diff '1 a4)
(mov a4 (& 1))
(mov (& 2) a1)
(call #:edit:char-delete-back)
(bra 105)
106
(mov a4 a1)
(adjstk '3)
(return)
))
(loader'((entry #:edit:word-first-char subr1)
(push a1)
(hpxmov a1 '1 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '0 a3)
(hpxmov a1 '2 a2)
(hpxmov a3 a2 a3)
(push a3)
(push a4)
(hpxmov a1 '2 a2)
(cabne a2 '0 101)
(cabne a4 '0 101)
(mov nil a1)
(adjstk '3)
(return)
101
(hbxmov a3 '0 a2)
(cabeq a4 a2 105)
(push (@ 106))
(plus '1 a4)
(hbxmov a3 a4 a2)
(push a2)
(mov '1 a4)
(jmp typecn)
106
(eval ())
(cabeq a1 'cpname 107)
105
(mov (& 2) a1)
(call #:edit:cur-left)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:word-first-char)
107
(cabeq (& 0) '0 108)
(push (@ 109))
(mov (& 1) a4)
(plus '1 a4)
(hbxmov (& 2) a4 a4)
(push a4)
(mov '1 a4)
(jmp typecn)
109
(eval ())
(cabne a1 'cpname 108)
(mov (& 0) a4)
(diff '1 a4)
(mov a4 (& 0))
(bra 107)
108
(push (@ 112))
(mov (& 1) a4)
(plus '1 a4)
(hbxmov (& 2) a4 a4)
(push a4)
(mov '1 a4)
(jmp typecn)
112
(eval ())
(cabne a1 'cpname 110)
(mov '0 a2)
(bra 111)
110
(mov (& 0) a4)
(plus '1 a4)
(mov a4 a2)
111
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:cur-xgoto)
))
(loader'((entry #:edit:word-last-char subr1)
(push a1)
(hpxmov a1 '1 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '0 a3)
(hpxmov a1 '2 a2)
(hpxmov a3 a2 a3)
(push a3)
(push a4)
(hpxmov a1 '2 a2)
(hpxmov a1 '0 a4)
(hpxmov a4 '2 a4)
(cabne a2 a4 101)
(hbxmov a3 '0 a4)
(cabne (& 0) a4 101)
(mov nil a1)
(adjstk '3)
(return)
101
(hbxmov a3 '0 a4)
(cabeq (& 0) a4 105)
(push (@ 106))
(mov (& 1) a4)
(plus '1 a4)
(hbxmov a3 a4 a4)
(push a4)
(mov '1 a4)
(jmp typecn)
106
(eval ())
(cabeq a1 'cpname 107)
105
(mov (& 2) a1)
(call #:edit:cur-right)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:word-last-char)
107
(hbxmov (& 1) '0 a4)
(cabeq (& 0) a4 108)
(push (@ 109))
(mov (& 1) a4)
(plus '1 a4)
(hbxmov (& 2) a4 a4)
(push a4)
(mov '1 a4)
(jmp typecn)
109
(eval ())
(cabne a1 'cpname 108)
(mov (& 0) a4)
(plus '1 a4)
(mov a4 (& 0))
(bra 107)
108
(mov (& 0) a2)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:cur-xgoto)
))
(loader'((entry #:edit:word-left subr1)
(push a1)
(call #:edit:cur-left)
(mov (& 0) a1)
(adjstk '1)
(bra #:edit:word-first-char)
))
(loader'((entry #:edit:word-searchp subr1)
(push a1)
(jcall slength)
(cabne a1 '0 103)
(btnil (cvalq #:edit:search-strg) 101)
103
(mov (& 0) a1)
(jcall slength)
(cabne a1 '0 104)
(mov (cvalq #:edit:search-strg) a1)
(adjstk '1)
(return)
104
(mov (& 0) (cvalq #:edit:search-strg))
(mov (& 0) a1)
(adjstk '1)
(return)
101
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((entry #:edit:word-search subr2)
(push a2)
(push a1)
(mov a2 a1)
(call #:edit:word-searchp)
(mov a1 (& 1))
(bfnil a1 102)
(hpxmov (cvalq #:edit:warning) '3 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(push (@ 103))
(push (& 2))
(hpxmov (& 2) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 2) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(hpxmov (& 3) '1 a4)
(plus '1 a4)
(push a4)
(mov '3 a4)
(jmp index)
103
(eval ())
(hpxmov (& 0) '1 a4)
(hpxmov (& 0) '2 a3)
(push a3)
(push a4)
(push a1)
(btnil a1 104)
(hpxmov (& 3) '0 a2)
(hpxmov a2 '0 a2)
(hpxmov (& 3) '2 a4)
(hpxmov a2 a4 a2)
(hbxmov a2 '0 a2)
(cnbgt a1 a2 104)
(diff '1 a1)
(push a1)
(mov (& 5) a1)
(jcall slength)
(pop a4)
(plus a1 a4)
(mov a4 a2)
(mov (& 3) a1)
(adjstk '5)
(bra #:edit:cur-xgoto)
104
(mov (& 3) a1)
(call #:edit:cur-begline)
(mov (& 3) a1)
(call #:edit:cur-down)
(push (@ 106))
(push (& 5))
(hpxmov (& 5) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 5) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(push '0)
(mov '3 a4)
(jmp index)
106
(eval ())
(mov (& 4) a3)
(mov (& 3) a2)
(call #:edit:word-search2)
(mov a1 (& 0))
(bfstrg a1 108)
(mov (& 2) a2)
(mov (& 3) a1)
(call #:edit:cur-ygoto)
(mov (& 1) a2)
(mov (& 3) a1)
(call #:edit:cur-xgoto)
108
(mov (& 0) a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '5)
(return)
))
(loader'((entry #:edit:word-search2 subr3)
(push a3)
(push a2)
(btnil a1 101)
(hpxmov a2 '0 a4)
(hpxmov a4 '0 a4)
(hpxmov a2 '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '0 a4)
(cnbgt a1 a4 101)
(push a2)
(diff '1 a1)
(push a1)
(mov (& 3) a1)
(jcall slength)
(pop a4)
(plus a1 a4)
(mov a4 a2)
(pop a1)
(adjstk '2)
(bra #:edit:cur-xgoto)
101
(hpxmov a2 '2 a4)
(hpxmov a2 '0 a3)
(hpxmov a3 '2 a3)
(cabne a4 a3 103)
(hpxmov (cvalq #:edit:warning) '4 a1)
(adjstk '2)
(return)
103
(mov a2 a1)
(call #:edit:cur-down)
(push (@ 105))
(push (& 2))
(hpxmov (& 2) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 2) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(push '0)
(mov '3 a4)
(jmp index)
105
(eval ())
(mov (& 1) a3)
(mov (& 0) a2)
(adjstk '2)
(bra #:edit:word-search2)
))
(loader'((entry #:edit:word-reverse-search subr2)
(push a2)
(push a1)
(mov a2 a1)
(call #:edit:word-searchp)
(mov a1 (& 1))
(bfnil a1 102)
(hpxmov (cvalq #:edit:warning) '3 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(push (@ 103))
(push (& 2))
(hpxmov (& 2) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 2) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(push '0)
(mov '3 a4)
(jmp index)
103
(eval ())
(hpxmov (& 0) '1 a4)
(hpxmov (& 0) '2 a3)
(push nil)
(push a3)
(push a4)
(push a1)
(push (@ 104))
(push 'trouve)
(push dlink)
(push tag)
(stack dlink)
107
(btnil (& 4) 108)
(mov (& 9) a1)
(jcall slength)
(mov (& 4) a4)
(plus a1 a4)
(hpxmov (& 8) '1 a3)
(plus '1 a3)
(cnbgt a4 a3 108)
(mov (& 4) (& 7))
(push (@ 109))
(push (& 10))
(hpxmov (& 10) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 10) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(mov (& 7) a4)
(plus '1 a4)
(push a4)
(mov '3 a4)
(jmp index)
109
(eval ())
(mov a1 (& 4))
(bra 107)
108
(btnil (& 7) 111)
(mov (& 7) a4)
(diff '1 a4)
(mov a4 a2)
(mov (& 8) a1)
(call #:edit:cur-xgoto)
(mov 'trouve a2)
(jmp #:llcp:exit)
111
(hpxmov (& 8) '2 a4)
(cabne a4 '0 113)
(mov (& 6) a2)
(mov (& 8) a1)
(call #:edit:cur-ygoto)
(mov (& 5) a2)
(mov (& 8) a1)
(call #:edit:cur-xgoto)
(hpxmov (cvalq #:edit:warning) '4 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
113
(mov (& 8) a1)
(call #:edit:cur-up)
(mov (& 8) a1)
(call #:edit:cur-endline)
(push (@ 114))
(push (& 10))
(hpxmov (& 10) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 10) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(push '0)
(mov '3 a4)
(jmp index)
114
(eval ())
(mov a1 (& 4))
(mov nil (& 7))
(bra 107)
106
(mov nil a1)
(mov (& 1) dlink)
(adjstk '4)
104
(eval ())
(adjstk '6)
(return)
))
(loader'((entry #:edit:word-get-symbol subr1)
(push a1)
(hpxmov a1 '1 a4)
(hpxmov a1 '2 a3)
(push nil)
(push nil)
(push a3)
(push a4)
(push (@ 101))
(push '58)
(mov '1 a4)
(jmp typecn)
101
(eval ())
(push a1)
(push (@ 102))
(push '35)
(mov '1 a4)
(jmp typecn)
102
(eval ())
(push a1)
(push (@ 103))
(push '124)
(mov '1 a4)
(jmp typecn)
103
(eval ())
(push a1)
(push (@ 104))
(push dlink)
(push prot)
(stack dlink)
(push (@ 106))
(push '58)
(push 'cpname)
(mov '2 a4)
(jmp typecn)
106
(eval ())
(push (@ 107))
(push '35)
(push 'cpname)
(mov '2 a4)
(jmp typecn)
107
(eval ())
(push (@ 108))
(push '124)
(push 'cpname)
(mov '2 a4)
(jmp typecn)
108
(eval ())
(mov (& 10) a1)
(call #:edit:word-first-char)
(hpxmov (& 10) '1 a4)
(plus '1 a4)
(mov a4 (& 9))
(mov (& 10) a1)
(call #:edit:word-last-char)
(hpxmov (& 10) '1 a4)
(mov a4 (& 8))
(mov (& 7) a2)
(mov (& 10) a1)
(call #:edit:cur-ygoto)
(mov (& 6) a2)
(mov (& 10) a1)
(call #:edit:cur-xgoto)
(push (@ 109))
(hpxmov (& 11) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 11) '2 a3)
(hpxmov a4 a3 a4)
(push a4)
(push (& 11))
(mov (& 11) a4)
(diff (& 12) a4)
(plus '1 a4)
(push a4)
(mov '3 a4)
(jmp substring)
109
(eval ())
(mov (& 1) dlink)
(adjstk '3)
(push a1)
(mov (@ 105) a3)
104
(push a3)
(push a2)
(push (@ 110))
(push '124)
(push (& 5))
(mov '2 a4)
(jmp typecn)
110
(eval ())
(push (@ 111))
(push '35)
(push (& 6))
(mov '2 a4)
(jmp typecn)
111
(eval ())
(push (@ 112))
(push '58)
(push (& 7))
(mov '2 a4)
(jmp typecn)
112
(eval ())
(pop a2)
(pop a3)
(pop a1)
(bri a3)
105
(eval ())
(adjstk '8)
(return)
))
(loader'((entry #:edit:line-new subr2)
(hpxmov a1 '2 a3)
(plus '1 a3)
(bra #:edit:line-new2)
))
(loader'((entry #:edit:line-new2 subr3)
(push a3)
(push a2)
(push a1)
(call #:edit:check-modif)
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(hpxmov (& 1) '0 a3)
(hpxmov (& 1) '0 a2)
(hpxmov a2 '2 a2)
(plus (& 2) a2)
(hpmovx a2 a3 '2)
(hgsize a4 a3)
(hpxmov (& 1) '0 a2)
(hpxmov a2 '2 a2)
(cnbgt a3 a2 102)
(hgsize a4 a1)
(push a1)
(mov '10 a2)
(mov (& 3) a1)
(jcall ge)
(mov a1 a3)
(bfnil a3 103)
(mov '10 a3)
103
(pop a4)
(plus a3 a4)
(mov (cvalq #:edit:null-strg) a2)
(mov a4 a1)
(jcall makevector)
(mov a1 (& 0))
(push (@ 104))
(push a1)
(push '0)
(hpxmov (& 4) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(push '0)
(mov '4 a4)
(jmp bltvector)
104
(eval ())
(hpxmov (& 1) '0 a4)
(hpmovx (& 0) a4 '0)
102
(mov (& 2) a3)
(mov (& 3) a2)
(mov (& 0) a1)
(adjstk '4)
(bra #:edit:bltvector)
))
(defvar #:edit:bltvector-flag ())
(loader'((entry #:edit:bltvector subr3)
(push a2)
(push a1)
(btnil (cvalq #:edit:bltvector-flag) 101)
(push (@ 103))
(push a1)
(plus a3 a2)
(push a2)
(push a1)
(push (& 5))
(mov '4 a4)
(jmp bltvector)
103
(eval ())
(adjstk '2)
(return)
101
(hgsize a1 a4)
(diff '1 a4)
(push a4)
(diff a3 a4)
(push a4)
(diff a2 a4)
(plus '1 a4)
(bra 105)
104
(push a4)
(hpxmov (& 3) (& 1) a4)
(hpmovx a4 (& 3) (& 2))
(mov (& 2) a4)
(diff '1 a4)
(mov a4 (& 2))
(mov (& 1) a4)
(diff '1 a4)
(mov a4 (& 1))
(pop a4)
105
(sobgez a4 104)
(mov 't a1)
(adjstk '4)
(return)
))
(loader'((entry #:edit:line-break subr1)
(push a1)
(hpxmov a1 '2 a4)
(plus '1 a4)
(push a4)
(hpxmov a1 '1 a3)
(hpxmov a1 '0 a2)
(hpxmov a2 '0 a2)
(hpxmov a1 '2 a4)
(hpxmov a2 a4 a2)
(push nil)
(push a2)
(push a3)
(mov (& 3) a3)
(mov '1 a2)
(call #:edit:line-new2)
(hpxmov (& 4) '0 a4)
(hpxmov a4 '0 a4)
(mov a4 (& 2))
(cabne (& 0) '0 101)
(hpmovx (& 1) a4 (& 3))
(mov (& 3) a3)
(diff '1 a3)
(hpmovx (cvalq #:edit:null-strg) a4 a3)
(mov (cvalq #:edit:null-strg) a1)
(adjstk '5)
(return)
101
(hbxmov (& 1) '0 a3)
(cabne (& 0) a3 103)
(hpmovx (cvalq #:edit:null-strg) a4 (& 3))
(mov (cvalq #:edit:null-strg) a1)
(adjstk '5)
(return)
103
(push a4)
(push (@ 105))
(push (& 3))
(push (& 3))
(mov '2 a4)
(jmp substring)
105
(eval ())
(pop a4)
(hpmovx a1 a4 (& 3))
(hbxmov (& 1) '0 a4)
(diff (& 0) a4)
(hbmovx a4 a1 '0)
(hbmovx (& 0) (& 1) '0)
(mov (& 0) a1)
(adjstk '5)
(return)
))
(loader'((entry #:edit:line-return subr1)
(push a1)
(call #:edit:line-break)
(mov (& 0) a1)
(adjstk '1)
(bra #:edit:cur-right)
))
(loader'((entry #:edit:line-delete subr1)
(hpxmov a1 '0 a4)
(hpxmov a4 '5 a4)
(cabeq a4 '29 #:edit:line-delete2)
(mov nil (cvalq #:edit:kill-buffer))
(bra #:edit:line-delete2)
))
(loader'((entry #:edit:line-delete2 subr1)
(push a1)
(call #:edit:check-modif)
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 0) '2 a3)
(hpxmov a4 a3 a4)
(hpxmov (& 0) '1 a3)
(push '0)
(push (cvalq #:edit:kill-buffer))
(push a3)
(push a4)
(hbxmov a4 '0 a2)
(cabne a3 a2 101)
(mov (& 4) a1)
(call #:edit:char-delete)
(bra 102)
101
(push (@ 103))
(push a4)
(push a3)
(hbxmov a4 '0 a2)
(diff a3 a2)
(plus '1 a2)
(push a2)
(mov '3 a4)
(jmp substring)
103
(eval ())
(mov a1 (& 3))
(push a1)
(jcall slength)
(diff '1 a1)
(pop a4)
(hbmovx a1 a4 '0)
(hbmovx (& 1) (& 0) '0)
102
(bfnil (& 2) 105)
(call #:edit:make)
(mov a1 (& 2))
(mov a1 (cvalq #:edit:kill-buffer))
105
(cabne (& 3) '0 106)
(hpxmov (& 2) '0 a3)
(hpxmov a3 '2 a3)
(plus '1 a3)
(mov '1 a2)
(mov (& 2) a1)
(adjstk '5)
(bra #:edit:line-new2)
106
(hpxmov (& 2) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 2) '0 a3)
(hpxmov a3 '2 a3)
(hpmovx (& 3) a4 a3)
(mov nil a1)
(adjstk '5)
(return)
))
(loader'((entry #:edit:line-insert subr1)
(push a1)
(push (cvalq #:edit:kill-buffer))
(bfnil (& 0) 102)
(hpxmov (cvalq #:edit:warning) '6 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(hpxmov (& 0) '0 a4)
(hpxmov a4 '2 a4)
(plus '1 a4)
(push a4)
(mov (& 2) a1)
(call #:edit:line-break)
(mov (& 0) a2)
(mov (& 2) a1)
(call #:edit:line-new)
(push (@ 103))
(hpxmov (& 3) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(hpxmov (& 4) '2 a4)
(plus '1 a4)
(push a4)
(hpxmov (& 4) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(push '0)
(push (& 5))
(mov '5 a4)
(jmp bltvector)
103
(eval ())
(hpxmov (cvalq #:edit:kill-buffer) '0 a1)
(hpxmov a1 '0 a1)
(hpxmov (cvalq #:edit:kill-buffer) '0 a2)
(hpxmov a2 '2 a2)
(call #:edit:copy-kill-buffer)
(mov (& 2) a1)
(call #:edit:char-delete)
(mov (& 2) a1)
(call #:edit:cur-begline)
(mov (& 0) a4)
(bra 105)
104
(push a4)
(mov (& 3) a1)
(call #:edit:cur-down)
(pop a4)
105
(sobgez a4 104)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:char-delete-back)
))
(loader'((entry #:edit:line-get subr1)
(hpxmov a1 '0 a4)
(hpxmov a4 '0 a4)
(hpxmov a1 '2 a3)
(hpxmov a4 a3 a4)
(push (@ 101))
(push a4)
(push '1)
(hbxmov a4 '0 a3)
(push a3)
(mov '3 a4)
(jmp substring)
101
(eval ())
(return)
))
(loader'((entry #:edit:line-bol subr1)
(push a1)
(push (@ 101))
(mov '0 a4)
(jmp inbuf)
101
(eval ())
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 0) '2 a3)
(hpxmov a4 a3 a4)
(push nil)
(push a1)
(hpxmov (& 2) '0 a3)
(hpxmov a3 '2 a3)
(hpxmov (& 2) '2 a2)
(cabne a3 a2 102)
(hpxmov (& 2) '1 a3)
(hbxmov a4 '0 a2)
(cabne a3 a2 102)
(hpxmov (cvalq #:edit:warning) '2 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '3)
(return)
102
(hbxmov a4 '0 a3)
(mov a3 (& 1))
(push (@ 104))
(push a1)
(push '0)
(push a4)
(push '1)
(push a3)
(mov '5 a4)
(jmp bltstring)
104
(eval ())
(hbmovx '13 (& 0) (& 1))
(mov (& 1) a4)
(plus '1 a4)
(mov a4 (& 1))
(hbmovx '10 (& 0) a4)
(mov (& 2) a1)
(call #:edit:cur-begline)
(mov (& 2) a1)
(call #:edit:cur-down)
(push (@ 105))
(mov (& 2) a4)
(plus '1 a4)
(push a4)
(mov '1 a4)
(jmp inmax)
105
(eval ())
(adjstk '3)
(return)
))
(loader'((entry #:edit:line-eol subr1)
(push a1)
(push (@ 101))
(mov '0 a4)
(jmp outbuf)
101
(eval ())
(push a1)
(push (@ 102))
(push a1)
(push '0)
(push (@ 103))
(mov '0 a4)
(jmp outpos)
103
(eval ())
(push a1)
(mov '3 a4)
(jmp substring)
102
(eval ())
(mov a1 a2)
(mov (& 1) a1)
(call #:edit:word-insert)
(mov (& 1) a1)
(call #:edit:line-return)
(push (@ 104))
(push (& 1))
(push '0)
(push '32)
(push (@ 105))
(mov '0 a4)
(jmp rmargin)
105
(eval ())
(push a1)
(mov '4 a4)
(jmp fillstring)
104
(eval ())
(push (@ 106))
(push (@ 107))
(mov '0 a4)
(jmp lmargin)
107
(eval ())
(push a1)
(mov '1 a4)
(jmp outpos)
106
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:edit:mark-set subr1)
(hpxmov a1 '0 a4)
(hpxmov a1 '1 a3)
(hpmovx a3 a4 '3)
(hpxmov a1 '2 a3)
(hpmovx a3 a4 '4)
(hpxmov (cvalq #:edit:warning) '10 a1)
(return)
))
(loader'((entry #:edit:mark-exchange subr1)
(push a1)
(hpxmov a1 '0 a4)
(hpxmov a4 '3 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '4 a3)
(push a4)
(bfnil a4 102)
(hpxmov (cvalq #:edit:warning) '5 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(hpxmov (& 1) '0 a2)
(hpxmov (& 1) '1 a1)
(hpmovx a1 a2 '3)
(hpxmov (& 1) '2 a1)
(hpmovx a1 a2 '4)
(mov a3 a2)
(mov (& 1) a1)
(call #:edit:cur-ygoto)
(mov (& 0) a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:edit:cur-xgoto)
))
(loader'((entry #:edit:mark-copy subr1)
(push a1)
(hpxmov a1 '0 a4)
(hpxmov a4 '1 a4)
(push a4)
(hpxmov a1 '0 a3)
(hpmovx '5 a3 '1)
(call #:edit:mark-delete)
(mov (& 1) a1)
(call #:edit:line-insert)
(hpxmov (& 1) '0 a4)
(hpmovx (& 0) a4 '1)
(mov '"Copied" a1)
(adjstk '2)
(return)
))
(loader'((entry #:edit:mark-delete subr1)
(push a1)
(hpxmov a1 '2 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '4 a3)
(cnbgt a4 a3 103)
(hpxmov a1 '2 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '4 a3)
(cabne a4 a3 102)
(hpxmov a1 '1 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '3 a3)
(cnble a4 a3 102)
103
(call #:edit:mark-exchange)
102
(mov (& 0) a1)
(call #:edit:mark-exchange)
(mov (& 0) a1)
(call #:edit:line-return)
(mov (& 0) a1)
(call #:edit:mark-exchange)
(mov (& 0) a1)
(call #:edit:line-return)
(bfnil (cvalq #:edit:kill-buffer) 104)
(call #:edit:make)
(mov a1 (cvalq #:edit:kill-buffer))
(bra 105)
104
(mov (cvalq #:edit:kill-buffer) a1)
(call #:edit:buf-new)
105
(hpxmov (& 0) '2 a4)
(hpxmov (& 0) '0 a3)
(hpxmov a3 '4 a3)
(push a3)
(push a4)
(diff a4 a3)
(push a3)
(mov '1 a3)
(pop a2)
(mov (cvalq #:edit:kill-buffer) a1)
(call #:edit:line-new2)
(push (@ 106))
(hpxmov (cvalq #:edit:kill-buffer) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(push '0)
(hpxmov (& 5) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(push (& 4))
(mov (& 6) a4)
(diff (& 5) a4)
(push a4)
(mov '5 a4)
(jmp bltvector)
106
(eval ())
(push (@ 107))
(hpxmov (& 3) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(push (& 2))
(hpxmov (& 5) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(push (& 5))
(mov '4 a4)
(jmp bltvector)
107
(eval ())
(hpxmov (& 2) '0 a4)
(hpxmov (& 2) '0 a3)
(hpxmov a3 '2 a3)
(mov (& 1) a2)
(diff (& 0) a2)
(diff a2 a3)
(hpmovx a3 a4 '2)
(hpxmov (& 2) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 2) '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '0 a4)
(cabeq a4 '0 109)
(mov (& 2) a1)
(call #:edit:line-delete2)
109
(mov (& 2) a1)
(call #:edit:char-delete)
(mov (& 2) a1)
(call #:edit:char-delete-back)
(mov (& 2) a1)
(call #:edit:mark-set)
(mov nil a1)
(adjstk '3)
(return)
))
(loader'((entry #:edit:copy-kill-buffer subr2)
(push a2)
(push a1)
(cnblt a2 '0 101)
(push a1)
(push a2)
(hpxmov a1 a2 a1)
(jcall copy)
(pop a4)
(pop a3)
(hpmovx a1 a3 a4)
(mov (& 1) a4)
(diff '1 a4)
(mov a4 a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:copy-kill-buffer)
101
(mov nil a1)
(adjstk '2)
(return)
))
(loader'((entry #:edit:file-read subr2)
(push a2)
(push a1)
(hpxmov a1 '0 a4)
(hpxmov a4 '1 a4)
(cnbgt a4 '1 102)
(hpxmov (cvalq #:edit:warning) '11 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(hpxmov (& 0) '0 a4)
(hpmovx '3 a4 '1)
(push nil)
(push nil)
(btnil (& 3) 103)
(mov (& 3) a1)
(call #:edit:file-in-list)
(mov a1 (& 1))
(mov (& 3) (& 0))
(bra 104)
103
(push (@ 105))
(push (cvalq #:edit:null-strg))
(mov '1 a4)
(jmp vector)
105
(eval ())
(mov a1 (& 1))
(hpxmov (cvalq #:edit:warning) '7 a4)
(mov a4 (& 0))
104
(mov (& 2) a1)
(call #:edit:buf-new)
(hpxmov (& 2) '0 a4)
(hpmovx (& 1) a4 '0)
(hpxmov (& 2) '0 a4)
(hgsize (& 1) a3)
(diff '1 a3)
(hpmovx a3 a4 '2)
(mov (& 0) a1)
(adjstk '4)
(return)
))
(loader'((entry #:edit:file-insert subr2)
(push a2)
(push a1)
(push nil)
(push nil)
(push nil)
(bfnil a2 102)
(hpxmov (cvalq #:edit:warning) '8 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(mov (& 4) a1)
(call #:edit:file-in-list)
(mov a1 (& 0))
(hgsize a1 a2)
(mov (& 3) a1)
(call #:edit:line-new)
(push (@ 103))
(hpxmov (& 4) '0 a4)
(hpxmov a4 '0 a4)
(push a4)
(hpxmov (& 5) '2 a4)
(plus '1 a4)
(push a4)
(push (& 3))
(push '0)
(mov '4 a4)
(jmp bltvector)
103
(eval ())
(mov (& 4) a1)
(adjstk '5)
(return)
))
(loader'((entry #:edit:file-in-list subr1)
(push a1)
(push nil)
(push (@ 101))
(mov '0 a4)
(jmp inchan)
101
(eval ())
(push a1)
(push (@ 102))
(push dlink)
(push prot)
(stack dlink)
(push (@ 104))
(mov (& 6) a1)
(jcall openi)
(push a1)
(mov '1 a4)
(jmp inchan)
104
(eval ())
(push (@ 105))
(push 'eof)
(push dlink)
(push tag)
(stack dlink)
106
(jcall bol)
(push (@ 108))
(push '" ")
(push (@ 109))
(push (@ 110))
(mov '0 a4)
(jmp inbuf)
110
(eval ())
(push a1)
(push '0)
(push (@ 111))
(mov '0 a4)
(jmp inmax)
111
(eval ())
(diff '2 a1)
(push a1)
(mov '3 a4)
(jmp substring)
109
(eval ())
(push a1)
(mov '2 a4)
(jmp catenate)
108
(eval ())
(mov (& 8) a2)
(jcall cons)
(mov a1 (& 8))
(push (car a1))
(push (@ 112))
(mov '0 a4)
(jmp inmax)
112
(eval ())
(diff '2 a1)
(pop a4)
(hbmovx a1 a4 '0)
(bra 106)
107
(mov nil a1)
(mov (& 1) dlink)
(adjstk '4)
105
(eval ())
(mov (& 1) dlink)
(adjstk '3)
(push a1)
(mov (@ 103) a3)
102
(push a3)
(push a2)
(push (@ 113))
(push (& 4))
(mov '1 a4)
(jmp inchan)
113
(eval ())
(pop a2)
(pop a3)
(pop a1)
(bri a3)
103
(eval ())
(adjstk '1)
(push (@ 114))
(push 'vector)
(mov (& 2) a2)
(mov (cvalq #:edit:null-strg) a1)
(jcall cons)
(jcall nreverse)
(push a1)
(mov '2 a4)
(jmp apply)
114
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:edit:file-print subr2)
(push a2)
(push a1)
(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 a2)
(push (@ 104))
(push a2)
(push '"SV")
(mov '2 a4)
(jmp catenate)
104
(eval ())
(mov a1 a2)
(pop a1)
(jcall renamefile)
(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)
(hpxmov (cvalq #:edit:warning) '9 a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
102
(mov (& 1) a2)
(mov (& 0) a1)
(call #:edit:dofile-print)
(push (@ 105))
(push '"write file ")
(push (& 3))
(mov '2 a4)
(jmp catenate)
105
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:edit:dofile-print subr2)
(push a2)
(push a1)
(push (@ 101))
(mov '0 a4)
(jmp outchan)
101
(eval ())
(push a1)
(push (@ 102))
(mov '0 a4)
(jmp rmargin)
102
(eval ())
(push a1)
(push (@ 103))
(push dlink)
(push prot)
(stack dlink)
(push (@ 105))
(mov (& 7) a1)
(jcall openo)
(push a1)
(mov '1 a4)
(jmp outchan)
105
(eval ())
(push (@ 106))
(push (@ 107))
(mov '0 a4)
(jmp outbuf)
107
(eval ())
(jcall slength)
(push a1)
(mov '1 a4)
(jmp rmargin)
106
(eval ())
(hpxmov (& 5) '0 a4)
(hpxmov a4 '0 a4)
(push '0)
(push nil)
(push a4)
(hpxmov (& 8) '0 a3)
(hpxmov a3 '2 a3)
(bra 109)
108
(push a3)
(hpxmov (& 1) (& 3) a4)
(mov a4 (& 2))
(push (@ 110))
(push (@ 111))
(mov '0 a4)
(jmp outbuf)
111
(eval ())
(push a1)
(push '0)
(push (& 5))
(push '1)
(hbxmov (& 7) '0 a3)
(push a3)
(mov '5 a4)
(jmp bltstring)
110
(eval ())
(push (@ 112))
(hbxmov (& 3) '0 a4)
(push a4)
(mov '1 a4)
(jmp outpos)
112
(eval ())
(push (@ 113))
(mov '0 a4)
(jmp terpri)
113
(eval ())
(mov (& 3) a4)
(plus '1 a4)
(mov a4 (& 3))
(pop a3)
109
(sobgez a3 108)
(adjstk '3)
(hpxmov (& 5) '0 a4)
(hpxmov (& 5) '0 a3)
(hpxmov a3 '1 a3)
(quo '2 a3)
(mov '1 a2)
(plus a3 a2)
(hpmovx a2 a4 '1)
(push (@ 114))
(push (@ 115))
(mov '0 a4)
(jmp outchan)
115
(eval ())
(push a1)
(mov '1 a4)
(jmp close)
114
(eval ())
(mov (& 1) dlink)
(adjstk '3)
(push a1)
(mov (@ 104) a3)
103
(push a3)
(push a2)
(push (@ 116))
(push (& 4))
(mov '1 a4)
(jmp rmargin)
116
(eval ())
(push (@ 117))
(push (& 5))
(mov '1 a4)
(jmp outchan)
117
(eval ())
(pop a2)
(pop a3)
(pop a1)
(bri a3)
104
(eval ())
(adjstk '4)
(return)
))
(loader'((entry #:edit:begin-expr subr1)
(push a1)
(call #:edit:cur-begline)
(push (@ 101))
(push 'fin)
(push dlink)
(push tag)
(stack dlink)
102
(hpxmov (& 4) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 4) '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '0 a4)
(cabne a4 '0 104)
(mov (& 4) a1)
(call #:edit:cur-up)
(bra 102)
104
(push (@ 108))
(hpxmov (& 5) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 5) '2 a3)
(hpxmov a4 a3 a4)
(hbxmov a4 '1 a4)
(push a4)
(mov '1 a4)
(jmp typecn)
108
(eval ())
(cabne a1 'csep 106)
(mov (& 4) a1)
(call #:edit:cur-up)
(bra 102)
106
(mov nil a1)
(mov 'fin a2)
(jmp #:llcp:exit)
103
(mov nil a1)
(mov (& 1) dlink)
(adjstk '4)
101
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:edit:matchnext subr1)
(push a1)
(hpxmov a1 '1 a4)
(hpxmov a1 '2 a3)
(push nil)
(push a3)
(push a4)
(push (@ 103))
(push 'eoc)
(push dlink)
(push tag)
(stack dlink)
(mov nil a2)
(call #:edit:match-next)
(mov (& 1) dlink)
(adjstk '4)
103
(eval ())
(mov a1 (& 2))
(bfstrg a1 101)
(mov (& 1) a2)
(mov (& 3) a1)
(call #:edit:cur-ygoto)
(mov (& 0) a2)
(mov (& 3) a1)
(call #:edit:cur-xgoto)
(mov (& 2) a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '4)
(return)
101
(mov nil a1)
(adjstk '4)
(return)
))
(loader'((entry #:edit:match-next subr2)
(push a2)
(push a1)
(call #:edit:match-next-char)
(hpxmov (& 0) '0 a1)
(hpxmov a1 '0 a1)
(hpxmov (& 0) '2 a4)
(hpxmov a1 a4 a1)
(hpxmov (& 0) '1 a4)
(hbxmov a1 a4 a1)
(cabne a1 '40 102)
(mov '40 a3)
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:match-next-push)
102
(cabne a1 '91 103)
(mov '91 a3)
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:match-next-push)
103
(cabne a1 '123 104)
(mov '123 a3)
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:match-next-push)
104
(cabne a1 '41 105)
(mov '40 a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:edit:match-next-pop)
105
(cabne a1 '93 106)
(mov '91 a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:edit:match-next-pop)
106
(cabne a1 '125 107)
(mov '123 a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:edit:match-next-pop)
107
(mov nil a1)
(adjstk '2)
(return)
))
(loader'((entry #:edit:match-next-push subr3)
(push a2)
(push a1)
(push a1)
(mov a3 a1)
(jcall cons)
(mov a1 a2)
(pop a1)
(call #:edit:match-next)
(btnil (& 1) 101)
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:match-next)
101
(mov nil a1)
(adjstk '2)
(return)
))
(loader'((entry #:edit:match-next-pop subr2)
(btnil a1 101)
(cabeq (car a1) a2 101)
(mov '"Parenthesis mismatch." a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
101
(mov nil a1)
(return)
))
(loader'((entry #:edit:match-next-char subr1)
(push a1)
(hpxmov a1 '1 a4)
(hpxmov a1 '0 a3)
(hpxmov a3 '0 a3)
(hpxmov a1 '2 a2)
(hpxmov a3 a2 a3)
(push nil)
(push nil)
(push a3)
(push a4)
101
(bfnil (& 3) 102)
(push (@ 103))
(push (& 2))
(push '"()[]{}""#;|")
(mov (& 3) a4)
(plus '1 a4)
(push a4)
(mov '3 a4)
(jmp scanstring)
103
(eval ())
(mov a1 (& 2))
(btnil a1 106)
(hbxmov (& 1) '0 a4)
(cnble a1 a4 104)
106
(mov '0 (& 3))
(bra 101)
104
(hbxmov (& 1) a1 a1)
(cabne a1 '34 108)
(mov (& 2) a3)
(mov '"""" a2)
(mov (& 1) a1)
(call #:edit:skip)
(mov a1 (& 0))
(bra 101)
108
(cabne a1 '124 109)
(mov (& 2) a3)
(mov '"|" a2)
(mov (& 1) a1)
(call #:edit:skip)
(mov a1 (& 0))
(bra 101)
109
(cabne a1 '59 110)
(mov '0 (& 3))
(bra 101)
110
(cabne a1 '35 111)
(mov (& 2) a4)
(plus '1 a4)
(hbxmov (& 1) a4 a4)
(cabeq a4 '47 112)
(mov (& 2) a4)
(plus '1 a4)
(mov a4 (& 0))
(bra 101)
112
(mov (& 2) a4)
(plus '2 a4)
(mov a4 (& 0))
(bra 101)
111
(mov (& 2) (& 3))
(bra 101)
102
(cabeq (& 3) '0 115)
(mov (& 3) a2)
(mov (& 4) a1)
(adjstk '5)
(bra #:edit:cur-xgoto)
115
(hpxmov (& 4) '2 a4)
(hpxmov (& 4) '0 a3)
(hpxmov a3 '2 a3)
(cabne a4 a3 117)
(mov '"Fin du buffer" a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '5)
(return)
117
(mov (& 4) a1)
(call #:edit:cur-begline)
(mov (& 4) a1)
(call #:edit:cur-down)
(mov (& 4) a1)
(adjstk '5)
(bra #:edit:match-next-char)
))
(loader'((entry #:edit:skip subr3)
(push a3)
(push a1)
(push (@ 101))
(push a2)
(push a1)
(plus '1 a3)
(push a3)
(mov '3 a4)
(jmp index)
101
(eval ())
(mov a1 (& 1))
(btnil a1 102)
(hbxmov (& 0) '0 a4)
(cnbgt a1 a4 102)
(adjstk '2)
(return)
102
(mov '"Newline in string" a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '2)
(return)
))
(loader'((entry #:edit:matchprevious subr1)
(push a1)
(hpxmov a1 '1 a4)
(hpxmov a1 '2 a3)
(push nil)
(push a3)
(push a4)
(push (@ 103))
(push 'eoc)
(push dlink)
(push tag)
(stack dlink)
(mov nil a2)
(call #:edit:match-prev)
(mov (& 1) dlink)
(adjstk '4)
103
(eval ())
(mov a1 (& 2))
(bfstrg a1 101)
(mov (& 1) a2)
(mov (& 3) a1)
(call #:edit:cur-ygoto)
(mov (& 0) a2)
(mov (& 3) a1)
(call #:edit:cur-xgoto)
(mov (& 2) a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '4)
(return)
101
(mov nil a1)
(adjstk '4)
(return)
))
(loader'((entry #:edit:match-prev subr2)
(push a2)
(push a1)
(push nil)
(call #:edit:match-prev-char)
(hpxmov (& 1) '0 a1)
(hpxmov a1 '0 a1)
(hpxmov (& 1) '2 a4)
(hpxmov a1 a4 a1)
(hpxmov (& 1) '1 a4)
(plus '1 a4)
(hbxmov a1 a4 a1)
(cabne a1 '41 102)
(mov '40 a3)
(mov (& 2) a2)
(mov (& 1) a1)
(adjstk '3)
(bra #:edit:match-prev-push)
102
(cabne a1 '93 103)
(mov '91 a3)
(mov (& 2) a2)
(mov (& 1) a1)
(adjstk '3)
(bra #:edit:match-prev-push)
103
(cabne a1 '125 104)
(mov '123 a3)
(mov (& 2) a2)
(mov (& 1) a1)
(adjstk '3)
(bra #:edit:match-prev-push)
104
(cabne a1 '40 105)
(mov '40 a2)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:match-next-pop)
105
(cabne a1 '91 106)
(mov '91 a2)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:match-next-pop)
106
(cabne a1 '123 107)
(mov '123 a2)
(mov (& 2) a1)
(adjstk '3)
(bra #:edit:match-next-pop)
107
(mov nil a1)
(adjstk '3)
(return)
))
(loader'((entry #:edit:match-prev-push subr3)
(push a2)
(push a1)
(push a1)
(mov a3 a1)
(jcall cons)
(mov a1 a2)
(pop a1)
(call #:edit:match-prev)
(btnil (& 1) 101)
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:edit:match-prev)
101
(mov nil a1)
(adjstk '2)
(return)
))
(loader'((entry #:edit:match-prev-char subr1)
(push a1)
(call #:edit:cur-left)
(hpxmov (& 0) '0 a4)
(hpxmov a4 '0 a4)
(hpxmov (& 0) '2 a3)
(hpxmov a4 a3 a4)
(push '0)
(push '0)
(push nil)
(push nil)
(push a4)
101
(bfnil (& 2) 102)
(push (@ 103))
(push (& 1))
(push '"()[]{}""#;|")
(mov (& 7) a4)
(plus '1 a4)
(push a4)
(mov '3 a4)
(jmp scanstring)
103
(eval ())
(mov a1 (& 1))
(btnil a1 106)
(hpxmov (& 5) '1 a4)
(plus '1 a4)
(cnble a1 a4 104)
106
(mov (& 3) (& 2))
(bra 101)
104
(hbxmov (& 0) a1 a1)
(cabne a1 '34 108)
(mov (& 1) a3)
(mov '"""" a2)
(mov (& 0) a1)
(call #:edit:skip)
(mov a1 (& 4))
(bra 101)
108
(cabne a1 '124 109)
(mov (& 1) a3)
(mov '"|" a2)
(mov (& 0) a1)
(call #:edit:skip)
(mov a1 (& 4))
(bra 101)
109
(cabne a1 '35 110)
(mov (& 1) a4)
(plus '1 a4)
(hbxmov (& 0) a4 a4)
(cabeq a4 '47 111)
(mov (& 1) a4)
(plus '1 a4)
(mov a4 (& 4))
(bra 101)
111
(mov (& 1) a4)
(plus '2 a4)
(mov a4 (& 4))
(bra 101)
110
(cabne a1 '59 113)
(mov (& 3) (& 2))
(bra 101)
113
(mov (& 1) (& 3))
(mov (& 1) (& 4))
(bra 101)
102
(cabeq (& 2) '0 115)
(mov (& 2) a4)
(diff '1 a4)
(mov a4 a2)
(mov (& 5) a1)
(adjstk '6)
(bra #:edit:cur-xgoto)
115
(hpxmov (& 5) '2 a4)
(cabne a4 '0 117)
(mov '"Debut du buffer" a1)
(mov 'eoc a2)
(jmp #:llcp:exit)
(adjstk '6)
(return)
117
(mov (& 5) a1)
(call #:edit:cur-up)
(mov (& 5) a1)
(call #:edit:cur-endline)
(mov (& 5) a1)
(adjstk '6)
(bra #:edit:match-prev-char)
))
(loader'((entry #:edit:undo subr1)
(mov nil a1)
(return)
))
(loader '((end)))