my-debug
dblib.dsl
my-debug
A debugging function more helpful than (debug)
Synopsis
(my-debug x #!optional return-value)
Description
A version of debug that tries to print information more helpful
than "unknown object ...". Will need extending for any further
types added to Jade which don't have useful print methods.
(Should yield more information extracted from each type.)
x
The object about which debugging information is desired.
Author
Tony Graham
Source Code
(define (my-debug x #!optional return-value)
;; A debugging function more helpful than (debug)
(let ((msg (debug (cond ((node-list? x)
(if (node-list-empty? x)
(list 'empty-node-list x)
(list (if (named-node-list? x)
'named-node-list
'node-list)
(node-list-length x) x)))
((sosofo? x)
(list 'sosofo x))
((procedure? x)
(list 'procedure x))
((style? x)
(list 'style x))
((address? x)
(list 'address x))
((color? x)
(list 'color x))
((color-space? x)
(list 'color-space x))
((display-space? x)
(list 'display-space x))
((inline-space? x)
(list 'inline-space x))
((glyph-id? x)
(list 'glyph-id x))
((glyph-subst-table? x)
(list 'glyph-subst-table x))
(else x)))))
return-value))