[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: initial probs with MCL 2.0b1p2
- To: spector@cs.UMD.EDU (Lee Spector)
- Subject: Re: initial probs with MCL 2.0b1p2
- From: Bill St. Clair <bill>
- Date: Wed, 15 May 91 15:56:32 -0400
- Cc: info-macl@cambridge.apple.com
- In-reply-to: Your message of Tue, 14 May 91 18:44:01 -0400. <9105142244.AA12134@mimsy.UMD.EDU>
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
obvious?
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)))
res)
(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)))
res))
(if (fboundp sym)
(push (list "FMAKUNBOUND" #'(lambda () (fmakunbound sym) (resample-it)))
res))
#|
(if (record-type-p sym nil)
(push (list "Inspect Record Type" #'(lambda () (inspect-record-type sym)))
res))
|#
(nreverse res)))