[cells-gtk-devel] Modal Dialogs

Ken Tilton kentilton at gmail.com
Tue Jul 18 19:41:29 UTC 2006


On 7/18/06, Shaun Kruger <shaun.kruger at gmail.com> wrote:
>
> I am really missing something.
>
> Included is what I have defined for my login screen.  The goal is for
> it to be callable from anywhere with (show-login-dialog).  When it is
> called I get the following error:
>
> Error: Undefined function MM-APPS::ID called with arguments (LOGINPROMPT).
>   1 (continue) Try loading init again.
>   2 Give up loading init.
>   3 Try loading another file instead of init.
>   4 (abort) Return to level 0.
>   5 Return to top loop level 0.
>
> Type :b for backtrace, :c <option number> to proceed,  or :? for other
> options
>
> (defmodel login-prompt ...) happens in package :mm-apps which is defines
> as:
>
> (defpackage :mm-apps
>   (:use :common-lisp :pod :cells :gtk-ffi :cells-gtk :clsql-user)
>   (:export mm-main))
>
> I assume it is because the id function exists in another package, but
> which one?  I couldn't find its definition anywhere in cells or
> cells-gtk.  I know I'm missing something, but I just don't know where
> to look for it.


It has been a while and I do not even see the code on my new system, but I
distinctly recall using ID in Cells-gtk when I did the port (or maybe I did
it in Celtk and Vasily (sp?) copied it. you can just try cells-gtk::id if in
doubt, tho I would be surprised if it were not exported.

One possibility is that the compiler is "seeing" your use of ID in the
MM-APPS package before it sees your defpackage form. But that should give
you one or two warnings. Anyway, the packahe prefix with two colons should
force the issue.

Note that (apropos "ID") or apropos-list same will give you some clues as to
what is going on. Unfortunately there will be a kazillion hits. You might
have to right a quick function to call apropos-list and then search through
the hits looking for exact matches. What you might find is that apropos fins
two symbols, one in cells-gtk and one in mm-map. That would happen only if
(a) ID is not exported or (b) you used ID somewhere before the defpackage
form. Note that this later scenario can arise if you use ASDF to build and
you exited last time with a later ID-referencing file more current than its
Fasl. Then, unless the cells-gtk.asd has the right dependency or :serial t,
the later file gets compiled before the earlier file with the defpackage
form gets loaded. This is ASDF silliness that forces one to really get a lot
of dependencies declared.

hth, kenny
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cells-gtk-devel/attachments/20060718/db31b064/attachment.html>


More information about the cells-gtk-devel mailing list