The code in cmplam.lsp still used si:failed instead of the symbol si:missing-keyword to determine whether a keyword is missing.

This commit is contained in:
Juan Jose Garcia Ripoll 2012-11-20 00:48:29 +01:00
parent 40704355d4
commit e95fa190cc

View file

@ -600,11 +600,11 @@ The function thus belongs to the type of functions that ecl_make_cfun accepts."
(push keyword all-keys)
(setf let-vars
(list*
`(,key-var (if (eq ,key-flag 'si::failed) ,key-value ,key-flag))
`(,key-var (if (eq ,key-flag 'si::missing-keyword) ,key-value ,key-flag))
`(,key-flag (si::search-keyword ,rest ,keyword))
let-vars))
(when (fourth scan)
(push `(setf ,key-flag (not (eq ,key-flag 'si::failed)))
(push `(setf ,key-flag (not (eq ,key-flag 'si::missing-keyword)))
extra-stmts))))
(when (and key-flag (not allow-other-keys))
(push `(si::check-keyword ,rest ',all-keys) extra-stmts))