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
Jan Moringen
asdf
Commits
685547b7
Commit
685547b7
authored
14 years ago
by
Francois-Rene Rideau
Browse files
Options
Downloads
Patches
Plain Diff
2.124: play better with conflicts from newly exported symbols.
parent
1f79fcad
No related branches found
Branches containing commit
Tags
2.124
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
asdf.lisp
+29
-11
29 additions, 11 deletions
asdf.lisp
test/test-module-depend.asd
+12
-11
12 additions, 11 deletions
test/test-module-depend.asd
with
41 additions
and
22 deletions
asdf.lisp
+
29
−
11
View file @
685547b7
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
(
defvar
*asdf-version*
nil
)
(
defvar
*asdf-version*
nil
)
(
defvar
*upgraded-p*
nil
)
(
defvar
*upgraded-p*
nil
)
(
let*
((
asdf-version
;; the 1+ helps the version bumping script discriminate
(
let*
((
asdf-version
;; the 1+ helps the version bumping script discriminate
(
subseq
"VERSION:2.12
3
"
(
1+
(
length
"VERSION"
))))
(
subseq
"VERSION:2.12
4
"
(
1+
(
length
"VERSION"
))))
(
existing-asdf
(
fboundp
'find-system
))
(
existing-asdf
(
fboundp
'find-system
))
(
existing-version
*asdf-version*
)
(
existing-version
*asdf-version*
)
(
already-there
(
equal
asdf-version
existing-version
)))
(
already-there
(
equal
asdf-version
existing-version
)))
...
@@ -120,9 +120,16 @@
...
@@ -120,9 +120,16 @@
(
let
((
sym
(
find-sym
symbol
package
)))
(
let
((
sym
(
find-sym
symbol
package
)))
(
when
sym
(
when
sym
(
unexport
sym
package
)
(
unexport
sym
package
)
(
unintern
sym
package
))))
(
unintern
sym
package
)
sym
)))
(
ensure-unintern
(
package
symbols
)
(
ensure-unintern
(
package
symbols
)
(
dolist
(
sym
symbols
)
(
remove-symbol
sym
package
)))
(
loop
:with
packages
=
(
list-all-packages
)
:for
sym
:in
symbols
:for
removed
=
(
remove-symbol
sym
package
)
:when
removed
:do
(
loop
:for
p
:in
packages
:do
(
when
(
eq
removed
(
find-sym
sym
p
))
(
unintern
removed
p
)))))
(
ensure-shadow
(
package
symbols
)
(
ensure-shadow
(
package
symbols
)
(
shadow
symbols
package
))
(
shadow
symbols
package
))
(
ensure-use
(
package
use
)
(
ensure-use
(
package
use
)
...
@@ -136,15 +143,26 @@
...
@@ -136,15 +143,26 @@
:for
sym
=
(
find-sym
name
package
)
:for
sym
=
(
find-sym
name
package
)
:when
sym
:do
(
fmakunbound
sym
)))
:when
sym
:do
(
fmakunbound
sym
)))
(
ensure-export
(
package
export
)
(
ensure-export
(
package
export
)
(
let
((
syms
(
loop
:for
x
:in
export
:collect
(
let
((
formerly-exported-symbols
nil
)
(
intern*
x
package
))))
(
bothly-exported-symbols
nil
)
(
do-external-symbols
(
sym
package
)
(
newly-exported-symbols
nil
))
(
unless
(
member
sym
syms
)
(
loop
:for
sym
:being
:each
:external-symbol
:in
package
:do
(
remove-symbol
sym
package
)))
(
if
(
member
sym
export
:test
'string-equal
)
(
dolist
(
sym
syms
)
(
push
sym
bothly-exported-symbols
)
(
export
sym
package
))))
(
push
sym
formerly-exported-symbols
)))
(
loop
:for
sym
:in
export
:do
(
unless
(
member
sym
bothly-exported-symbols
:test
'string-equal
)
(
push
sym
newly-exported-symbols
)))
(
loop
:for
user
:in
(
package-used-by-list
package
)
:for
shadowing
=
(
package-shadowing-symbols
user
)
:do
(
loop
:for
new
:in
newly-exported-symbols
:for
old
=
(
find-sym
new
user
)
:when
(
and
old
(
not
(
member
old
shadowing
)))
:do
(
unintern
old
user
)))
(
loop
:for
x
:in
newly-exported-symbols
:do
(
export
(
intern*
x
package
)))))
(
ensure-package
(
name
&key
nicknames
use
unintern
fmakunbound
shadow
export
)
(
ensure-package
(
name
&key
nicknames
use
unintern
fmakunbound
shadow
export
)
(
let
((
p
(
ensure-exists
name
nicknames
use
)))
(
let
*
((
p
(
ensure-exists
name
nicknames
use
)))
(
ensure-unintern
p
unintern
)
(
ensure-unintern
p
unintern
)
(
ensure-shadow
p
shadow
)
(
ensure-shadow
p
shadow
)
(
ensure-export
p
export
)
(
ensure-export
p
export
)
...
...
This diff is collapsed.
Click to expand it.
test/test-module-depend.asd
+
12
−
11
View file @
685547b7
(
asdf:defsystem
:test-module-depend
(
defsystem
:test-module-depend
:components
((
:file
"file1"
)
:components
(
:module
"quux"
((
:file
"file1"
)
:pathname
#p""
(
:module
"quux"
:depends-on
(
"file1"
)
:pathname
""
:components
((
:file
"file2"
)
:depends-on
(
"file1"
)
(
:module
"file3mod"
:components
:pathname
#p""
((
:file
"file2"
)
:components
(
:module
"file3mod"
((
:file
"file3"
)))))))
:pathname
""
:components
((
:file
"file3"
)))))))
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