Arguments: &body clauses
This special operator is only relevant for people who are using International Allegro CL (which supports extended character sets). See iacl.htm.
Sometimes it is necessary to conditionalize your code depending on whether it will be running on an ICS-capable system. ics-target-case provides this conditionalization, causing the compiler to compile the containing form in both modes. It can be used both at top level of a file compilation and inside a function body. Simple examples:
(excl:ics-target-case (:-ics (defvar banner "Regular Allegro")) (:+ics (defvar banner "ICS-Capable Allegro"))) (defun string-size-in-bytes (string) (* 8 (ceiling (+ 5 (excl:ics-target-case (:-ics (length string)) (:+ics (* 2 (length string))))) 8)))
Two alternate versions of both the defvar and the function will be file-compiled, and the correct version selected at fasl load time. In each of the examples, the ics-target-case form could have been wrapped around a different boundary in the code with equivalent effect, for example:
(defvar banner (excl:ics-target-case (:-ics "Regular Allegro") (:+ics "ICS-Capable Allegro")))
See also iacl.htm for general information on international character set support in Allegro CL.
The documentation is described in introduction.htm and the index is in index.htm.
Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.
Created 2000.10.5.