From: Kevin R. <kev...@us...> - 2003-04-11 23:35:49
|
Update of /cvsroot/sbcl/sbcl/contrib/sb-aclrepl In directory sc8-pr-cvs1:/tmp/cvs-serv1982/contrib/sb-aclrepl Modified Files: inspect.lisp repl.lisp Log Message: contrib/sb-aclrepl improvements [0.pre8.55] inspect.lisp: Refactored display of objects, start of publishable API repl.lisp: Bind fresh conses around reads as EOF markers. Index: inspect.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/contrib/sb-aclrepl/inspect.lisp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- inspect.lisp 9 Apr 2003 13:46:17 -0000 1.5 +++ inspect.lisp 11 Apr 2003 23:35:45 -0000 1.6 @@ -16,7 +16,7 @@ ;; stack of parents of inspected object object-stack ;; a stack of indices of parent object components - parent-stack) + select-stack) ;; FIXME - raw mode isn't currently used in object display (defparameter *current-inspect* nil @@ -29,7 +29,7 @@ "number of initial components to skip when displaying an object") [...1099 lines suppressed...] + (let ((components (list (cons "numerator" (numerator object)) + (cons "denominator" (denominator object))))) + (list components (length components) :named nil))) -(defmethod inspected-parts ((object character) &key description) - (let ((desc (format nil "character ~W char-code #x~X" object (char-code object)))) - (if description - desc - (values desc nil nil)))) +(defmethod inspected-parts ((object t)) + (list nil 0 nil nil)) -(defmethod inspected-parts ((object t) &key description) - (let ((desc (format nil "a generic object ~W" object))) - (if description - desc - (values desc nil nil)))) ;; FIXME - implement setting of component values Index: repl.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/contrib/sb-aclrepl/repl.lisp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- repl.lisp 8 Apr 2003 19:39:48 -0000 1.5 +++ repl.lisp 11 Apr 2003 23:35:45 -0000 1.6 @@ -71,7 +71,7 @@ (declaim (type list *history*)) -(defvar *eof-marker* (cons :eof nil)) +(defvar *eof-marker* :eof) (defvar *eof-cmd* (make-user-cmd :func :eof)) (defvar *null-cmd* (make-user-cmd :func :null-cmd)) @@ -110,9 +110,10 @@ nil (list args-string))) (t - (let ((string-stream (make-string-input-stream args-string))) - (loop as arg = (read string-stream nil *eof-marker*) - until (eq arg *eof-marker*) + (let ((string-stream (make-string-input-stream args-string)) + (eof (cons nil *eof-marker*))) ;new cons for eq uniqueness + (loop as arg = (read string-stream nil eof) + until (eq arg eof) collect arg)))))) (let ((next-char (peek-char-non-whitespace input-stream))) (cond @@ -149,8 +150,9 @@ (read-char input-stream) *null-cmd*) (t - (let ((form (read input-stream nil *eof-marker*))) - (if (eq form *eof-marker*) + (let* ((eof (cons nil *eof-marker*)) + (form (read input-stream nil eof))) + (if (eq form eof) *eof-cmd* (make-user-cmd :input form :func nil :hnum *cmd-number*)))))))) |