test-run-program.script

Elias Pipping pipping.elias at icloud.com
Thu Nov 17 22:59:06 UTC 2016


> On 17 Nov 2016, at 23:41, Faré <fahree at gmail.com> wrote:
> 
> I believe the correct workaround to the unavoidable quoting on SBCL would be to use CMD /C /S which should remove one layer of quoting.
> 
> But I'm not sure I have time to setup a Windows development environment at this point (I managed to install a Windows dual boot on my computer, though! Is there a way to run that into a virtual machine?)
> 
> -#f

Yes, that’s a good point; that should work (the ECL issue should be the same as this).

But: I think I just understood what the problem is:

The function %normalize-system-command is used in two places:
(1) in %system when launch-program is used and
(2) in %redirected-system-command, which is called from %system if launch-program is not used

The fact that both paths use the same function is actually suboptimal. Because in case (2), %redirected-system-command builds a large string out of what %normalize-system-command returns (it expects a string and adds to it), for (1) it would be much nicer if a list was returned, namely (“sh” “-c” …) or (“cmd” “/c” …) because that could be fed into launch-program as-is and would avoid the quoting issue entirely, no?

So unless I’m missing something,
 - the cleanest fix might be to break up %normalize-system-command into two functions and
 - the easiest fix might be to (instead) have it always return a list and concatenate that list in %redirected-system-command.


Elias


More information about the asdf-devel mailing list