1.0.17.24: refactor handling of constants in the compiler
[sbcl.git] / src / code / early-constants.lisp
1 ;;;; This software is part of the SBCL system. See the README file for
2 ;;;; more information.
3 ;;;;
4 ;;;; This software is derived from the CMU CL system, which was
5 ;;;; written at Carnegie Mellon University and released into the
6 ;;;; public domain. The software is in the public domain and is
7 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
8 ;;;; files for more information.
9
10 (in-package "SB!IMPL")
11
12 (macrolet ((def (name value &optional doc)
13              (declare (ignorable doc))
14              `(defconstant ,name (if (boundp ',name) (symbol-value ',name) ,value)
15                 #!+sb-doc
16                 ,@(when doc (list doc)))))
17   (def sb!xc:lambda-list-keywords
18       '(&allow-other-keys
19         &aux
20         &body
21         &environment
22         &key
23         &more
24         &optional
25         &rest
26         &whole)
27     "A list of symbols used as lambda list keywords in SBCL."))