chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] csc.scm.in unescaped whitespace in pathnames


From: Brandon J. Van Every
Subject: Re: [Chicken-users] csc.scm.in unescaped whitespace in pathnames
Date: Sat, 22 Jul 2006 09:59:26 -0700
User-agent: Thunderbird 1.5.0.4 (Windows/20060516)

John Cowan wrote:
Brandon J. Van Every scripsit:

  
Ok, I think with my most current push to Darcs, I've taken care of 
everything that's wrong with the CMake build.  If you do a CMake build 
under MinGW, I think you will see sane output for csc.scm.  Now I think 
it's down to csc.scm.in not properly handling unescaped whitespace in 
pathnames.  I see 2 general ways to deal with the problem:

- put double quotes in somewhere
- escape the whitespace
    

There are two issues:  shell code and C code.  To the shell, escaping
and quoting are pretty much the same.  To C, however, they are utterly
different.  Escaping spaces does nothing except provoke an error, and
strings must be double-quoted, that being part of C's syntax.  For both
shell and C, backslashes must be escaped.

I hope this helps.
  

Yeah, it's a formal statement of what I had discovered empirically, that different parts of the Chicken source code want strings to do different things.  Small wonder I was previously unable to solve the quoting problems by trial and error.  So now the question is how the shell should be invoked in csc.scm.in with respect to unescaped whitespace.  If people who are better at Scheme could take a look at this, that would be helpful.  My Scheme skills are still weak and the solution is probably fairly easy.  I suppose if no one does, I'll just improve my Scheme in the next few days, but now my attention is shifting towards securing paying work.

BTW, the Chicken 2.41 tarball ./configure build on Cygwin doesn't handle this either.  The installation fails because ./configure doesn't handle --prefix=/cygdrive/e/Program\ Files/cygchicken .  It configures it just fine, but the installation fails.  Other permutations of --prefix immediately give silly errors.  Clearly, ./configure is meant to suck at Windows pathnames.  I don't really have the patience to manually construct the installation tree, just to see if csc will actually handle unescaped whitespace.  I bet it doesn't.


Cheers,
Brandon Van Every


reply via email to

[Prev in Thread] Current Thread [Next in Thread]