[armedbear-devel] How do I release ABCL's "package-lock"?

Peter Olsen pcolsen at gmail.com
Wed Dec 30 06:18:54 UTC 2009


I'm writing to ask how to redefine the "or" macro in ABCL.

I'm working on a project and there's one package in which I need "or"  
to mean something else than its usual definition.  I've tried simply  
to redefine it, but it doesn't work.  I understand that the Common  
Lisp spec requires special provision for that to be done --- such as  
the package-lock construct in SBCL.

How can I do that in ABCL?  I want to be able to do this within the  
code, for example, with in a "let" so that I can bound its scope.

Can anyone point me in the right direction?  My first --- failed ---  
experiment is below.

Thanks!

Peter

-------------------------------------------------------
A way that doesn't work.

slipstream:~ pcolsen$ abcl
Armed Bear Common Lisp 0.17.0
Java 1.5.0_20 Apple Inc.
Java HotSpot(TM) Client VM
Low-level initialization completed in 1.476 seconds.
Startup completed in 4.363 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (or nil t)
T
CL-USER(2): (defmacro or (x) (+ 1 x))  ; My very own new "or"
OR
CL-USER(3): (or 3) ; Result should be 4
3
CL-USER(4): (or nil nil) ; My "or" should take only one argument.
NIL
CL-USER(5): (or nil t)
T
CL-USER(6):  ;;; Redefinition didn't work.


Peter Olsen
olsen at sigmaxi.net

I have loved the stars too fondly to be fearful of the night.
Galileo Galilei





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20091230/789c6d35/attachment.html>


More information about the armedbear-devel mailing list