[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: initial probs with MCL 2.0b1p2

   Date: Tue, 14 May 91 18:44:01 -0400
   From: spector@cs.UMD.EDU (Lee Spector)
   To: info-macl@cambridge.apple.com
   Subject: initial probs with MCL 2.0b1p2
    - There seem to be two different patches for 
   (defmethod view-draw-contents ((item scroll-bar-dialog-item)) ...),
   one in grow-icon-source-patch.lisp and one in scroll-bar-dlg-items-patch.lisp.
   I didn't see an indication of which takes priority; or am I missing something
The one in grow-icon-source-patch.lisp is the one to use.

    - Documentation and arglists seem to be lacking on many symbols, for 
   example defclass. Is it just incomplete, or is this stuff just hidden?
   I do (setq *save-doc-strings* t) (setq *save-local-symbols* t), and
   (setq *fasl-save-local-symbols* t) in my init.Lisp, so documentation etc.
   works for my own stuff...

It's incomplete.  We're working on it.
    - I haven't found a good way to get to documentation from the inspector or
   from apropos.  The popup menu in inspector windows is nice, but how do I 
   attach the functions to it?  (I've poked around in inspector-window.lisp, 
   and it looks easy to do, but I'd appreciate some advice or an example.)
Symbols have a "Documentation" command.  Functions probably should,
but don't.  The inspector::inspector-commands generic-function is
responsible for returning a command list for an instance of
inspector::inspector.  It returns a list of the form:

((string1 function1)
 (string2 function2)

The strings are displayed in the Commands menu.  The functions take no
arguments.  For example, here's the inspector-commands method for the
symbol inspector (the inspector-class for a symbol is the class named
inspector::usual-inspector.  It passes the inspector-commands method to
the inspected object):

(defmethod inspector-commands ((sym symbol))
  (let ((res nil))
    (push (list "Documentation" #'(lambda () (show-documentation sym)))
    (if (get-source-files sym)
      (push (list "Edit Definition" #'(lambda () (edit-definition sym))) res))
    (let ((class (find-class sym nil)))
      (if class
        (push (list "Inspect Class" #'(lambda () (inspect class))) res)))
    (if (boundp sym)
      (push (list "MAKUNBOUND" #'(lambda () (makunbound sym) (resample-it)))
    (if (fboundp sym)
      (push (list "FMAKUNBOUND" #'(lambda () (fmakunbound sym) (resample-it)))
    (if (record-type-p sym nil)
      (push (list "Inspect Record Type" #'(lambda () (inspect-record-type sym)))
    (nreverse res)))