Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
asdf
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Didier Verna
asdf
Commits
61e7074c
Commit
61e7074c
authored
11 years ago
by
Francois-Rene Rideau
Browse files
Options
Downloads
Patches
Plain Diff
Make upgrade more robust on CLISP.
parent
61cab911
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
header.lisp
+1
-1
1 addition, 1 deletion
header.lisp
system.lisp
+1
-1
1 addition, 1 deletion
system.lisp
test/run-tests.sh
+5
-4
5 additions, 4 deletions
test/run-tests.sh
uiop/utility.lisp
+5
-5
5 additions, 5 deletions
uiop/utility.lisp
with
12 additions
and
11 deletions
header.lisp
+
1
−
1
View file @
61e7074c
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
(
declaim
(
optimize
(
speed
1
)
(
safety
3
)
(
debug
3
)))
(
declaim
(
optimize
(
speed
1
)
(
safety
3
)
(
debug
3
)))
(
setf
ext:*gc-verbose*
nil
))
(
setf
ext:*gc-verbose*
nil
))
#+
(
or
abcl
clisp
clozure
cmu
ecl
xcl
)
;; punt on hard package upgrade on those implementations
#+
(
or
abcl
clozure
cmu
ecl
xcl
)
;; punt on hard package upgrade on those implementations
(
eval-when
(
:load-toplevel
:compile-toplevel
:execute
)
(
eval-when
(
:load-toplevel
:compile-toplevel
:execute
)
(
unless
(
member
:asdf3
*features*
)
(
unless
(
member
:asdf3
*features*
)
(
let*
((
existing-version
(
let*
((
existing-version
...
...
This diff is collapsed.
Click to expand it.
system.lisp
+
1
−
1
View file @
61e7074c
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
(
with-upgradability
()
(
with-upgradability
()
(
defgeneric*
(
find-system
)
(
system
&optional
error-p
))
(
defgeneric*
(
find-system
)
(
system
&optional
error-p
))
(
defgeneric*
(
system-source-file
)
(
system
)
(
defgeneric*
(
system-source-file
:supersede
#-
clisp
t
#+
clisp
nil
)
(
system
)
(
:documentation
"Return the source file in which system is defined."
))
(
:documentation
"Return the source file in which system is defined."
))
(
defgeneric
component-build-pathname
(
component
))
(
defgeneric
component-build-pathname
(
component
))
...
...
This diff is collapsed.
Click to expand it.
test/run-tests.sh
+
5
−
4
View file @
61e7074c
...
@@ -381,12 +381,13 @@ valid_upgrade_test_p () {
...
@@ -381,12 +381,13 @@ valid_upgrade_test_p () {
allegromodern:1.
*
)
:
;;
allegromodern:1.
*
)
:
;;
# ccl fasl numbering broke loading of old asdf 2.0
# ccl fasl numbering broke loading of old asdf 2.0
ccl:2.0[01]
*
)
:
;;
ccl:2.0[01]
*
)
:
;;
#
m
y old ubuntu clisp 2.44.1
is
wired in
#
M
y old ubuntu
10.04LTS
clisp 2.44.1
came
wired in
# with an antique ASDF 1.374 from CLC that can't be downgraded.
# with an antique ASDF 1.374 from CLC that can't be downgraded.
# 2.00[0-7] use UID, which fails on that CLISP and was removed afterwards.
# More recent CLISPs work.
# 2.00[0-7] use UID, which fails on some old CLISPs.
# Note that for the longest time, CLISP has included 2.011 in its distribution.
# Note that for the longest time, CLISP has included 2.011 in its distribution.
#
Since we
punt on
the
upgrade
, let's only do the test once, for 2.26.
#
We don't
punt on upgrade
anymore, so we can go at it!
clisp:2.00[0-7]:
*
|
clisp:1.
*
|
clisp:2.0[01]
*
|
clisp:2.2[0-5]:
*
)
:
;;
###
clisp:2.00[0-7]:*|clisp:1.*|clisp:2.0[01]*|clisp:2.2[0-5]:*) : ;;
# Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade.
# Skip, CMUCL has problems before 2.014.7 due to source-registry upgrade.
# Weird unidentified problems before 2.018, so we punt equally for everything before,
# Weird unidentified problems before 2.018, so we punt equally for everything before,
# and only need to test it once: above, for 2.017.
# and only need to test it once: above, for 2.017.
...
...
This diff is collapsed.
Click to expand it.
uiop/utility.lisp
+
5
−
5
View file @
61e7074c
...
@@ -46,6 +46,9 @@
...
@@ -46,6 +46,9 @@
(
defun
undefine-function
(
function-spec
)
(
defun
undefine-function
(
function-spec
)
(
cond
(
cond
((
symbolp
function-spec
)
((
symbolp
function-spec
)
;; undefining the previous function is the portable way
;; of overriding any incompatible previous gf,
;; but CLISP needs extra help with getting rid of previous methods.
#+
clisp
#+
clisp
(
let
((
f
(
and
(
fboundp
function-spec
)
(
fdefinition
function-spec
))))
(
let
((
f
(
and
(
fboundp
function-spec
)
(
fdefinition
function-spec
))))
(
when
(
typep
f
'clos:standard-generic-function
)
(
when
(
typep
f
'clos:standard-generic-function
)
...
@@ -67,12 +70,9 @@
...
@@ -67,12 +70,9 @@
name
)
name
)
(
declare
(
ignorable
supersede
))
(
declare
(
ignorable
supersede
))
`
(
progn
`
(
progn
;; undefining the previous function is the portable way
;; of overriding any incompatible previous gf, except on CLISP.
;; We usually try to do it only for the functions that need it,
;; We usually try to do it only for the functions that need it,
;; which happens in asdf/upgrade - however, for ECL, we need this hammer
;; which happens in asdf/upgrade - however, for ECL, we need this hammer.
;; (which causes issues in clisp)
,@
(
when
(
or
supersede
#+
ecl
t
)
,@
(
when
(
or
#-
clisp
supersede
#+
ecl
t
)
`
((
undefine-function
',name
)))
`
((
undefine-function
',name
)))
,@
(
when
(
and
#+
ecl
(
symbolp
name
))
; fails for setf functions on ecl
,@
(
when
(
and
#+
ecl
(
symbolp
name
))
; fails for setf functions on ecl
`
((
declaim
(
notinline
,
name
))))
`
((
declaim
(
notinline
,
name
))))
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
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!
Save comment
Cancel
Please
register
or
sign in
to comment