(loader '((title |meme.lo|))) (if (not (>= (version) 15.2)) (progn (error 'load 'erricf 'meme))) (defvar #:sys-package:colon '#:edit:editor:meme) (add-feature 'meme) (putprop '#:edit:editor:meme '((() () 0 0) wholine wholinemap locx locy) 'defstruct) (loader'((entry #:edit:editor:meme:make subr0) (push (@ 101)) (jcall #:buffer:make) (push a1) (push '0) (push '0) (push nil) (push '#:edit:editor:edit-query) (push '"test.ll") (push '#:edit:editor:edit-drawcursor) (push '#:edit:editor:edit-redisplaystring) (push '#:edit:editor:edit-redisplaycleol) (push nil) (push nil) (push nil) (push nil) (push '0) (push '80) (push '20) (push '0) (push '0) (push '0) (push '0) (push nil) (push nil) (push '0) (push '0) (mov '24 a4) (jmp vector) 101 (eval ()) (push a1) (push (@ 102)) (push a1) (push '#:edit:editor:meme) (mov '2 a4) (jmp typevector) 102 (eval ()) (mov (& 0) a1) (adjstk '1) (return) )) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:pbuffer '#:edit:editor:meme:pbuffer 'setf-inverse) '#:edit:editor:meme:pbuffer))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:pbuffer (struct . valeur) (ifn valeur (list 'vref struct 0) (list 'vset struct 0 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:curx '#:edit:editor:meme:curx 'setf-inverse) '#:edit:editor:meme:curx))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:curx (struct . valeur) (ifn valeur (list 'vref struct 1) (list 'vset struct 1 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:cury '#:edit:editor:meme:cury 'setf-inverse) '#:edit:editor:meme:cury))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:cury (struct . valeur) (ifn valeur (list 'vref struct 2) (list 'vset struct 2 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:sender '#:edit:editor:meme:sender 'setf-inverse) '#:edit:editor:meme:sender))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:sender (struct . valeur) (ifn valeur (list 'vref struct 3) (list 'vset struct 3 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:query '#:edit:editor:meme:query 'setf-inverse) '#:edit:editor:meme:query))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:query (struct . valeur) (ifn valeur (list 'vref struct 4) (list 'vset struct 4 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:file '#:edit:editor:meme:file 'setf-inverse) '#:edit:editor:meme:file))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:file (struct . valeur) (ifn valeur (list 'vref struct 5) (list 'vset struct 5 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:drawcursor '#:edit:editor:meme:drawcursor 'setf-inverse) '#:edit:editor:meme:drawcursor))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:drawcursor (struct . valeur) (ifn valeur (list 'vref struct 6) (list 'vset struct 6 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:redisplaystring '#:edit:editor:meme:redisplaystring 'setf-inverse) '#:edit:editor:meme:redisplaystring))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:redisplaystring (struct . valeur) (ifn valeur (list 'vref struct 7) (list 'vset struct 7 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:redisplaycleol '#:edit:editor:meme:redisplaycleol 'setf-inverse) '#:edit:editor:meme:redisplaycleol))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:redisplaycleol (struct . valeur) (ifn valeur (list 'vref struct 8) (list 'vset struct 8 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:screen '#:edit:editor:meme:screen 'setf-inverse) '#:edit:editor:meme:screen))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:screen (struct . valeur) (ifn valeur (list 'vref struct 9) (list 'vset struct 9 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:cmd '#:edit:editor:meme:cmd 'setf-inverse) '#:edit:editor:meme:cmd))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:cmd (struct . valeur) (ifn valeur (list 'vref struct 10) (list 'vset struct 10 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:ecmd '#:edit:editor:meme:ecmd 'setf-inverse) '#:edit:editor:meme:ecmd))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:ecmd (struct . valeur) (ifn valeur (list 'vref struct 11) (list 'vset struct 11 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:xcmd '#:edit:editor:meme:xcmd 'setf-inverse) '#:edit:editor:meme:xcmd))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:xcmd (struct . valeur) (ifn valeur (list 'vref struct 12) (list 'vset struct 12 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:state '#:edit:editor:meme:state 'setf-inverse) '#:edit:editor:meme:state))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:state (struct . valeur) (ifn valeur (list 'vref struct 13) (list 'vset struct 13 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:w '#:edit:editor:meme:w 'setf-inverse) '#:edit:editor:meme:w))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:w (struct . valeur) (ifn valeur (list 'vref struct 14) (list 'vset struct 14 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:h '#:edit:editor:meme:h 'setf-inverse) '#:edit:editor:meme:h))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:h (struct . valeur) (ifn valeur (list 'vref struct 15) (list 'vset struct 15 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:xcursor '#:edit:editor:meme:xcursor 'setf-inverse) '#:edit:editor:meme:xcursor))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:xcursor (struct . valeur) (ifn valeur (list 'vref struct 16) (list 'vset struct 16 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:ycursor '#:edit:editor:meme:ycursor 'setf-inverse) '#:edit:editor:meme:ycursor))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:ycursor (struct . valeur) (ifn valeur (list 'vref struct 17) (list 'vset struct 17 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:xpos '#:edit:editor:meme:xpos 'setf-inverse) '#:edit:editor:meme:xpos))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:xpos (struct . valeur) (ifn valeur (list 'vref struct 18) (list 'vset struct 18 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:ypos '#:edit:editor:meme:ypos 'setf-inverse) '#:edit:editor:meme:ypos))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:ypos (struct . valeur) (ifn valeur (list 'vref struct 19) (list 'vset struct 19 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:wholine '#:edit:editor:meme:wholine 'setf-inverse) '#:edit:editor:meme:wholine))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:wholine (struct . valeur) (ifn valeur (list 'vref struct 20) (list 'vset struct 20 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:wholinemap '#:edit:editor:meme:wholinemap 'setf-inverse) '#:edit:editor:meme:wholinemap))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:wholinemap (struct . valeur) (ifn valeur (list 'vref struct 21) (list 'vset struct 21 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:locx '#:edit:editor:meme:locx 'setf-inverse) '#:edit:editor:meme:locx))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:locx (struct . valeur) (ifn valeur (list 'vref struct 22) (list 'vset struct 22 (car valeur)))))) (if (featurep 'setf) (progn (progn (putprop '#:edit:editor:meme:locy '#:edit:editor:meme:locy 'setf-inverse) '#:edit:editor:meme:locy))) (if (featurep 'compiler) (progn (defmacro-open #:edit:editor:meme:locy (struct . valeur) (ifn valeur (list 'vref struct 23) (list 'vset struct 23 (car valeur)))))) (defvar #:edit:editor:meme:list-editor ()) (loader'((fentry meme nsubr) (entry meme nsubr) (jcall #:llcp:nlist) (push a1) (push nil) (bfnil a1 101) (btnil (cvalq #:edit:editor:meme:list-editor) 101) (mov (cvalq #:edit:editor:meme:list-editor) a4) (mov (car a4) (& 0)) (bra 102) 101 (push (@ 103)) (push '0) (push '0) (jcall tyxmax) (push a1) (jcall tyymax) (push a1) (mov '4 a4) (bra #:edit:editor:meme:make-meme-editor) 103 (eval ()) (mov a1 (& 0)) (jcall ncons) (mov a1 (cvalq #:edit:editor:meme:list-editor)) (mov (& 1) a4) (mov (car a4) (& 1)) (btnil (car a4) 102) (mov (& 1) a1) (jcall probepathf) (push a1) (bfnil a1 106) (hpmovx (& 2) (& 1) '5) (bra 107) 106 (mov a1 a3) (mov (& 1) a2) (mov '37 a1) (jcall trap-edit) (hpmovx (& 0) (& 1) '5) 107 (adjstk '1) 102 (mov (& 0) a1) (call #:edit:editor:meme:rdpscreen) (mov nil a2) (mov (& 0) a1) (jcall edit-command-redisplay) (push (@ 108)) (push 'meme) (push dlink) (push tag) (stack dlink) 109 (push (@ 111)) (push 'no-redisplay) (push dlink) (push tag) (stack dlink) (jcall tyi) (mov a1 a2) (mov (& 8) a1) (jcall edit-command-redisplay) (mov (& 1) dlink) (adjstk '4) 111 (eval ()) (mov (cvalq #:edit:editor:meme:list-editor) a4) (mov (car a4) (& 4)) (bra 109) 110 (mov (& 1) dlink) (adjstk '4) 108 (eval ()) (jcall tyymax) (mov a1 a2) (mov '0 a1) (jcall tycursor) (mov 'meme a1) (adjstk '2) (return) )) (dmc || () (if (eq (peekcn) 13) '(meme) (list 'meme (list 'quote (concat (readstring)))))) (loader'((fentry #:edit:editor:meme:edit-drawcursor nsubr) (entry #:edit:editor:meme:edit-drawcursor nsubr) (cnbeq a4 '4 0) (mov '#:edit:editor:meme:edit-drawcursor a1) (mov '4 a2) (jmp #:llcp:errwna) 0 (btnil (& 0) 101) (hpxmov (& 3) '20 a4) (hpxmov (& 3) '21 a3) (push a3) (push a4) (push (@ 103)) (push a4) (push '7) (push '32) (mov '3 a4) (jmp fillstring) 103 (eval ()) (hpxmov (& 5) '0 a4) (hpxmov a4 '1 a4) (cnblt a4 '4 105) (hbmovx '42 (& 0) '8) 105 (hpxmov (& 5) '0 a4) (hpxmov a4 '1 a4) (cnbgt a4 '1 106) (push (@ 108)) (push (& 1)) (push '10) (push '"(RO)") (push '0) (mov '4 a4) (jmp bltstring) 108 (eval ()) (bra 107) 106 (push (@ 109)) (push (& 1)) (push '10) (push '"(RW)") (push '0) (mov '4 a4) (jmp bltstring) 109 (eval ()) 107 (push (@ 110)) (push (& 1)) (push '15) (hpxmov (& 8) '5 a4) (push a4) (push '0) (mov '4 a4) (jmp bltstring) 110 (eval ()) (mov (& 1) a2) (mov (& 0) a1) (jcall eqstring) (bfnil a1 112) (push (@ 113)) (push (& 2)) (push '0) (push (& 3)) (push '0) (mov '4 a4) (jmp bltstring) 113 (eval ()) (hpxmov (& 5) '22 a1) (hpxmov (& 5) '23 a2) (hpxmov (& 5) '15 a4) (plus a4 a2) (jcall tycursor) (push (@ 114)) (mov '0 a4) (jmp tyattrib) 114 (eval ()) (push a1) (push (@ 115)) (push dlink) (push prot) (stack dlink) (push (@ 117)) (push 't) (mov '1 a4) (jmp tyattrib) 117 (eval ()) (push (@ 118)) (push (& 6)) (mov '1 a4) (jmp tyo) 118 (eval ()) (mov (& 1) dlink) (adjstk '3) (push a1) (mov (@ 116) a3) 115 (push a3) (push a2) (push (@ 119)) (push (& 4)) (mov '1 a4) (jmp tyattrib) 119 (eval ()) (pop a2) (pop a3) (pop a1) (bri a3) 116 (eval ()) (adjstk '1) 112 (hpxmov (& 5) '22 a4) (mov (& 4) a3) (plus a4 a3) (hpxmov (& 5) '23 a4) (mov (& 3) a2) (plus a4 a2) (mov a3 a1) (adjstk '6) (jmp tycursor) 101 (mov nil a1) (adjstk '4) (return) )) (loader'((fentry #:edit:editor:meme:edit-redisplaystring nsubr) (entry #:edit:editor:meme:edit-redisplaystring nsubr) (cnbeq a4 '6 0) (mov '#:edit:editor:meme:edit-redisplaystring a1) (mov '6 a2) (jmp #:llcp:errwna) 0 (hpxmov (& 5) '22 a4) (mov (& 4) a3) (plus a4 a3) (hpxmov (& 5) '23 a4) (mov (& 3) a2) (plus a4 a2) (mov a3 a1) (jcall tycursor) (mov (& 0) a4) (bra 102) 101 (push a4) (push (@ 103)) (hbxmov (& 4) (& 3) a4) (push a4) (mov '1 a4) (jmp tyo) 103 (eval ()) (mov (& 2) a4) (plus '1 a4) (mov a4 (& 2)) (pop a4) 102 (sobgez a4 101) (mov 't a1) (adjstk '6) (return) )) (loader'((fentry #:edit:editor:meme:edit-redisplaycleol nsubr) (entry #:edit:editor:meme:edit-redisplaycleol nsubr) (cnbeq a4 '4 0) (mov '#:edit:editor:meme:edit-redisplaycleol a1) (mov '4 a2) (jmp #:llcp:errwna) 0 (hpxmov (& 3) '22 a4) (mov (& 2) a3) (plus a4 a3) (hpxmov (& 3) '23 a4) (mov (& 1) a2) (plus a4 a2) (mov a3 a1) (jcall tycursor) (adjstk '4) (jmp tycleol) )) (loader'((entry #:edit:editor:meme:rdpscreen subr1) (push a1) (jcall tycls) (push (cvalq #:edit:editor:meme:list-editor)) 101 (bfcons (& 0) 102) (mov (& 0) a4) (mov (cdr a4) (& 0)) (push (car a4)) (mov nil a3) (mov (& 0) a2) (mov '100 a1) (jcall trap-editor) (push (@ 103)) (hpxmov (& 1) '21 a4) (push a4) (push '0) (push '32) (mov '3 a4) (jmp fillstring) 103 (eval ()) (cabeq (& 0) (& 2) 105) (mov nil a2) (mov (& 0) a1) (jcall edit-command-redisplay) 105 (adjstk '1) (bra 101) 102 (mov nil a1) (adjstk '2) (return) )) (loader'((entry #:edit:editor:meme:tycls subr1) (hpxmov a1 '23 a4) (hpxmov a1 '22 a3) (push a3) (push a4) (hpxmov a1 '15 a2) (bra 102) 101 (push a2) (mov (& 1) a2) (mov (& 2) a1) (jcall tycursor) (jcall tycleol) (mov (& 1) a4) (plus '1 a4) (mov a4 (& 1)) (pop a2) 102 (sobgez a2 101) (mov 't a1) (adjstk '2) (return) )) (loader'((entry #:edit:editor:meme:make-meme-editor nsubr) (call #:edit:editor:meme:make) (push a1) (mov '32 a2) (mov (& 2) a1) (jcall makestring) (push a1) (push (@ 101)) (push (& 2)) (push (& 3)) (push (& 6)) (mov (& 6) a4) (diff '1 a4) (push a4) (mov '4 a4) (jmp init-editor) 101 (eval ()) (hpmovx '#:edit:editor:meme:edit-drawcursor (& 1) '6) (hpmovx '#:edit:editor:meme:edit-redisplaystring (& 1) '7) (hpmovx '#:edit:editor:meme:edit-redisplaycleol (& 1) '8) (hpmovx '#:edit:editor:meme:edit-query (& 1) '4) (hpmovx (& 5) (& 1) '22) (hpmovx (& 4) (& 1) '23) (push (@ 102)) (push (& 1)) (push '0) (push '"Editor:") (push '0) (mov '4 a4) (jmp bltstring) 102 (eval ()) (hpmovx (& 0) (& 1) '20) (mov '32 a2) (mov (& 3) a1) (jcall makestring) (hpmovx a1 (& 1) '21) (mov '(trap-meme . 0) a3) (mov '99 a2) (mov (& 1) a1) (jcall local-bind-to-ekey) (mov '(trap-meme . 1) a3) (mov '12 a2) (mov (& 1) a1) (jcall local-bind-to-key) (mov '(trap-meme . 2) a3) (mov '49 a2) (mov (& 1) a1) (jcall local-bind-to-xkey) (mov '(trap-meme . 3) a3) (mov '50 a2) (mov (& 1) a1) (jcall local-bind-to-xkey) (mov '(trap-meme . 4) a3) (mov '110 a2) (mov (& 1) a1) (jcall local-bind-to-xkey) (mov '(trap-meme . 5) a3) (mov '112 a2) (mov (& 1) a1) (jcall local-bind-to-xkey) (mov '(trap-meme . 6) a3) (mov '22 a2) (mov (& 1) a1) (jcall local-bind-to-xkey) (mov (& 1) a1) (adjstk '6) (return) )) (loader'((fentry trap-meme subr2) (entry trap-meme subr2) (push a1) (mov a2 a1) (cabne a1 '0 102) (hpmovx '0 (& 0) '13) (mov nil a1) (mov 'meme a2) (jmp #:llcp:exit) (adjstk '1) (return) 102 (cabne a1 '1 103) (mov (& 0) a1) (adjstk '1) (bra #:edit:editor:meme:rdpscreen) 103 (cabne a1 '2 104) (mov (& 0) a1) (adjstk '1) (bra #:edit:editor:meme:unsplit-editor) 104 (cabne a1 '3 105) (mov (& 0) a1) (adjstk '1) (bra #:edit:editor:meme:split-editor) 105 (cabne a1 '4 106) (mov (& 0) a1) (adjstk '1) (bra #:edit:editor:meme:next-editor) 106 (cabne a1 '5 107) (mov (& 0) a1) (adjstk '1) (bra #:edit:editor:meme:previous-editor) 107 (cabne a1 '6 108) (mov 't a3) (mov '"Visit File: " a2) (mov (& 0) a1) (jcall #:edit:editor:meme:edit-query) (mov a1 a2) (mov (& 0) a1) (adjstk '1) (bra #:edit:editor:meme:visit-file) 108 (mov nil a1) (adjstk '1) (return) )) (loader'((entry #:edit:editor:meme:visit-file subr2) (push a2) (push a1) (btnil a2 101) (call #:edit:editor:meme:split-editor) (mov nil a3) (mov (& 0) a2) (mov '2 a1) (jcall trap-edit) (mov (& 1) a1) (jcall probepathf) (mov a1 a4) (bfnil a4 103) (mov (& 1) a4) 103 (hpmovx a4 (& 0) '5) (mov (& 1) a1) (jcall probepathf) (mov a1 a3) (mov (& 0) a2) (mov '37 a1) (jcall trap-edit) (mov (& 0) a1) (adjstk '2) (bra #:edit:editor:meme:tycls) 101 (mov nil a1) (adjstk '2) (return) )) (loader'((entry #:edit:editor:meme:previous-editor subr1) (push a1) (mov (cvalq #:edit:editor:meme:list-editor) a1) (jcall nreverse) (mov (car a1) (& 0)) (push (car a1)) (mov (cdr a1) a1) (jcall nreverse) (mov a1 a2) (pop a1) (jcall cons) (mov a1 (cvalq #:edit:editor:meme:list-editor)) (mov nil a2) (mov (& 0) a1) (jcall edit-command-redisplay) (mov nil a1) (mov 'no-redisplay a2) (jmp #:llcp:exit) (adjstk '1) (return) )) (loader'((entry #:edit:editor:meme:next-editor subr1) (push a1) (mov (cvalq #:edit:editor:meme:list-editor) a1) (push (car a1)) (mov (cdr a1) a1) (jcall nreverse) (mov a1 a2) (pop a1) (jcall cons) (jcall nreverse) (mov a1 (cvalq #:edit:editor:meme:list-editor)) (mov (car a1) (& 0)) (mov nil a2) (mov (& 0) a1) (jcall edit-command-redisplay) (mov nil a1) (mov 'no-redisplay a2) (jmp #:llcp:exit) (adjstk '1) (return) )) (loader'((entry #:edit:editor:meme:unsplit-editor subr1) (push a1) (push (@ 101)) (push a1) (push a1) (jcall tyxmax) (push a1) (jcall tyymax) (diff '1 a1) (push a1) (mov '4 a4) (jmp init-editor) 101 (eval ()) (hpmovx '0 (& 0) '22) (hpmovx '0 (& 0) '23) (mov (& 0) a1) (jcall ncons) (mov a1 (cvalq #:edit:editor:meme:list-editor)) (mov (& 0) a1) (call #:edit:editor:meme:rdpscreen) (mov nil a2) (mov (& 0) a1) (jcall edit-command-redisplay) (mov 'no-redisplay a2) (jmp #:llcp:exit) (adjstk '1) (return) )) (loader'((entry #:edit:editor:meme:split-editor subr1) (push a1) (hpxmov a1 '15 a4) (cnbgt a4 '2 101) (mov '"Your window is too small" a1) (mov 'eoc a2) (jmp #:llcp:exit) (adjstk '1) (return) 101 (hpxmov a1 '15 a4) (hpxmov a1 '14 a3) (push nil) (push nil) (push a3) (push a4) (plus '1 a4) (quo '2 a4) (mov a4 (& 2)) (mov (& 0) a2) (diff a4 a2) (mov a2 (& 0)) (push (@ 103)) (push a1) (push a1) (push a3) (push a2) (mov '4 a4) (jmp init-editor) 103 (eval ()) (push (@ 104)) (hpxmov (& 5) '22 a4) (push a4) (hpxmov (& 6) '23 a4) (mov (& 2) a3) (plus a4 a3) (plus '1 a3) (push a3) (push (& 4)) (push (& 6)) (mov '4 a4) (bra #:edit:editor:meme:make-meme-editor) 104 (eval ()) (mov a1 (& 3)) (mov (& 4) a3) (mov a1 a2) (mov '1 a1) (jcall trap-edit) (hpxmov (& 4) '5 a4) (hpmovx a4 (& 3) '5) (mov (cvalq #:edit:editor:meme:list-editor) a2) (mov (cdr a2) a2) (mov (& 3) a1) (jcall cons) (mov (cvalq #:edit:editor:meme:list-editor) a4) (mov a1 (cdr a4)) (push (@ 105)) (hpxmov (& 5) '21 a3) (push a3) (push '0) (push '32) (mov '3 a4) (jmp fillstring) 105 (eval ()) (mov (& 3) a1) (call #:edit:editor:meme:tycls) (mov nil a2) (mov (& 3) a1) (adjstk '5) (jmp edit-command-redisplay) )) (defvar #:edit:editor:meme:clean-query? t) (loader'((fentry #:edit:editor:meme:edit-query subr3) (entry #:edit:editor:meme:edit-query subr3) (push a2) (push a1) (btnil a3 101) (call #:edit:editor:meme:make) (hgsize (& 1) a4) (push a4) (push a1) (push (@ 103)) (push a1) (push a1) (jcall tyxmax) (push a1) (push '1) (mov '4 a4) (jmp init-editor) 103 (eval ()) (hpmovx '#:edit:editor:meme:query-drawcursor (& 0) '6) (hpmovx '#:edit:editor:meme:edit-redisplaystring (& 0) '7) (hpmovx '#:edit:editor:meme:edit-redisplaycleol (& 0) '8) (hpmovx (& 1) (& 0) '22) (jcall tyymax) (hpmovx a1 (& 0) '23) (mov '(#:edit:editor:meme:trap-query . 0) a3) (mov '7 a2) (mov (& 0) a1) (jcall local-bind-to-key) (mov '(#:edit:editor:meme:trap-query . 1) a3) (mov '13 a2) (mov (& 0) a1) (jcall local-bind-to-key) (jcall tyymax) (mov a1 a2) (mov '0 a1) (jcall tycursor) (push (@ 104)) (push (& 4)) (mov '1 a4) (jmp tyo) 104 (eval ()) (jcall tycleol) (mov nil (cvalq #:edit:editor:meme:clean-query?)) (push (@ 105)) (push 'query) (push dlink) (push tag) (stack dlink) 106 (jcall tyi) (mov a1 a2) (mov (& 4) a1) (jcall edit-command-redisplay) (bra 106) 107 (mov nil a1) (mov (& 1) dlink) (adjstk '4) 105 (eval ()) (hpmovx '-1 (& 2) '16) (adjstk '4) (return) 101 (bfnil a2 110) (bfnil (cvalq #:edit:editor:meme:clean-query?) 108) 110 (jcall tyymax) (mov a1 a2) (mov '0 a1) (jcall tycursor) (jcall tycleol) (bfnil (& 1) 111) (mov 't (cvalq #:edit:editor:meme:clean-query?)) (bra 112) 111 (push (@ 113)) (push (& 2)) (mov '1 a4) (jmp tyo) 113 (eval ()) (mov nil (cvalq #:edit:editor:meme:clean-query?)) 112 (hpmovx '-1 (& 0) '16) (mov '-1 a1) (adjstk '2) (return) 108 (mov nil a1) (adjstk '2) (return) )) (loader'((fentry #:edit:editor:meme:query-drawcursor nsubr) (entry #:edit:editor:meme:query-drawcursor nsubr) (cnbeq a4 '4 0) (mov '#:edit:editor:meme:query-drawcursor a1) (mov '4 a2) (jmp #:llcp:errwna) 0 (btnil (& 0) 101) (hpxmov (& 3) '22 a4) (mov (& 2) a3) (plus a4 a3) (hpxmov (& 3) '23 a4) (mov (& 1) a2) (plus a4 a2) (mov a3 a1) (adjstk '4) (jmp tycursor) 101 (mov nil a1) (adjstk '4) (return) )) (loader'((fentry #:edit:editor:meme:trap-query subr2) (entry #:edit:editor:meme:trap-query subr2) (push a1) (mov a2 a1) (cabne a1 '0 102) (mov nil a1) (mov 'query a2) (jmp #:llcp:exit) (adjstk '1) (return) 102 (cabne a1 '1 103) (mov nil a3) (mov (& 0) a2) (mov '30 a1) (jcall trap-edit) (mov 'query a2) (jmp #:llcp:exit) (adjstk '1) (return) 103 (mov nil a1) (adjstk '1) (return) )) (loader '((end)))