(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE (DEFPACKAGE "STEP" (USE "LISP" "XCL") (SHADOW *PRINT-LENGTH* *PRINT-LEVEL* ABORT CLOSE PRINT SLEEP STEP))) (il:filecreated " 7-Nov-86 19:30:02" ("compiled on " il:{eris}library>cmlstep.\;33) " 6-Nov-86 15:00:29" "COMPILE-FILEd" il:|in| "Xerox Lisp 6-Nov-86 ..." il:|dated| " 6-Nov-86 15:33:34") (il:filecreated " 7-Nov-86 19:27:01" il:{eris}library>cmlstep.\;33 89920 il:|changes| il:|to:| (il:fns il:%step-lispx il:%step-apply* il:%step-eval) (il:functions break-loop step cl:step evalhook applyhook xcl-user::testee abort awaken close eval-form sleep step-form break-interrupt command-loop parse-functions print print-values init whenselectedfn) (il:vars il:cmlstepcoms) (il:variables *indentation-level* *max-indentation* *menu* *print-length* *print-level* *state*) il:|previous| il:|date:| " 7-Nov-86 11:20:28" il:{eris}library>cmlstep.\;30) (il:rpaqq il:cmlstepcoms ((il:* il:|;;;| "CMLSTEP -- Single Stepper STEP -- By Kelly Roach") ( il:variables *indentation-level* *max-indentation* *menu* *print-length* *print-level* *state*) ( il:functions abort awaken close eval-form sleep step-form) (il:functions break-interrupt break-loop command-loop parse-functions print print-values step) (il:functions cl:step) (il:functions init whenselectedfn) (il:declare\: il:donteval@load il:docopy (il:p (init))) (il:coms (il:* il:|;;| "This is all stuff that should be eliminated once the real *EVALHOOK* mechanism is implemented.") ( il:initvars (*evalhook* nil) (il:*skip-evalhook* nil) (*applyhook* nil) (il:*skip-applyhook* nil)) ( il:functions evalhook applyhook) (il:fns il:%step-lispx il:%step-evalqt il:%step-read-eval-print) ( il:fns il:%step-spreadapply* il:%step-spreadapply il:%step-.evalform. il:%step-apply* il:%step-apply il:%step-\\evalform il:%step-\\eval il:%step-eval) (il:fns il:%step-fn il:%step-prog1 il:%step-setq il:%step-\\evprogn il:%step-cond il:%step-progn il:%step-or il:%step-and il:%step-return il:%step-go il:%step-\\prog0 il:%step-prog) (il:* il:\; "See example on page 323") (il:initvars (il:*hooklevel* 0) ) (il:fns il:hook il:eval-hook-function il:hook-test) (il:functions xcl-user::testee)) (il:prop ( il:filetype il:makefile-environment) il:cmlstep) (il:declare\: il:donteval@load il:doeval@compile il:dontcopy il:compilervars (il:addvars (il:nlama il:%step-prog il:%step-go il:%step-and il:%step-or il:%step-progn il:%step-cond il:%step-setq il:%step-prog1) (il:nlaml il:%step-return) (il:lama il:%step-apply*))))) (proclaim (quote (special *indentation-level*))) (or (boundp (quote *indentation-level*)) (il:setq *indentation-level* 0)) (proclaim (quote (special *max-indentation*))) (or (boundp (quote *max-indentation*)) (il:setq *max-indentation* 40)) (proclaim (quote (special *menu*))) (or (boundp (quote *menu*)) (il:setq *menu* nil)) (proclaim (quote (special *print-length*))) (or (boundp (quote *print-length*)) (il:setq *print-length* 5)) (let* ((il:a0512 (quote *print-length*)) (il:a0513 (quote cl::variable)) (il:a0514 "Local value")) ( il:set-documentation il:a0512 il:a0513 il:a0514)) (proclaim (quote (special *print-level*))) (or (boundp (quote *print-level*)) (il:setq *print-level* 4)) (let* ((il:a0515 (quote *print-level*)) (il:a0516 (quote cl::variable)) (il:a0517 "Local value")) ( il:set-documentation il:a0515 il:a0516 il:a0517)) (proclaim (quote (special *state*))) (or (boundp (quote *state*)) (il:setq *state* nil)) (let* ((il:a0518 (quote *state*)) (il:a0519 (quote cl::variable)) (il:a0520 "EG, enabled")) ( il:set-documentation il:a0518 il:a0519 il:a0520)) abort il:d1 (il:f 0 *state* il:f 1 *evalhook*) hcdcnil nil () awaken il:d1 (il:f 2 il:\\term.ofd il:f 3 *state* il:f 4 *indentation-level* il:f 5 *menu*) cR icjcHdg Hg YHgg I g UHgg YHgI IgH g (96 il:%step-read-eval-print 91 il:stkpos 85 il:putwindowprop 77 il:putwindowprop 67 il:attachmenu 54 il:getwindowuserprop 46 il:openw 41 il:attachwindow 30 il:getwindowuserprop 20 il:getwindowuserprop 3 il:wfromds) (88 il:%step-read-eval-print 81 mainwindow 73 menuwindow 64 il:top 61 il:right 51 menuwindow 38 il:top 35 il:right 27 menuwindow 17 menuwindow) () close il:d1 (il:f 1 *state* il:f 2 *evalhook* il:f 3 il:\\term.ofd) %hcdcS dg Xd H g (34 il:retfrom 28 il:closew 24 il:detachwindow 19 il:getwindowuserprop 12 il:wfromds) (31 il:%step-read-eval-print 16 menuwindow) () eval-form il:d1 (il:l (1 environment 0 form)) @hdA H H (20 values-list 16 print-values 9 il:\\mvlist 6 evalhook) nil () sleep il:d1 (il:l (0 functions) il:f 0 *state* il:f 1 *evalhook* il:f 2 *indentation-level*) @jcg cjc(11 symbol-function) (8 command-loop) () (let* ((il:a0521 (quote sleep)) (il:a0522 (quote function)) (il:a0523 "Sleep until the given functions are reached.")) (il:set-documentation il:a0521 il:a0522 il:a0523)) step-form il:d1 (il:l (1 environment 0 form)) @g hA H H (25 values-list 21 print-values 14 il:\\mvlist 11 evalhook 6 symbol-function) (3 command-loop) () break-interrupt il:d1 (il:l (0 command)) g g @ (20 il:retfrom 16 symbol-function 8 il:stkpos 5 symbol-function) (13 break-loop 2 break-loop) () (let* ((il:a0524 (quote break-interrupt)) (il:a0525 (quote function)) (il:a0526 "This function called via WHENSELECTEDFN of STEP menu. Returns COMMAND from break loop.")) ( il:set-documentation il:a0524 il:a0525 il:a0526)) break-loop il:d1 nil g (5 il:evalqt) (2 \:) () command-loop il:d1 (il:l (1 environment 0 form) il:p 2 *indentation-level* il:f 5 *standard-output* il:f 6 *state* il:f 7 *indentation-level*) ,V @hdA i@d VY:hWk!@dld +@ oU @hdA U U H:II h\dgg&Ldg$@d hA [bK|@A g@A Ldg@hdA gU @U LdgU @U |go U Ldgg gh h@g hA (297 evalhook 292 symbol-function 283 il:\\do-throw 280 il:\\mvlist 266 il:%step-return 253 terpri 248 break 233 print 227 fresh-line 213 print 207 fresh-line 197 evalhook 189 abort 177 eval-form 166 step-form 151 il:\\mvlist 148 macroexpand 140 special-form-p 116 abort 105 break-loop 100 print 84 terpri 80 prin1 76 evalhook 69 princ 61 print 54 constantp 9 evalhook) (289 command-loop 276 il:top-level-catcher 270 ^ 260 return 239 break 220 pprint 201 print 183 finish 170 skip 130 macro 122 step 110 abort) ( 245 "Step" 65 " = ") (let* ((il:a0527 (quote command-loop)) (il:a0528 (quote function)) (il:a0529 "COMMAND-LOOP is the *EVALHOOK* when stepping. It prints the form, and then enters a command loop. The commands are read as single characters from the terminal. If the stepper has subsequently been turned off, do the equivalent of the s command without printing." )) (il:set-documentation il:a0527 il:a0528 il:a0529)) parse-functions il:d1 (il:l (0 list) il:f 4 *error-output*) /@@ZIToI H[dld KHIJ(31 fboundp 17 format) nil ( 13 "Non-functions ignored - ~S") (let* ((il:a0530 (quote parse-functions)) (il:a0531 (quote function)) (il:a0532 "Picks out functions from the list, and tells the user about those that weren't. Nice to know, but not an error." )) (il:set-documentation il:a0530 il:a0531 il:a0532)) print il:d1 (il:l (0 form) il:p 1 cl:*print-length* il:p 0 cl:*print-level* il:f 3 *standard-output* il:f 4 *print-level* il:f 5 *print-length* il:f 6 *indentation-level* il:f 7 *max-indentation*) TUVW S JS @S (24 prin1 19 il:spaces 14 fresh-line 7 min) nil () (let* ((il:a0533 (quote print)) (il:a0534 (quote function)) (il:a0535 "PRINT is called to print a form according to the current indentation level, and according to %*STEP-PRINT-LEVEL* and %*STEP-PRINT-LENGTH*" )) (il:set-documentation il:a0533 il:a0534 il:a0535)) print-values il:d1 (il:l (0 value-list) il:p 1 cl:*print-length* il:p 0 cl:*print-level* il:f 4 *standard-output* il:f 5 *print-level* il:f 6 *print-length*) 3T @UV"@ZT  oT KT J(45 prin1 39 princ 26 print 21 terpri 3 fresh-line) nil ( 35 " ") (let* ((il:a0536 (quote print-values)) (il:a0537 (quote function)) (il:a0538 "PRINT-VALUES is called to print a list of values which were returned from an evaluation.")) ( il:set-documentation il:a0536 il:a0537 il:a0538)) step il:d1 (il:l (0 forms)) I@do io ` h@il@ H Hg @ (70 il:%step-eval 64 symbol-function 56 sleep 49 parse-functions 37 sleep 29 abort 22 equal 13 awaken 8 equal) (61 command-loop 26 il:\\tty.process) ( 19 (nil) 5 (t)) cl::|expand-STEP| il:d1 (il:l (1 si::$$macro-environment 0 si::$$macro-form)) @ggHhhnil (10 quote 7 step) () (il:setf-macro-function (quote cl:step) (quote cl::|expand-STEP|)) (let* ((il:a0540 (quote cl:step)) (il:a0541 (quote function)) (il:a0542 "Step a form, name a function to step, or en/dis-able stepping.")) (il:set-documentation il:a0540 il:a0541 il:a0542)) init il:d1 (il:f 2 *menu*) K`dodog HdIdg dgjdndhHdI c(25 symbol-function) (46 il:defaultmenuheldfn 39 il:clrprompt 22 whenselectedfn 2 il:|MENUTYPE#|) ( 16 ((awaken nil "Turn stepping on.") (close nil "Turn stepping off. Close this menu.") (abort nil "Abort stepping mode.") (step nil "Evaluate current expression in step mode.") (skip nil "Evaluate current expression without stepping.") (macro nil "Step macroexpansion.") (finish nil "Finish evaluation, but without stepping.") (print nil "Print current expression.") (pprint nil "Pretty-print current expression.") (break nil "Enter break loop.") (eval nil "Evaluate an arbitrary expression in current environment.") (return nil "Prompt for value to return as result of current exp.") (^ nil "Throw to top level.")) 8 "Stepper") (let* ((il:a0543 (quote init)) (il:a0544 (quote function)) (il:a0545 "Called when CMLSTEP is loaded, counterpart is in COMMAND-LOOP")) (il:set-documentation il:a0543 il:a0544 il:a0545)) whenselectedfn il:d1 (il:l (2 button 1 menu 0 item)) =@`Hdgg h gg hg gHhh (58 il:process.eval 45 symbol-function 36 symbol-function 21 symbol-function) (48 quote 42 break-interrupt 33 close 28 close 18 awaken 12 awaken 7 il:\\tty.process) () (init) (il:rpaq? *evalhook* nil) (il:rpaq? il:*skip-evalhook* nil) (il:rpaq? *applyhook* nil) (il:rpaq? il:*skip-applyhook* nil) evalhook il:d1 (il:l (3 cl::env 2 cl::applyhookfn 1 cl::evalhookfn 0 cl::form) il:p 2 *applyhook* il:p 0 *evalhook*) AiB@ (9 il:%step-eval) nil () applyhook il:d1 (il:l (4 cl::env 3 cl::applyhookfn 2 cl::evalhookfn 1 cl::args 0 function) il:p 1 *applyhook* il:p 0 *evalhook*) BC@A (9 il:%step-apply) nil () il:%step-lispxa0002 il:d1 (il:name il:errorset il:p 0 il:x il:f 1 il:lispz il:f 2 il:lispy il:f 3 il:lispxtem) :iQ,dRHi Hi Sioohdi hh(46 il:maprint 28 il:lispxprin1 21 il:historymatch 18 il:editfpat) (3 il:editquietflg) ( 39 " " 35 " does not appear in ") il:%step-lispxa0003 il:d1 (il:name il:errorset il:f 0 il:readbuf il:f 1 il:lispy il:f 2 il:lispxhist il:f 3 il:lispxid) !hcQR P chhid S (29 il:%step-lispx 25 il:lispxread 13 il:lispxreadbuf 8 il:lispxunread) nil () il:%step-lispx il:d1 (il:p 19 il:tail il:p 18 il:x il:p 17 il:macroy il:p 16 il:macrox il:p 15 il:lispxline il:p 14 il:x il:p 11 il:lispxvalues il:p 10 il:dontsaveflg il:p 9 il:lispxtem il:p 8 il:lispxvalue il:p 7 il:lispz il:p 6 il:lispy il:p 5 il:lispxline il:p 4 il:lispxlistflg il:p 3 il:lispxop il:p 2 il:helpflag il:p 1 il:lispxhist il:p 0 il:helpclock il:i 4 il:lispxflg il:i 3 il:lispxxuserfn il:i 2 il:lispxxmacros il:i 1 il:lispxid il:i 0 il:lispxx il:f 20 il:lispxhistory il:f 21 il:resetvarslst il:f 22 il:rereadflg il:f 23 il:archivelst il:f 24 il:lispxcoms il:f 25 il:addspellflg il:f 26 il:dwimflg il:f 27 il:histstr2 il:f 28 il:readbuf il:f 29 il:lispxmacros il:f 30 il:lispxuserfn il:f 31 il:lispxhist il:f 32 il:it il:f 33 il:helpflag il:f 34 il:redocnt il:f 35 il:lispxhistorymacros il:f 36 il:histstr0 il:f 37 il:macroprops il:f 38 il:clispchars il:f 39 il:historycoms il:f 40 il:clispflg) BW:bCWWBdgg  @di  i@hi ]bM@>@@i=W,i _gi Ogi i@hi ]Mb@dl`W,W(_gO _gKB^LhNh_KWF^ Kdgh_g6M[bM]Kg ^MAgAg^K XKgNKgGKg@Kg9Kg2Kg+Kg$KgKgKgKgKdgL>@h;gKdgMgKdgW(AhKM YgM gKdgW,ggMsgKdg:W,gMW(Mg W(dOi gid g(W,gMgMW.W(Mhdi cKgKdgW,gW.oi 7W(Mg _W. W.W.O gid NKo hLv@dgid hKW0Lhl'@ @WJ @o W2@l LhW4@lFW0h@ [@pMD@lq@ W2h@l _W4[@lFW0hi [MKdhKd[b+@l/@ W2&@l W4@o @lFW0hi [OW(Ah@M N1L@dMK[bM NNA C@MlCOOh_M@d A o9WPZ@dlSMMMlEMk _g7OWL0@ l'@ loi @Mi @M A @ M@ A __IIOO Oc@OdOid O @MbOW(Ahddg@ghh KdgM gMW( KgKdggW(Mgi gKdggMgMgM_M_OhMO dd_W(Ogi g`W*c*W*_"og O O"dW*O c*W* W*kO" O MgON W(Ogi  Mg gMhW0 gMhWN M Moioghdi Mid xgKgKgKdgMd_OO&dgdgdgdgpO&MkO& _gO MO O&_!Od OiddO O_O&gO&ggOh_i