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
Tarn Burton
asdf
Commits
27aebe81
Commit
27aebe81
authored
May 17, 2020
by
Francois-Rene Rideau
Committed by
Robert Goldman
Jun 03, 2021
Browse files
Make redefined class upgrade properly on MKCL
parent
823c389f
Changes
1
Hide whitespace changes
Inline
Side-by-side
upgrade.lisp
View file @
27aebe81
...
...
@@ -124,17 +124,15 @@ previously-loaded version of ASDF."
,@
(
when
(
version<
previous-version
"3.1.2"
)
'
(
#:component-depends-on
#:input-files
))
;; crucial methods *removed* before 3.1.2
,@
(
when
(
version<
previous-version
"3.1.7.20"
)
'
(
#:find-component
))))
;; added &key registered
(
redefined-classes
;; redefining the classes causes interim circularities
;; with the old ASDF during upgrade, and many implementations bork
#-
clozure
()
#+
clozure
'
((
#:compile-concatenated-source-op
(
#:operation
)
())
(
#:compile-bundle-op
(
#:operation
)
())
(
#:concatenate-source-op
(
#:operation
)
())
(
#:dll-op
(
#:operation
)
())
(
#:lib-op
(
#:operation
)
())
(
#:monolithic-compile-bundle-op
(
#:operation
)
())
(
#:monolithic-concatenate-source-op
(
#:operation
)
()))))
(
when
(
or
#+
(
or
clozure
mkcl
)
t
)
'
((
#:compile-concatenated-source-op
(
#:operation
)
())
(
#:compile-bundle-op
(
#:operation
)
())
(
#:concatenate-source-op
(
#:operation
)
())
(
#:dll-op
(
#:operation
)
())
(
#:lib-op
(
#:operation
)
())
(
#:monolithic-compile-bundle-op
(
#:operation
)
())
(
#:monolithic-concatenate-source-op
(
#:operation
)
())))))
(
loop
:for
name
:in
redefined-functions
:for
sym
=
(
find-symbol*
name
:asdf
nil
)
:do
(
when
sym
(
fmakunbound
sym
)))
...
...
@@ -142,11 +140,11 @@ previously-loaded version of ASDF."
(
if
(
consp
x
)
(
values
(
car
x
)
(
cadr
x
))
(
values
x
:asdf
))
(
find-symbol*
s
p
nil
)))
(
asyms
(
l
)
(
mapcar
#'
asym
l
)))
(
loop
:for
(
name
superclasses
slots
)
:in
redefined-classes
:for
sym
=
(
find-symbol*
name
:asdf
nil
)
:when
(
and
sym
(
find-class
sym
))
:do
(
eval
`
(
defclass
,
sym
,
(
asyms
superclasses
)
,
(
asyms
slots
)))
))))
(
loop
*
:for
(
name
superclasses
slots
)
:in
redefined-classes
:for
sym
=
(
find-symbol*
name
:asdf
nil
)
:when
(
and
sym
(
find-class
sym
))
:do
#+
ccl
(
eval
`
(
defclass
,
sym
,
(
asyms
superclasses
)
,
(
asyms
slots
)))
#-
ccl
(
setf
(
find-class
sym
)
nil
)))))
;; mkcl
;;; Self-upgrade functions
(
with-upgradability
()
...
...
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