Shri Borde
2009-Apr-03 17:36 UTC
[Ironruby-core] FW: File.executable? always returns false on Windows machine
Anyone know what File.executable? is supposed to do? For me, it always returns false. For Jim, Tomas and others, it always returns true no matter what the file extension is. Any idea why we might be getting different results? FWIW, the current IronRuby implementation returns true if the file extension is ".exe". Thanks, Shri From: Shri Borde Sent: Thursday, April 02, 2009 3:59 PM To: ruby-core at ruby-lang.org Subject: File.executable? always returns false on Windows machine On my machine, File.executable? is always returning false. I have tried 1.8p27. I am running on a Windows Vista x86 machine. The file system is NTFS. I can''t think of anything unusual about my machine. What are the semantic supposed to be? Most of the people I have asked get a value of true for all of the statements below, even for the File.executable? on the ttf file. puts File.exists?("C:/windows/fonts/wingding.ttf") puts File.readable?("C:/windows/fonts/wingding.ttf") puts File.executable?("C:/windows/fonts/wingding.ttf") # Prints false only for me puts File.exists?("C:/windows/notepad.exe") puts File.readable?("C:/windows/notepad.exe") puts File.executable?("C:/windows/notepad.exe") # Prints false only for me With the 1.9 binaries, File.executable? returns true only if the file extensions is something like .exe. Again, it always returns true for the people I have asked. Thanks, Shri -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090403/89e75f9d/attachment.html>
Michael Letterle
2009-Apr-03 19:04 UTC
[Ironruby-core] FW: File.executable? always returns false on Windows machine
On *nix systems it would return true if the executable bit is set and false if it''s not. Windows doesn''t really have a comparable attribute since files are "categorized" based on extension, hence .exe acting as a sort of "executable bit". On Fri, Apr 3, 2009 at 1:36 PM, Shri Borde <Shri.Borde at microsoft.com> wrote:> Anyone know what File.executable? is supposed to do? For me, it always > returns false. For Jim, Tomas and others, it always returns true no matter > what the file extension is. Any idea why we might be getting different > results? > > > > FWIW, the current IronRuby implementation returns true if the file > extension is ?.exe?. > > > > Thanks, > > Shri > > > > *From:* Shri Borde > *Sent:* Thursday, April 02, 2009 3:59 PM > *To:* ruby-core at ruby-lang.org > *Subject:* File.executable? always returns false on Windows machine > > > > On my machine, File.executable? is always returning false. I have tried > 1.8p27. I am running on a Windows Vista x86 machine. The file system is > NTFS. I can?t think of anything unusual about my machine. > > > > What are the semantic supposed to be? Most of the people I have asked get a > value of true for all of the statements below, even for the File.executable? > on the ttf file. > > > > puts File.exists?("C:/windows/fonts/wingding.ttf") > > puts File.readable?("C:/windows/fonts/wingding.ttf") > > puts File.executable?("C:/windows/fonts/wingding.ttf") # Prints false only > for me > > > > puts File.exists?("C:/windows/notepad.exe") > > puts File.readable?("C:/windows/notepad.exe") > > puts File.executable?("C:/windows/notepad.exe") # Prints false only for me > > > > With the 1.9 binaries, File.executable? returns true only if the file > extensions is something like .exe. Again, it always returns true for the > people I have asked. > > > > Thanks, > > Shri > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >-- Michael Letterle IronRuby MVP http://blog.prokrams.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090403/9de83ebf/attachment.html>
Jim Deville
2009-Apr-03 21:52 UTC
[Ironruby-core] FW: File.executable? always returns false on Windows machine
We should probably return true if the extension is in PATHEXT. This should return true for EXE,COM, CMD, BAT, PS1 (if you have Powershell). It would be nice if we could inspect whatever assoc touches, so that if I add an assoc and filetype for RB, it becomes executable. JD From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Michael Letterle Sent: Friday, April 03, 2009 12:04 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] FW: File.executable? always returns false on Windows machine On *nix systems it would return true if the executable bit is set and false if it''s not. Windows doesn''t really have a comparable attribute since files are "categorized" based on extension, hence .exe acting as a sort of "executable bit". On Fri, Apr 3, 2009 at 1:36 PM, Shri Borde <Shri.Borde at microsoft.com<mailto:Shri.Borde at microsoft.com>> wrote: Anyone know what File.executable? is supposed to do? For me, it always returns false. For Jim, Tomas and others, it always returns true no matter what the file extension is. Any idea why we might be getting different results? FWIW, the current IronRuby implementation returns true if the file extension is ".exe". Thanks, Shri From: Shri Borde Sent: Thursday, April 02, 2009 3:59 PM To: ruby-core at ruby-lang.org<mailto:ruby-core at ruby-lang.org> Subject: File.executable? always returns false on Windows machine On my machine, File.executable? is always returning false. I have tried 1.8p27. I am running on a Windows Vista x86 machine. The file system is NTFS. I can''t think of anything unusual about my machine. What are the semantic supposed to be? Most of the people I have asked get a value of true for all of the statements below, even for the File.executable? on the ttf file. puts File.exists?("C:/windows/fonts/wingding.ttf") puts File.readable?("C:/windows/fonts/wingding.ttf") puts File.executable?("C:/windows/fonts/wingding.ttf") # Prints false only for me puts File.exists?("C:/windows/notepad.exe") puts File.readable?("C:/windows/notepad.exe") puts File.executable?("C:/windows/notepad.exe") # Prints false only for me With the 1.9 binaries, File.executable? returns true only if the file extensions is something like .exe. Again, it always returns true for the people I have asked. Thanks, Shri _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core -- Michael Letterle IronRuby MVP http://blog.prokrams.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090403/81f3d243/attachment.html>
Shri Borde
2009-Apr-03 22:23 UTC
[Ironruby-core] FW: File.executable? always returns false on Windows machine
Yes, Windows does not have a comparable attribute. However, I can''t figure out how MRI running on Windows implements this since I am getting a different behavior than what other folks are. IronRuby uses the ".exe" extension as a sort of "executable bit". Don''t know what MRI on Windows does though. Like I said before, it always returns false for all file extensions for me. It always returns true for all file extensions for Jim, Tomas and others. We need to try to figure out what MRI does, why MRI might be behaving differently for me, and then use the same logic in IronRuby. Does MRI honor PATHEXT? Thanks, Shri From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Jim Deville Sent: Friday, April 03, 2009 2:52 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] FW: File.executable? always returns false on Windows machine We should probably return true if the extension is in PATHEXT. This should return true for EXE,COM, CMD, BAT, PS1 (if you have Powershell). It would be nice if we could inspect whatever assoc touches, so that if I add an assoc and filetype for RB, it becomes executable. JD From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Michael Letterle Sent: Friday, April 03, 2009 12:04 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] FW: File.executable? always returns false on Windows machine On *nix systems it would return true if the executable bit is set and false if it''s not. Windows doesn''t really have a comparable attribute since files are "categorized" based on extension, hence .exe acting as a sort of "executable bit". On Fri, Apr 3, 2009 at 1:36 PM, Shri Borde <Shri.Borde at microsoft.com<mailto:Shri.Borde at microsoft.com>> wrote: Anyone know what File.executable? is supposed to do? For me, it always returns false. For Jim, Tomas and others, it always returns true no matter what the file extension is. Any idea why we might be getting different results? FWIW, the current IronRuby implementation returns true if the file extension is ".exe". Thanks, Shri From: Shri Borde Sent: Thursday, April 02, 2009 3:59 PM To: ruby-core at ruby-lang.org<mailto:ruby-core at ruby-lang.org> Subject: File.executable? always returns false on Windows machine On my machine, File.executable? is always returning false. I have tried 1.8p27. I am running on a Windows Vista x86 machine. The file system is NTFS. I can''t think of anything unusual about my machine. What are the semantic supposed to be? Most of the people I have asked get a value of true for all of the statements below, even for the File.executable? on the ttf file. puts File.exists?("C:/windows/fonts/wingding.ttf") puts File.readable?("C:/windows/fonts/wingding.ttf") puts File.executable?("C:/windows/fonts/wingding.ttf") # Prints false only for me puts File.exists?("C:/windows/notepad.exe") puts File.readable?("C:/windows/notepad.exe") puts File.executable?("C:/windows/notepad.exe") # Prints false only for me With the 1.9 binaries, File.executable? returns true only if the file extensions is something like .exe. Again, it always returns true for the people I have asked. Thanks, Shri _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core -- Michael Letterle IronRuby MVP http://blog.prokrams.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090403/9ea83475/attachment-0001.html>