local package: separate internal interface from HL

we don't want variable number of arguments in core library
This commit is contained in:
Daniel Kochmanski 2017-05-02 10:03:12 +02:00
parent 635cf82e48
commit 8fcc85179f
4 changed files with 23 additions and 8 deletions

View file

@ -1217,9 +1217,10 @@ cl_symbols[] = {
{SYS_ "WITH-UNLOCKED-PACKAGES", EXT_ORDINARY, NULL, 1, OBJNULL},
{EXT_ "PACKAGE-LOCAL-NICKNAMES", EXT_ORDINARY, si_package_local_nicknames, 1, OBJNULL},
{EXT_ "PACKAGE-LOCALLY-NICKNAMED-BY-LIST", EXT_ORDINARY, si_package_locally_nicknamed_by_list, 1, OBJNULL},
{EXT_ "ADD-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, si_add_package_local_nickname, 3, OBJNULL},
{EXT_ "REMOVE-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, si_remove_package_local_nickname, 2, OBJNULL},
/* ~ */
{EXT_ "ADD-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, NULL, -1, OBJNULL},
{EXT_ "REMOVE-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, NULL, -1, OBJNULL},
{SYS_ "%ADD-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, si_add_package_local_nickname, 3, OBJNULL},
{SYS_ "%REMOVE-PACKAGE-LOCAL-NICKNAME", EXT_ORDINARY, si_remove_package_local_nickname, 2, OBJNULL},
{SYS_ "PACKAGE-HASH-TABLES", SI_ORDINARY, si_package_hash_tables, 1, OBJNULL},
{SYS_ "PATHNAME-TRANSLATIONS", SI_ORDINARY, si_pathname_translations, -1, OBJNULL},
{SYS_ "POINTER", SI_ORDINARY, si_pointer, 1, OBJNULL},

View file

@ -1217,9 +1217,10 @@ cl_symbols[] = {
{SYS_ "WITH-UNLOCKED-PACKAGES",NULL},
{EXT_ "PACKAGE-LOCAL-NICKNAMES","si_package_local_nicknames"},
{EXT_ "PACKAGE-LOCALLY-NICKNAMED-BY-LIST","si_package_locally_nicknamed_by_list"},
{EXT_ "ADD-PACKAGE-LOCAL-NICKNAME","si_add_package_local_nickname"},
{EXT_ "REMOVE-PACKAGE-LOCAL-NICKNAME","si_remove_package_local_nickname"},
/* ~ */
{EXT_ "ADD-PACKAGE-LOCAL-NICKNAME",NULL},
{EXT_ "REMOVE-PACKAGE-LOCAL-NICKNAME",NULL},
{SYS_ "%ADD-PACKAGE-LOCAL-NICKNAME","si_add_package_local_nickname"},
{SYS_ "%REMOVE-PACKAGE-LOCAL-NICKNAME","si_remove_package_local_nickname"},
{SYS_ "PACKAGE-HASH-TABLES","si_package_hash_tables"},
{SYS_ "PATHNAME-TRANSLATIONS","si_pathname_translations"},
{SYS_ "POINTER","si_pointer"},

View file

@ -447,10 +447,14 @@
(package-designator) list :no-side-effects)
(proclamation ext:package-locally-nicknamed-by-list
(package-designator) list :no-side-effects)
(proclamation ext:add-package-local-nickname
(proclamation si:%add-package-local-nickname
(string-designator package-designator package-designator) package)
(proclamation ext:remove-package-local-nickname
(proclamation si:%remove-package-local-nickname
(string-designator package-designator) list)
(proclamation ext:add-package-local-nickname
(string-designator package-designator &optional package-designator) package)
(proclamation ext:remove-package-local-nickname
(string-designator &optional package-designator) list)
;;;
;;; 12. NUMBERS

View file

@ -285,3 +285,12 @@ If PACKAGE is non-NIL, then only the specified PACKAGE is searched."
(when (and prefix (or recurse (not (find #\. package-name :start prefix))))
(pushnew package res)))))))
;; Package local nicknames
(defun add-package-local-nickname (local-nickname nicknamed-package
&optional (package *package*))
(si:%add-package-local-nickname local-nickname nicknamed-package package))
(defun remove-package-local-nickname (old-nickname
&optional (package *package*))
(si:%remove-package-local-nickname old-nickname package))