features.lisp - clic - Clic is an command line interactive client for gopher written in Common LISP
 (HTM) git clone git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
       features.lisp (717B)
       ---
            1 (in-package :alexandria)
            2 
            3 (defun featurep (feature-expression)
            4   "Returns T if the argument matches the state of the *FEATURES*
            5 list and NIL if it does not. FEATURE-EXPRESSION can be any atom
            6 or list acceptable to the reader macros #+ and #-."
            7   (etypecase feature-expression
            8     (symbol (not (null (member feature-expression *features*))))
            9     (cons (check-type (first feature-expression) symbol)
           10           (eswitch ((first feature-expression) :test 'string=)
           11             (:and (every #'featurep (rest feature-expression)))
           12             (:or  (some #'featurep (rest feature-expression)))
           13             (:not (assert (= 2 (length feature-expression)))
           14                   (not (featurep (second feature-expression))))))))