Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
asdf
asdf
Commits
789b75a8
Commit
789b75a8
authored
Jun 03, 2021
by
Eric Timmons
Committed by
Robert Goldman
Jun 03, 2021
Browse files
Revive the call to INSTALL-PACKAGE-LOCAL-NICKNAMES from
!167
It got lost in an earlier rebase of this branch.
parent
cb00a919
Changes
1
Hide whitespace changes
Inline
Side-by-side
uiop/package.lisp
View file @
789b75a8
...
...
@@ -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
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment