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.)
The object about which debugging information is desired.
(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))