Move FLAGS-CASE to base package.
[iolib/alendvai.git] / base / pkgdcl.lisp
blob04c2f507c9b8da04e8b952cbb07e15ff9238ccf1
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 #:defmacro #:define-compiler-macro)
11 (:export
12 ;; RETURN*
13 #:return* #:lambda* #:defun #:defmethod
14 #:defmacro #:define-compiler-macro
15 ;; DEFOBSOLETE
16 #:defobsolete
17 #:deprecation-warning
18 #:deprecation-warning-function-name
19 #:deprecation-warning-type
20 #:deprecation-warning-reason
21 ;; Reader utils
22 #:define-syntax
23 #:enable-reader-macro #:enable-reader-macro*
24 #:disable-reader-macro #:disable-reader-macro*
25 ;; SPLIT-SEQUENCE
26 #:split-sequence #:split-sequence-if #:split-sequence-if-not
27 ;; MISC
28 #:function-name #:function-name-p
29 #:check-bounds #:multiple-value-case #:flags-case))
31 (flet ((gather-external-symbols (&rest packages)
32 (let ((symbols (make-hash-table :test #'eq)))
33 (with-package-iterator (iterator packages :external)
34 (loop (multiple-value-bind (morep symbol) (iterator)
35 (unless morep (return))
36 (setf (gethash (alexandria:ensure-symbol symbol :iolib.base) symbols) t))))
37 (alexandria:hash-table-keys symbols))))
38 (export (gather-external-symbols :common-lisp :alexandria :iolib.base)
39 :iolib.base))