bug#46424: Use load-systems or load-systems*

2021-05-08 Thread Pierre Neidhardt
Interesting.
This reminds me of a puzzling issue I recently had while working on the
Nyxt .asd:

- (asdf:load-asd "/path/to/nyxt.asd")
- (asdf:make :nyxt/quicklisp)

The nyxt/quicklisp system would call ql:update-dist and then would fail,
saying it cannot find "nyxt/quicklisp" (which it is running!)
because ql:update-dist would lead ASDF to somehow forget about the .asd.

Adding (asdf:load-asd "/path/to/nyxt.asd") right after ql:update-dist
fixes it.

I've reworked the whole thing different on Nyxt's master branch, so this
is no longer an issue.

Maybe there is a hint lurking in there...

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


bug#46424: Use load-systems or load-systems*

2021-05-08 Thread Guillaume Le Vaillant
In the case of quri, it looks like the problem comes from the
"(asdf:clear-system c)" call at the end of "quri-test.asd". When
removing it, the build succeeds even without the custom 'asd-systems'
argument in the Guix package definition.

So it looks like the lazy loading of system definitions is working in
asdf-build-system after all. I guess it's the default behaviour of
'load-asd'.

However I don't know why this 'clear-system' call messes up the ASDF
configuration in asdf-build-system, but it doesn't seem to cause
problems in Quicklisp...


signature.asc
Description: PGP signature


bug#46424: Use load-systems or load-systems*

2021-05-05 Thread Sharlatan Hellseher
Hi I've just checked source of ASDF and it looks like there is a
native option to load multiple systems at once

> --8<---cut here---start->8--->
  (defun load-systems* (systems &rest keys)
"Loading multiple systems at once."
(dolist (s systems) (apply 'load-system s keys)))

  (defun load-systems (&rest systems)
"Loading multiple systems at once."
(load-systems* systems))
--8<---cut here---end--->8---

https://gitlab.common-lisp.net/asdf/asdf/-/blob/master/operate.lisp#L155

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.