Add DEFOBSOLETE to base package.
[iolib.git] / base / pkgdcl.lisp
blob5da69802e803cc44256a73ca4b6d5db67d8c789f
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
2 ;;;
3 ;;; --- Package definition.
4 ;;;
6 (in-package :common-lisp-user)
8 (defpackage :iolib.base
9 (:use #:common-lisp :alexandria)
10 (:shadow #:defun #:defmethod
11 #:defmacro #:define-compiler-macro)
12 (:export
13 ;; RETURN*
14 #:return* #:lambda* #:defun #:defmethod
15 #:defmacro #:define-compiler-macro
16 ;; DEFOBSOLETE
17 #:deprecation-warning
18 #:deprecation-warning-function-name
19 #:deprecation-warning-type
20 #:deprecation-warning-reason
21 #:function-name #:function-name-p
22 #:defobsolete))
24 (flet ((gather-external-symbols (&rest packages)
25 (let ((symbols (make-hash-table :test #'eq)))
26 (with-package-iterator (iterator packages :external)
27 (loop (multiple-value-bind (morep symbol) (iterator)
28 (unless morep (return))
29 (setf (gethash (alexandria:ensure-symbol symbol :iolib.base) symbols) t))))
30 (alexandria:hash-table-keys symbols))))
31 (export (gather-external-symbols :common-lisp :alexandria :iolib.base)
32 :iolib.base))