Actions
Bug #16831
closedRunning `Pathname#glob` with `File::FNM_DOTMATCH` option loses `.` and `..`
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
Description
Running Dir.glob
, Pathname.glob
with File::FNM_DOTMATCH
option keeps .
and ..
as their basename:
require 'pathname'
pathname = Pathname.pwd
#=> #<Pathname:/Users/jnito/dev>
# Dir.glob keeps "." and ".."
Dir.glob(pathname.join('*'), File::FNM_DOTMATCH).sort[0..1]
#=> ["/Users/jnito/dev/.", "/Users/jnito/dev/.."]
# Pathname.glob keeps "." and ".." too
Pathname.glob(pathname.join('*'), File::FNM_DOTMATCH).sort[0..1]
#=> [#<Pathname:/Users/jnito/dev/.>, #<Pathname:/Users/jnito/dev/..>]
I expect Pathname#glob
with File::FNM_DOTMATCH
option has same behavior, but it loses .
and ..
:
# Pathname#glob loses "." and ".."
pathname.glob('*', File::FNM_DOTMATCH).sort[0..1]
#=> [#<Pathname:/Users/jnito>, #<Pathname:/Users/jnito/dev>]
I wanted to replace my code from Pathname.glob(pathname.join('*'), File::FNM_DOTMATCH)
to pathname.glob('*', File::FNM_DOTMATCH)
, but I couldn't do due to their incompatibility. So I want Pathname#glob
to keep .
and ..
.
Actions
Like0
Like0Like0Like0Like0Like0Like0