Re: Re: [Lispweb] tbnl: what package?
Jim Prewett <[email protected]> Fri, 10 Feb 2006 06:25:45 -0700 (MST)
| Newsgroups | gmane.lisp.lib.tbnl.general,gmane.lisp.web |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm guessing this is what I just ran into and the answer is your new function names and symbols will be interned in :CL-USER :) I'd love to know how to change that, but haven't bothered to dig yet. (in my case, :CL-USER would be my second choice after one of my own packages) In my case, I had code that uses the multi-method dispatch mechanism to display the right page (I'm not yet sure if thats a good idea :) something like this: (defmethod display-page (page-name (eql 'login-page)) ... ) To convert the text strings given by the user into the right symbol (so this dispatch mecnhanism can work), I must intern them in the :CL-USER package. This did take me a while to figure out and *I* couldn't find it in the documentation anywhere. (I guess, maybe, it should have been obvious, but I still consider myself mostly a Lisp newbie). I believe my CMUCL Lisp starts with a core file causing it to start in :Jims-PackageA, then I've been loading a file (that causes TBNL and all that good stuff to be loaded) and immediately switching to :Jims-PackageB, so it was really confusing to be using the :CL-USER package at all. :) I hope this helps, Jim James E. Prewett [email protected] [email protected] Systems Team Leader LoGS: http://www.hpc.unm.edu/~download/LoGS/ Designated Security Officer OpenPGP key: pub 1024D/31816D93 HPC Systems Engineer III UNM HPC 505.277.8210 On Fri, 10 Feb 2006, Edi Weitz wrote: > [This is probably better asked on the TBNL mailing list.] > > On Fri, 10 Feb 2006 21:15:19 +1000, Igor Plekhov <[email protected]> wrote: > > > In TBNL some functions are created to handle incoming requests. > > Functions are created? You're talking about your own handlers or > something else? > > > What package are they executed in? I.e. what package *PACKAGE* is > > bound to? How can I control it? > > In your own functions you can rebind *PACKAGE* to your liking. > > (let ((*package* (my-function))) > ;; do something > ) > > For existing TBNL functions the package shouldn't matter with the > exception of READ-FROM-STRING* the behaviour of which is documented: > > <http://weitz.de/tbnl/#read-from-string*> > > Does that answer your question or am I misunderstanding? > _______________________________________________ > tbnl-devel site list > [email protected] > http://common-lisp.net/mailman/listinfo/tbnl-devel > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFD7JRhv/zdxjGBbZMRAiLAAKCOXmJCkb90Iggd3184shHqXFTRwACfRTsS EHOz1zmgJHMTN9rD0QToHDk= =qR6P -----END PGP SIGNATURE-----