ASDF is confused by empty entries in XDG_DATA_DIRS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ASDF |
Fix Released
|
Medium
|
Faré |
Bug Description
reported by jean377 on IRC, using asdf 3.1.5, sbcl 1.3.12.53, ubuntu 16.04:
;; while loading quicklisp
debugger invoked on a ASDF/SOURCE-
#<THREAD "main thread" RUNNING {1001BB6703}>:
Invalid source registry (:DIRECTORY (NIL "systems/")) (will be skipped)
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-
0: [RETRY ] Retry ASDF operation.
1: [CLEAR-
2: [RETRY ] Retry EVAL of current toplevel form.
3: [CONTINUE ] Ignore error and continue loading file "/home/
4: [ABORT ] Abort loading file "/home/
5: Exit debugger, returning to top level.
(UIOP/CONFIGURA
")) :LOCATION NIL)
0] back
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1001BB6703}>
0: (UIOP/CONFIGURA
ms/")) :LOCATION NIL)
1: (UIOP/CONFIGURA
. #2=("source/"))) (:DIRECTORY (#3=#P"
IGURATION) :SOURCE-REGISTRY ASDF/SOURCE-
TER ASDF/SOURCE-
2: ((:METHOD ASDF/SOURCE-
))) (:TREE (NIL . #2=("source/"))) (:DIRECTORY (#3=#P"
) :INHERIT-
-REGISTRY:
3: (ASDF/SOURCE-
AULT-SYSTEM-
FLATTEN-
caused by XDG_DATA_
Not sure if this is technically a bug in ASDF, since I can't tell if empty entries are valid or what they should mean if so (spec doesn't mention the possibility that i can see), but it is a problem currently due to https:/
Would be nice to at least have a better (and continuable) error in that case, optionally try to handle it transparently (not sure if it should ignore the empty entry or replace it with the XDG default dirs in that case).
Changed in asdf: | |
status: | Fix Committed → Fix Released |
One workaround would be in uiop/configurat ion.lisp to edit functions xdg-data-dirs and xdg-config-dirs to (remove nil ...) inside the outer (mapcar ...).
I don't know what is the Right Thing™ to do, though.
Robert, what do you think?