Current CVS version makes it really fun to debug the libraries ... (ok, "almost" :-) Beyond the fact that we finally document all debugging related features (mostly environment variables; checkout "man lesstif" and our HTML docs) we finally have some enhancements to offer: - block files from the DEBUG_SOURCES list: export DEBUG_SOURCES=all:-Vendor:-XmString.c will (given debugging support was compiled in) produce debugging output for all, but the Vendor.c and XmString.c sources - you may now send debugging output (DEBUG_FILE) unbuffered to stdin, stderr as well as an ordinary file. - you want to debug a complex, but the crash can hardly be located within a few megabytes of debug output? No problem anymore! Turn on debugging "just in time". Here's an example written for a bash shell: 1) assume we want to get debugging info from all files but XmString.c written to some file foo.log and to wait until the application has been started up and some non-critical actions have been performed. A signal SIGUSR1 which exists on your system is not used by the application: export DEBUG_SOURCES=all:-XmString export DEBUG_FILE=foo.log export DEBUG_TOGGLE=off export DEBUG_SIGNAL=SIGUSR1 2) start app "xmfoo" and get it's <pid> xmfoo 3) get the application in the desired state to start debugging 4) send a SIGUSR1 to the xmfoo process kill -s SIGUSR1 <pid> 5) produce the desired output by performing the critical actions 6) end debugging by sending SIGUSR1 again Since this was recently introduced our debugging facility was sometimes broken in our CVS version. Meanwhile it's hopefully working as before and even "better", of course :-) --- Alexander Mai [EMAIL PROTECTED]