#284 uiop:directory* returns garbage non-sequence (prints as ?) — remove-if/sort on it raise 'not a sequence'

open
Opened by atgreen

After (load "asdf.lisp"): (uiop:directory* (make-pathname :name uiop:wild :type "conf" :defaults #p"~/.config/common-lisp/source-registry.conf.d/")) returns a garbage value (prints as ?; car/cdr on it raise 'The value ? is not a LIST'). Downstream remove-if/sort raise 'the value is not a sequence' (caught by uiop's ignore-errors, so config files silently ignored). Probably cl:directory / wildcard enumeration unimplemented returning a raw error marker instead of NIL/list. Blocks .conf scanning + (:tree ...) directory recursion for asdf system discovery. Found while validating ADR-0028.

Comments (1)

atgreen3992811157

STILL OPEN but now non-fatal on the asdf path (5f63ac0): sysdef-source-registry-search fails soft (catches the invalid-configuration and installs an empty registry) so directory*/resolve-location garbage no longer aborts system search. Fresh finer diagnosis from the ocicl work: uiop:xdg-data-dirs "common-lisp/" returns (NIL NIL NIL NIL) even though getenv-absolute-directories returns 4 real #P dirs — so resolve-location on (#P"/usr/share/" ("common-lisp/")) returns NIL. That resolve-location bug is upstream of the directory* garbage this issue tracks; fixing it (+ directory*) would let source-registry discovery actually work instead of just fail-soft.