<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I'm writing to ask how to redefine the "or" macro in ABCL.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>Can anyone point me in the right direction?  My first --- failed --- experiment is below.</div><div><br></div><div>Thanks!</div><div><br></div><div>Peter</div><div><br></div><div>-------------------------------------------------------</div><div>A way that doesn't work.</div><div><br></div><div>slipstream:~ pcolsen$ abcl</div><div>Armed Bear Common Lisp 0.17.0</div><div>Java 1.5.0_20 Apple Inc.</div><div>Java HotSpot(TM) Client VM</div><div>Low-level initialization completed in 1.476 seconds.</div><div>Startup completed in 4.363 seconds.</div><div>Type ":help" for a list of available commands.</div><div>CL-USER(1): (or nil t)</div><div>T</div><div>CL-USER(2): (defmacro or (x) (+ 1 x))  ; My very own new "or"</div><div>OR</div><div>CL-USER(3): (or 3) ; Result should be 4</div><div>3</div><div>CL-USER(4): (or nil nil) ; My "or" should take only one argument.</div><div>NIL</div><div>CL-USER(5): (or nil t)</div><div>T</div><div>CL-USER(6):  ;;; Redefinition didn't work.</div><div><br></div><div><br></div><div apple-content-edited="true"> <span class="Apple-style-span" style="font-size: 12px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Peter Olsen</div><div><a href="mailto:olsen@sigmaxi.net">olsen@sigmaxi.net</a></div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; "><i>I have loved the stars too fondly to be fearful of the night.</i></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; ">Galileo Galilei</div></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"> </div><br></body></html>