[drakma-devel] Conditional (#+/#-) expressions in DRAKMA

Joshua TAYLOR tayloj at cs.rpi.edu
Wed Mar 4 03:10:33 UTC 2009


Hello,

With the new release of DRAKMA I was looking over some of the source,
and came across code like

(some-function ...#+:clisp #+:clisp :clisp-arg clisp-val)

which I'd never seen before. I started to investigate, and a
discussion even started on c.l.l [1]. It turns out that not all Lisps
treat these constructions in the same way. Particularly, in the case
of #-feature #-feature, some process the second #-feature with
*READ-SUPPRESS* bound to T, so the behavior is like #-CL:NIL. At any
rate, it seems a bit safer and more portable not to nest the
conditionalized expressions. The only place I found these was in
request.lisp, and even there only in three places.

I've attached a diff in which they are changed to the safer form. I've
also added leading colons to openmcl, since the rest of the source
seemed to use that style.

Thanks for a great HTTP client—DRAKMA's the one I turn to when I need
a Lisp HTTP client.
//JT

[1] http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/8d50284a29f51673#

-- 
=====================
Joshua Taylor
tayloj at cs.rpi.edu, jtaylor at alum.rpi.edu

"A lot of good things went down one time,
  back in the goodle days."
    John Hartford
-------------- next part --------------
160,161c160,161
<                              #+:clisp #+:clisp
<                              (flexi-stream-element-type stream) element-type))
---
>                              #+:clisp (flexi-stream-element-type stream)
> 			     #+:clisp element-type))
207c207
<                               #+openmcl
---
>                               #+:openmcl
448,450c448,449
<                                                           #-:lw-does-not-have-write-timeout
<                                                           #-:lw-does-not-have-write-timeout
<                                                           :write-timeout write-timeout
---
>                                                           #-:lw-does-not-have-write-timeout :write-timeout
>                                                           #-:lw-does-not-have-write-timeout write-timeout
456,457c455,456
<                                                              #+openmcl #+openmcl
<                                                              :deadline deadline
---
>                                                              #+:openmcl :deadline
> 							     #+:openmcl deadline
459c458
<               #+openmcl
---
>               #+:openmcl


More information about the Drakma-devel mailing list