[racket] Behavior of file-exists? and directory-list

From: Greg Hendershott (greghendershott at gmail.com)
Date: Thu Dec 6 19:27:48 EST 2012

I'm fuzzy on the details, but I believe recent versions of Windows
handle applications that to dump potentially conflicting things in
System32, by using a "side-by-side" configuration strategy?  If so,
perhaps some of the items are in fact some variety of link rather than
a normal file. As Jay mentioned those items may cause file-exists? to
return #f. Just a guess.

On Thu, Dec 6, 2012 at 7:09 PM, Tim Nelson <tbnelson at gmail.com> wrote:
> It actually _is_ in my PATH already:
>
>> (find-executable-path "javaw.exe")
> #<path:C:\Windows\system32\javaw.exe>
>> (getenv "PATH")
> "...;C:\\Windows\\system32;..."
>
> (Other members of PATH omitted.) Weird, huh? Something is wonky. I even
> tried changing the capitalization of "system" on the off chance that case
> mattered, but nope.
>
> Ben: Thanks for the ref. I should have thought to look at the C code.
> (Would Racket blinders cause Racket to ignore some of its own code? ;-) )
>
> On Thu, Dec 6, 2012 at 7:00 PM, Danny Yoo <dyoo at hashcollision.org> wrote:
>>
>>
>>
>> On Thu, Dec 6, 2012 at 4:22 PM, Tim Nelson <tbnelson at gmail.com> wrote:
>>>
>>> Thanks for the hint Danny. I didn't know about that function... but I'm
>>> sorry to say that
>>>
>>> > (find-executable-path "java.exe")
>>> #f
>>>
>>> whereas from cmd:
>>> > where java
>>> C:\Windows\System32\java.exe
>>>
>>> so the command line knows about it, and I can use it, but it is concealed
>>> from Racket, even via find-executable-path. That's probably a more concise
>>> statement of my problem!
>>>
>>
>> Ugh.  Ok, that was _supposed_ to work.
>>
>> Out of curiosity, what happens if you add C:\Windows\System32 to your
>> PATH?
>>
>> (I know that's not the right solution, and it sounds like there's some
>> Windows weirdness involved here.)
>
>
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>

Posted on the users mailing list.