0.pre7.71:
[sbcl.git] / src / code / show.lisp
index b1ecc30..7ba5501 100644 (file)
 (in-package "SB!INT")
 \f
 ;;;; various SB-SHOW-dependent forms
+;;;;
+;;;; In general, macros named /FOO
+;;;;   * are for debugging/tracing
+;;;;   * expand into nothing unless :SB-SHOW is in the target
+;;;;     features list
+;;;; Often, they also do nothing at runtime if */SHOW* is NIL, but
+;;;; this is not always true for some very-low-level ones.
+;;;;
+;;;; (I follow the "/FOO for debugging/tracing expressions" naming
+;;;; rule and several other naming conventions in all my Lisp
+;;;; programming when possible, and then set Emacs to display comments
+;;;; in one shade of blue, tracing expressions in another shade of
+;;;; blue, and declarations and assertions in a yellowish shade, so
+;;;; that it's easy to separate them from the "real code" which
+;;;; actually does the work of the program. -- WHN 2001-05-07)
 
 ;;; Set this to NIL to suppress output from /SHOW-related forms.
 #!+sb-show (defvar */show* t)
@@ -70,7 +85,8 @@
 ;;; a disabled-at-compile-time /SHOW, implemented as a macro instead
 ;;; of a function so that leaving occasionally-useful /SHOWs in place
 ;;; but disabled incurs no run-time overhead and works even when the
-;;; arguments can't be evaluated due to code flux
+;;; arguments can't be evaluated (e.g. because they're only meaningful
+;;; in a debugging version of the system, or just due to bit rot..)
 (defmacro /noshow (&rest rest)
   (declare (ignore rest)))
 
                    #!+sb-show
                    (sb!sys:%primitive print
                                       ,(concatenate 'simple-string "/" s)))))
-(defmacro /noshow0 (s)
-  (declare (ignore s)))
+(defmacro /noshow0 (&rest rest)
+  (declare (ignore rest)))
 
 ;;; low-level display of a string, works even early in cold init
 (defmacro /primitive-print (thing)
     #+sb-xc-host `(/show "(/primitive-print)" ,thing)
     #-sb-xc-host `(sb!sys:%primitive print (the simple-string ,thing))))
 
-(defmacro /nohexstr (thing)
-  (declare (ignore thing)))
-
 ;;; low-level display of a system word, works even early in cold init
 (defmacro /hexstr (thing)
   (declare (ignorable thing)) ; (for when #!-SB-SHOW)