(setq SCCS-step "@(#)step.l 1.2 10/22/80")
(dv stepfns (trim $prin1 evalhook* step print* |7bit| skip st sn))
(lambda (arg depth length)
(cond ((not (dtpr arg)) arg)
((zerop length) '(<etc>))
(cons (trim (car arg) (sub1 depth) length)
(trim (cdr arg) depth (sub1 length)))))))
(print (trim arg (cond (prinlevel) (t -1)) (cond (prinlength) (t -1))))))
(cond (evalhook* (and (not (atom form))
(memq (car form) evalhook*)
(and (= evalhook\# 0) (drain piport))
((lambda (prinlevel prinlength)
cmdlp(setq cmd (tyi piport))
; <<<<< start back on the left <<<<<
(nil (and (not (atom form))
'(expr fexpr lexpr subr fsubr lsubr macro)))
(setq form (funcall (get (car form) 'macro) form))
; >>>>> continue on the right >>>>>
(setq evalhook-switch nil)
(ty |/usr/lisp/doc/step.ref|)
'"Try one of ?BCDGMPQ or <cr>")
(not (zerop evalhook\#)))
(t (evalhook form 'evalhook*))))
(t (evalhook form 'evalhook*)))))
(cond ((or (null arg) (car arg))
(setq evalhook* (cond ((null arg) nil) ((eq (car arg) t)) (arg)))
(setq evalhook 'evalhook*)
(setq evalhook-switch nil)
(sstatus evalhook nil)))))
'(do ((i 1 (|1+| i)) (indent (* 2 evalhook\#)) (prinlevel 3) (prinlength 5))
((> i indent) ($prin1 form))
(list '= (list 'boole 1 127 (cadr s)) (caddr s))))