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 <tbnel...@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 <d...@hashcollision.org> wrote: >> >> >> >> On Thu, Dec 6, 2012 at 4:22 PM, Tim Nelson <tbnel...@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 > ____________________ Racket Users list: http://lists.racket-lang.org/users