<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >my-debug</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="DSSSL Library Reference" HREF="index.html"><LINK REL="UP" TITLE="Debug" HREF="r274.htm"><LINK REL="PREVIOUS" TITLE="Debug" HREF="r274.htm"><LINK REL="NEXT" TITLE="Miscellaneous" HREF="r300.htm"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >DSSSL Library Reference: Part of the Modular DocBook Stylesheet distribution</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="r274.htm" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="r300.htm" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="MY-DEBUG" ></A >my-debug</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN280" ></A ><H2 >Name</H2 >my-debug -- A debugging function more helpful than (debug)</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN283" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" >(my-debug x #!optional return-value)</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN286" ></A ><H2 >Description</H2 ><P >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.)</P ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT >x</DT ><DD ><P >The object about which debugging information is desired.</P ></DD ></DL ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN294" ></A ><H2 >Author</H2 ><P >Tony Graham</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN297" ></A ><H2 >Source Code</H2 ><PRE CLASS="PROGRAMLISTING" >(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))</PRE ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="r274.htm" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="r300.htm" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Debug</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="r274.htm" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Miscellaneous</TD ></TR ></TABLE ></DIV ></BODY ></HTML >