Edi Weitz writes:
>
> Hi!
>
> I have a long-running application on a web server which uses CMUCL and
> mod_lisp - I can get a Lisp listener via detachtty. Yesterday I had to
> make some changes to the application while it was running (which is of
> course one of the cool things about using Lisp). Specifically, I had
> to redefine a couple of :AROUND and :AFTER methods, i.e. I attached to
> the listener and entered something like this
>
> * (defmethod slot-unbound :around ((class t)
> (bet bet)
> (slot-name (eql 'involvedp)))
> (setf (slot-value bet 'involvedp)
> (something-blabla)))
>
> #<Standard-Method SLOT-UNBOUND :AROUND (T BET (EQL INVOLVEDP)) {4914655D}>
>
> Now, my question is: How do I compile this from the listener? Is this
> in fact possible? Which syntax do I have to use?
What I'd do is (funcall (compile nil `(lambda () ,+)))
> (I ended up putting the new definitions into a file and then used
> COMPILE-FILE and LOAD but this seems to be a bit clumsy and not the
> Right Way[TM].)
This is actually what I do in practice. I keep the files around with
names like patch-2004-01-27.lisp, so I can see exactly what it was
that I fed the application.
--
/|_ .-----------------------.
,' .\ / | No to Imperialist war |
,--' _,' | Wage class war! |
/ / `-----------------------'
( -. |
| ) |
(`-. '--.)
`. )----'