Skip to content
Snippets Groups Projects
Commit 9fdaa7ca authored by ram's avatar ram
Browse files

Added the REQUIRED-ARGUMENT function for squelching type warnings

about required keyword argument defaults.
parent 45b73335
No related branches found
No related tags found
No related merge requests found
......@@ -17,7 +17,8 @@
(export '(letf* letf dovector deletef indenting-further file-comment
read-char-no-edit listen-skip-whitespace concat-pnames
iterate once-only collect do-anonymous undefined-value
define-hash-cache defun-cached cache-hash-eq))
required-argument define-hash-cache defun-cached
cache-hash-eq))
(import 'lisp::whitespace-char-p)
......@@ -31,6 +32,19 @@
(defun undefined-value ()
'%undefined%)
;;; REQUIRED-ARGUMENT -- Public
;;;
(proclaim '(ftype (function () nil) required-argument))
(defun required-argument ()
"This function can be used as the default value for keyword arguments that
must be always be supplied. Since it is known by the compiler to never
return, it will avoid any compile-time type warnings that would result from a
default value inconsistent with the declared type. When this function is
called, it signals an error indicating that a required keyword argument was
not supplied. This function is also useful for DEFSTRUCT slot defaults
corresponding to required arguments."
(error "A required keyword argument was not supplied."))
;;; FILE-COMMENT -- Public
;;;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment