You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when reloaded, resets the asdf:already-loaded-systems info,
losing knowledge of which systems were previously loaded,
even though those systems remain in the environment.
So even if you load the asdf system with (asdf:require-system ..)
instead of (asdf:load-system ..) to prevent reloading,
if this include-raw is reloaded then the require-system
would think it needs to load.
Usually this would not cause any problem since system loading
is generally idempotent, but it is suboptimal.
I will submit a PR for this issue that specifically prevents
the bundle definition from reloading.
If anyone can think of a scenario where you would want
the bundle info to reload in an ACL2 environment,
please comment.
The text was updated successfully, but these errors were encountered:
; 1. Load a quicklisp system and then undo.
ACL2 !>(include-book "quicklisp/zippy" :dir :system)
ACL2 !>:u
ACL2 !>:q
* (asdf:already-loaded-systems)
("asdf" "uiop" "asdf-package-system" "zippy" "documentation-utils" ...)
; Note that the :u did not remove the raw loaded asdf "zippy".
* (lp)
; 2. Now load the main quicklisp loader book.
ACL2 !>(include-book "quicklisp/base" :dir :system)
ACL2 !>:q
* (asdf:already-loaded-systems)
("asdf" "uiop" "asdf-package-system")
; ^^ that return value is a bug. ^^
; The raw loaded asdf "zippy" is in the environment but the asdf info was reset.
; E.g.:
* (find-package "ZIPPY")
#<PACKAGE "ZIPPY">
As a specific example of issue #1507
this form from
quicklisp/base.lisp
when reloaded, resets the asdf:already-loaded-systems info,
losing knowledge of which systems were previously loaded,
even though those systems remain in the environment.
So even if you load the asdf system with (asdf:require-system ..)
instead of (asdf:load-system ..) to prevent reloading,
if this include-raw is reloaded then the require-system
would think it needs to load.
Usually this would not cause any problem since system loading
is generally idempotent, but it is suboptimal.
I will submit a PR for this issue that specifically prevents
the bundle definition from reloading.
If anyone can think of a scenario where you would want
the bundle info to reload in an ACL2 environment,
please comment.
The text was updated successfully, but these errors were encountered: