From 789b75a8d82c95dcea26f7d34865db57182f8a86 Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
Date: Thu, 3 Jun 2021 12:09:22 -0400
Subject: [PATCH] Revive the call to INSTALL-PACKAGE-LOCAL-NICKNAMES from !167

It got lost in an earlier rebase of this branch.
---
 uiop/package.lisp | 22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/uiop/package.lisp b/uiop/package.lisp
index 10bd85836..b85197371 100644
--- a/uiop/package.lisp
+++ b/uiop/package.lisp
@@ -636,13 +636,15 @@ or when loading the package is optional."
   #+package-local-nicknames
   (defun install-package-local-nicknames (destination-package new-nicknames)
     ;; First, remove all package-local nicknames. (We'll reinstall any desired ones later.)
-    (dolist (pair-to-remove (package-local-nicknames destination-package))
-      (remove-package-local-nickname (string (car pair-to-remove)) destination-package))
+    (dolist (pair-to-remove (uiop/package-local-nicknames:package-local-nicknames destination-package))
+      (uiop/package-local-nicknames:remove-package-local-nickname
+       (string (car pair-to-remove)) destination-package))
     ;; Then, install all desired nicknames.
     (loop :for (nickname package) :in new-nicknames
-          :do (add-package-local-nickname (string nickname)
-                                          (find-package package)
-                                          destination-package)))
+          :do (uiop/package-local-nicknames:add-package-local-nickname
+               (string nickname)
+               (find-package package)
+               destination-package)))
 
   (defun ensure-package (name &key
                                 nicknames documentation use
@@ -694,15 +696,7 @@ or when loading the package is optional."
       (rename-package package package-name nicknames)
       ;; Handle local nicknames
       #+package-local-nicknames
-      (let* ((existing-nicknames (mapcar #'(lambda (x) (string (car x)))
-                                         (uiop/package-local-nicknames:package-local-nicknames package)))
-             (new-nicknames (mapcar #'(lambda (x) (string (first x))) local-nicknames))
-             (to-remove (set-difference existing-nicknames new-nicknames :test 'equal)))
-        (map () #'(lambda (x) (uiop/package-local-nicknames:remove-package-local-nickname x package))
-             to-remove)
-        (loop :for (nick-str package-str) :in local-nicknames
-              :do (uiop/package-local-nicknames:add-package-local-nickname
-                   nick-str package-str package)))
+      (install-package-local-nicknames package local-nicknames)
       (dolist (name unintern)
         (multiple-value-bind (existing status) (find-symbol name package)
           (when status
-- 
GitLab