libera/#commonlisp - IRC Chatlog
Search
0:36:25
NotThatRPG
I realized I never got back to you when you asked about reporting the ASDF issue. Would you mind posting to https://gitlab.common-lisp.net/asdf/asdf/-/issues
1:10:41
NotThatRPG
Great! Appreciate it. I'll have a look when I can. rn I'm being held back by some issues w/ testing infrastructure, but the cl.net folks are helping.
1:12:42
paulapatience
I think it has gone undetected for so long because pathnames are passed directly to :input/:output in uiop:run-program
1:13:11
paulapatience
I've been writing a wrapper around uiop:run-program, that's why I happened to see the bug
2:53:40
paulapatience
I will say that the implementation of uiop:run-program and uiop:launch-program is some of the most convoluted code I've ever read. I'm still not sure what half of it does.
2:55:47
paulapatience
In my CLOS-based wrapper equivalent of uiop:run-program, I will wrap each implementation in a separate package. It should be clearer then.
5:45:34
jackdaniel
another one is that uiop refuses to rely on the implementation behavior and instead of that it always transits data through its own streams
5:46:45
jackdaniel
say you write (uiop:run-program ... :output *my-stream*), then it calls (impl:run-program ... :output *uiop-vomiting-stream*), and marshalls all data from the vomiting stream to *my-stream*, so data is passed twice
5:51:59
jackdaniel
sensible reason is not necessarily the same thing as a technical desire of the creator ,)
6:00:14
jackdaniel
for my purposes this run-program does a job: https://turtleware.eu/static/paste/foo.lisp ; with a quirk that not all implementations support :wait nil, so a more sophisticated version could try to spawn a thread to manage such run-program instead; perhaps being able to communicate from a separate thread to a stream is the reason behind uiop's gymnastics?