[#42344] [ruby-trunk - Feature #5964][Open] Make Symbols an Alternate Syntax for Strings — Tom Wardrop <tom@...>

23 messages 2012/02/03

[#42443] [ruby-trunk - Bug #5985][Open] miniruby skews "make benchmark" results — Eric Wong <normalperson@...>

21 messages 2012/02/08

[#42444] [ruby-trunk - Bug #5986][Open] Segmentation Fault — Luis Matta <levmatta@...>

16 messages 2012/02/08

[#42471] [ruby-trunk - Feature #5995][Open] calling io_advise_internal() in read_all() — Masaki Matsushita <glass.saga@...>

20 messages 2012/02/10

[#42560] [ruby-trunk - Bug #6011][Open] ruby-1.9.3-p0/lib/webrick/utils.rb:184: [BUG] Segmentation fault — Vit Ondruch <v.ondruch@...>

12 messages 2012/02/13

[#42579] [ruby-trunk - Bug #6012][Open] Proc#source_location also return the column — Roger Pack <rogerpack2005@...>

14 messages 2012/02/14

[#42685] [ruby-trunk - Bug #6036][Open] Test failures in Fedora Rawhide/17 — Bohuslav Kabrda <bkabrda@...>

14 messages 2012/02/16

[#42697] [ruby-trunk - Bug #6040][Open] Transcoding test failure: Big5 to UTF8 not defined (MinGW) — Luis Lavena <luislavena@...>

10 messages 2012/02/16

[#42813] [ruby-trunk - Feature #6065][Open] Allow Bignum marshalling/unmarshalling from C API — Martin Bosslet <Martin.Bosslet@...>

22 messages 2012/02/23

[#42815] [ruby-trunk - Bug #6066][Open] Fix "control may reach end of non-void function" warnings for clang — Eric Hodel <[email protected]>

15 messages 2012/02/23

[#42857] [ruby-trunk - Feature #6074][Open] Allow alias arguments to have a comma — Thomas Sawyer <transfire@...>

20 messages 2012/02/24

[#42891] [ruby-trunk - Feature #6083][Open] Hide a Bignum definition — Koichi Sasada <redmine@...>

23 messages 2012/02/25

[#42906] [ruby-trunk - Bug #6085][Open] Treatment of Wrong Number of Arguments — Marc-Andre Lafortune <ruby-core@...>

14 messages 2012/02/25

[#42949] [ruby-trunk - Bug #6089][Open] Test suite fails with OpenSSL 1.0.1 — Vit Ondruch <v.ondruch@...>

13 messages 2012/02/26

[ruby-core:42473] [ruby-trunk - Bug #5994] Dir.glob without wildcards returns pattern, not filename

From: Dave B <redmine@...>
Date: 2012-02-10 07:27:11 UTC
List: ruby-core #42473
Issue #5994 has been updated by Dave B.


Hi Nobu,

I expected:

p Dir.glob('foO') #=> ["Foo"]

The current behaviour would be difficult to justify.
The doc string says ...
"Returns the filenames found by expanding <i>pattern</i> ..."

There is no filename "foO"; it exists only as a glob pattern.

Instead of answering the question "Are there files which match this
pattern", it has answered an artificial question "What glob pattern
did I use to search for files"; I already knew the answer to that. ;)

Background:
I'm doing a Windows System Restore from Linux and the registry databases
are not things I want to make subtle changes to.

WINDIR   = '/media/XYSRES/WINDOWS'
CONFIG   = File.join( WINDIR, 'system32', 'config' )
Dir.chdir CONFIG

hives = %w{ system software sam security default }

# Can't do this ...
p HIVES_NO = hives.map {|hvn| Dir[hvn][0] }
#=> ["system", "software", "sam", "security", "default"]

# Have to do this, instead ...
p HIVES_OK = Dir['*'].delete_if {|fn| !hives.include?(fn.downcase)}
#=> ["default", "SAM", "SECURITY", "software", "system"]


Cheers,

daz

----------------------------------------
Bug #5994: Dir.glob without wildcards returns pattern, not filename
https://bugs.ruby-lang.org/issues/5994

Author: Dave B
Status: Feedback
Priority: Low
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3p0 (2011-10-30) [i386-mingw32]


This is Windows specific, I guess, as filename case doesn't matter there.
Ruby version is not specific to 1.9.3p0 (ruby 1.8.7p334 gives the same).
The script below produces results that seem inconsistent.
Using special characters (wildcards) in the glob pattern returns the
actual filename on disk but a plain pattern (no wildcards) returns the
pattern itself.  This means I have to use another method for producing
a file with the same name or else override the users case-style
preference (which is not my intention).

daz

#======================
puts 'ruby %sp%d (%s) [%s]' % [RUBY_VERSION, RUBY_PATCHLEVEL, RUBY_RELEASE_DATE, RUBY_PLATFORM]
# ruby 1.9.3p0 (2011-10-30) [i386-mingw32]

Dir.chdir ENV['TEMP']
TMPDIR = Time.now.strftime('%Y%m%d_%H%M%S_delete')
Dir.mkdir(TMPDIR)
Dir.chdir(TMPDIR)

TMPFN  = 'Foo'
File.open(TMPFN, 'w') {}

#----------------------------------------------
p Dir.glob('*')   #=> ["Foo"]  ok
p Dir.glob('f?O') #=> ["Foo"]  ok

# But a glob without special characters returns
#  the glob pattern instead of the filename
p Dir.glob('foO') #=> ["foO"]  not wanted
p Dir['foO']      #=> ["foO"]  same as above
p Dir.glob('foO', File::FNM_CASEFOLD)
                # casefold ignored, as docs say
#----------------------------------------------

File.delete(TMPFN)
Dir.delete(File.join('..', TMPDIR))


#+++++
# Same incorrect results from:
#   ruby 1.8.7p334 (2011-02-18) [i386-mingw32]




-- 
http://bugs.ruby-lang.org/

In This Thread