diff --git a/src/CHANGELOG b/src/CHANGELOG index 36d713efa..4f148d22d 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -204,6 +204,8 @@ ECL 0.9i - The compiler now admits THE forms with type (VALUES ...), though they are ignored. + - (DEFPACKAGE ... (:IMPORT NIL)) failed to import symbol NIL. + * Documentation: - The HTML manuals now use CSS for a more appealing look. diff --git a/src/lsp/defpackage.lsp b/src/lsp/defpackage.lsp index 9a1bc8d04..ad902e9da 100644 --- a/src/lsp/defpackage.lsp +++ b/src/lsp/defpackage.lsp @@ -207,7 +207,9 @@ (dolist (item imported-from-symbol-names-list) (let ((package (find-package (first item)))) (dolist (name (rest item)) - (import (find-or-make-symbol name package))))) + ;; IMPORT can accept a list as argument, hence if we want to + ;; import symbol NIL, we have to enclose it in a list. + (import (or (find-or-make-symbol name package) (list NIL)))))) (mapc #'intern interned-symbol-names) (export (mapcar #'intern exported-symbol-names)) (dolist (package exported-from-package-names)