(loader '((title |abbrev.lo|))) (if (not (>= (version) 15.2)) (progn (error 'load 'erricf 'abbrev))) (add-feature 'abbrev) (if (not (boundp '#:system:abbrevs-alist)) (progn (defvar #:system:abbrevs-alist ()))) (defvar errsxtacc "mauvaise abreviation {}") (defvar errsxtclosingacc "} en dehors d'une abreviation {}") (defvar errnotanabbrev "l'argument n'est pas une abreviation") (loader'((fentry defabbrev dmsubr) (entry defabbrev dmsubr) (mov (cdr a1) a4) (mov (car a1) a1) (mov (car a4) a4) (push a4) (push (@ 101)) (push 'put-abbrev) (push (@ 102)) (push 'quote) (push a1) (mov '2 a4) (jmp list) 102 (eval ()) (push a1) (push (@ 103)) (push 'quote) (push (& 5)) (mov '2 a4) (jmp list) 103 (eval ()) (push a1) (mov '3 a4) (jmp list) 101 (eval ()) (adjstk '1) (return) )) (loader'((fentry put-abbrev subr2) (entry put-abbrev subr2) (push a2) (push a1) 101 (btsymb (& 0) 103) (mov (& 0) a3) (mov 'errsym a2) (mov 'put-abbrev a1) (jcall error) (mov a1 (& 0)) (bra 101) 103 (btsymb (& 1) 104) (mov (& 1) a3) (mov 'errsym a2) (mov 'put-abbrev a1) (jcall error) (mov a1 (& 1)) (bra 103) 104 (mov (cvalq #:system:abbrevs-alist) a2) (mov (& 0) a1) (jcall assq) (bfcons a1 105) (mov (& 1) (cdr a1)) (bra 106) 105 (mov (cvalq #:system:abbrevs-alist) a3) (mov (& 1) a2) (mov (& 0) a1) (jcall acons) (mov a1 (cvalq #:system:abbrevs-alist)) 106 (mov (& 0) a1) (adjstk '2) (return) )) (loader'((fentry rem-abbrev subr1) (entry rem-abbrev subr1) (push a1) 101 (btsymb (& 0) 102) (mov (& 0) a3) (mov 'errsym a2) (mov 'rem-abbrev a1) (jcall error) (mov a1 (& 0)) (bra 101) 102 (mov (cvalq #:system:abbrevs-alist) a2) (mov (& 0) a1) (jcall assq) (mov (cvalq #:system:abbrevs-alist) a2) (jcall delq) (mov a1 (cvalq #:system:abbrevs-alist)) (mov (& 0) a1) (adjstk '1) (return) )) (loader'((fentry get-abbrev subr1) (entry get-abbrev subr1) (push a1) 101 (bfsymb (& 0) 103) (mov (& 0) a1) (jcall abbrevp) (bfnil a1 102) 103 (mov (& 0) a3) (mov (cvalq errnotanabbrev) a2) (mov 'get-abbrev a1) (jcall error) (mov a1 (& 0)) (bra 101) 102 (mov (cvalq #:system:abbrevs-alist) a2) (mov (& 0) a1) (adjstk '1) (jmp cassq) )) (loader'((fentry abbrevp subr1) (entry abbrevp subr1) (mov (cvalq #:system:abbrevs-alist) a2) (jcall assq) (bfcons a1 101) (mov 't a1) (return) 101 (mov nil a1) (return) )) (loader'((fentry has-an-abbrev subr1) (entry has-an-abbrev subr1) (mov (cvalq #:system:abbrevs-alist) a2) (jcall rassq) (mov (car a1) a1) (return) )) (dmc |}| () (error '|}| errsxtclosingacc ())) (dmc |{| () (let ((l (read-delimited-list 125))) (until (and (consp l) (symbolp (car l)) (null (cdr l))) (setq l (error '|{| errsxtacc l))) (setq l (get-abbrev (car l))) (reread (if l (explode l) '(124 124)))) (with ((typecn 58 'cpkgc)) (read))) (if (not (boundp '#:system:print-with-abbrev-flag)) (progn (defvar #:system:print-with-abbrev-flag t))) (loader'((fentry #:symbol:prin subr1) (entry #:symbol:prin subr1) (push a1) (btnil (cvalq #:system:print-with-abbrev-flag) 101) (mov (pkgc a1) a1) (jcall has-an-abbrev) (btnil a1 101) (push nil) (push (cvalq #:system:print-for-read)) (mov (& 1) (cvalq #:system:print-for-read)) (push '1) (push '(#:system:print-for-read)) (push 'lambda) (push llink) (push dlink) (push cbindn) (stack dlink) (mov '|{| a1) (jcall pratom) (mov (& 1) dlink) (mov (& 6) (cvalq #:system:print-for-read)) (adjstk '8) (mov (& 0) a1) (mov (pkgc a1) a1) (jcall has-an-abbrev) (jcall pratom) (push nil) (push (cvalq #:system:print-for-read)) (mov (& 1) (cvalq #:system:print-for-read)) (push '1) (push '(#:system:print-for-read)) (push 'lambda) (push llink) (push dlink) (push cbindn) (stack dlink) (mov '|}:| a1) (jcall pratom) (mov (& 1) dlink) (mov (& 6) (cvalq #:system:print-for-read)) (adjstk '8) (push nil) (push (cvalq #:system:print-package-flag)) (mov (& 1) (cvalq #:system:print-package-flag)) (push '1) (push '(#:system:print-package-flag)) (push 'lambda) (push llink) (push dlink) (push cbindn) (stack dlink) (mov (& 8) a1) (jcall pratom) (mov (& 1) dlink) (mov (& 6) (cvalq #:system:print-package-flag)) (adjstk '9) (return) 101 (mov (& 0) a1) (adjstk '1) (jmp pratom) )) (loader '((end)))