Commit 35e7a3ad authored by Pascal Costanza's avatar Pascal Costanza
Browse files

A defpackage form has to fully describe its state, which was not the case for...

A defpackage form has to fully describe its state, which was not the case for CLOSER-COMMON-LISP. Now fixed, due to Tobias C. Rittweiler.

darcs-hash:87a5cfdd6fe1e4cc4b97048be25cc45669e40b60
parent 6f30c1a1
(in-package :cl-user)
(defpackage #:closer-common-lisp
(:nicknames #:c2cl)
(:use))
(let ((syms (nunion (loop for sym being the external-symbols of :common-lisp
if (find-symbol (symbol-name sym) :c2mop)
collect it
else collect sym)
(loop for sym being the external-symbols of :c2mop
collect sym))))
(import syms :c2cl)
(export syms :c2cl))
(macrolet ((define-closer-common-lisp-package ()
(loop with symbols = (nunion (loop for sym being the external-symbols of :common-lisp
if (find-symbol (symbol-name sym) :c2mop)
collect it
else collect sym)
(loop for sym being the external-symbols of :c2mop
collect sym))
with map = '()
for symbol in symbols do
(push (symbol-name symbol)
(getf map (symbol-package symbol)))
finally (return
`(defpackage #:closer-common-lisp
(:nicknames #:c2cl)
(:use)
,@(loop for (package symbols) on map by #'cddr
collect `(:import-from ,(package-name package) ,@symbols))
(:export ,@(mapcar #'symbol-name symbols)))))))
(define-closer-common-lisp-package))
(defpackage #:closer-common-lisp-user
(:nicknames #:c2cl-user)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment