Quick start
===========

1. Start your Lisp system and make sure you have ASDF loaded.

2. (asdf:operate 'asdf:load-op :clouseau)

3. Try something like:

   (clouseau:inspector (clim:make-application-frame
                        'clouseau:inspector :obj 20))

   in order to inspect the inspector pane.

4. Left-click on occurrences of objects or of "...".


Usage
=====

The inspector is invoked like this:

(clouseau:inspector object)

To get a feel for what the inspector can do, try these:

(clouseau:inspector #'write-string)
(clouseau:inspector #'documentation)
(clouseau:inspector 'documentation)
(clouseau:inspector '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16))

Click on things. See what happens.


Threading
=========

If you have a multithreaded Lisp implementation, you can start an
inspector in a new process like this:

(clouseau:inspector object :new-process t)

For example, if you want to get really fancy and inspect a running
inspector, this ugly hack should do the job:

(let ((*print-length* 10)
      (*print-level* 10)
      inspected-inspector)
  (setf inspected-inspector
	(clim:make-application-frame 'clouseau::inspector
				     :obj (clim:make-application-frame
					   'clouseau::inspector :obj 20)))
  (clim-sys:make-process #'(lambda ()
			     (clim:run-frame-top-level inspected-inspector))
			 :name "Inspector Clouseau (being inspected)")
  (clouseau:inspector inspected-inspector :new-process t))