Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asdf
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Hugo Ishimaru
asdf
Commits
604f5422
Commit
604f5422
authored
Nov 07, 2016
by
Francois-Rene Rideau
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Include DEFINE-OP in mark-component-preloaded
Move it to asdf/find-system.
parent
3d0d07c3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
17 deletions
+18
-17
find-system.lisp
find-system.lisp
+15
-1
operate.lisp
operate.lisp
+1
-14
system-registry.lisp
system-registry.lisp
+2
-2
No files found.
find-system.lisp
View file @
604f5422
...
...
@@ -246,5 +246,19 @@ PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.
(
load-asd
pathname
:name
name
)))))
;; Try again after having loaded from disk if needed
(
or
(
registered-system
name
)
(
when
error-p
(
error
'missing-component
:requires
name
))))))))
(
when
error-p
(
error
'missing-component
:requires
name
)))))))
;; Resolved forward reference for asdf/system-registry.
(
defun
mark-component-preloaded
(
component
)
"Mark a component as preloaded."
(
let
((
component
(
find-component
component
nil
:registered
t
)))
;; Recurse to children, so asdf/plan will hopefully be happy.
(
map
()
'mark-component-preloaded
(
component-children
component
))
;; Mark the timestamps of the common lisp-action operations as 0.
(
let
((
times
(
component-operation-times
component
)))
(
dolist
(
o
`
(
,@
(
when
(
and
(
typep
component
'system
)
(
equal
(
coerce-name
component
)
(
primary-system-name
component
)))
'
(
define-op
))
prepare-op
compile-op
load-op
))
(
setf
(
gethash
(
make-operation
o
)
times
)
0
))))))
operate.lisp
View file @
604f5422
...
...
@@ -272,17 +272,4 @@ the implementation's REQUIRE rather than by internal ASDF mechanisms."))
(
upgrade-configuration
)
;; If we were in the middle of an operation, be sure to restore the system being defined.
(
dolist
(
s
systems-being-defined
)
(
find-system
s
nil
))))
(
register-hook-function
'*post-upgrade-cleanup-hook*
'restart-upgraded-asdf
)
;; The following function's symbol is from asdf/find-system.
;; It is defined here to resolve what would otherwise be forward package references.
(
defun
mark-component-preloaded
(
component
)
"Mark a component as preloaded."
(
let
((
component
(
find-component
component
nil
:registered
t
)))
;; Recurse to children, so asdf/plan will hopefully be happy.
(
map
()
'mark-component-preloaded
(
component-children
component
))
;; Mark the timestamps of the common lisp-action operations as 0.
(
let
((
times
(
component-operation-times
component
)))
(
dolist
(
o
'
(
load-op
compile-op
prepare-op
))
(
setf
(
gethash
(
make-operation
o
)
times
)
0
))))))
(
register-hook-function
'*post-upgrade-cleanup-hook*
'restart-upgraded-asdf
))
system-registry.lisp
View file @
604f5422
...
...
@@ -15,7 +15,7 @@
#:find-system-if-being-defined
#:contrib-sysdef-search
#:sysdef-find-asdf
;; backward compatibility symbols, functions removed
#:sysdef-preloaded-system-search
#:register-preloaded-system
#:*preloaded-systems*
#:mark-component-preloaded
;; forward reference to asdf/
operate
#:mark-component-preloaded
;; forward reference to asdf/
find-system
#:sysdef-immutable-system-search
#:register-immutable-system
#:*immutable-systems*
#:*defined-systems*
#:clear-defined-systems
;; defined in source-registry, but specially mentioned here:
...
...
@@ -81,7 +81,7 @@ called with an object of type asdf:system."
(
defvar
*preloaded-systems*
(
make-hash-table
:test
'equal
)
"Registration table for preloaded systems."
)
(
declaim
(
ftype
(
function
(
t
)
t
)
mark-component-preloaded
))
; defined in asdf/
operate
(
declaim
(
ftype
(
function
(
t
)
t
)
mark-component-preloaded
))
; defined in asdf/
find-system
(
defun
make-preloaded-system
(
name
keys
)
"Make a preloaded system of given NAME with build information from KEYS"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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