Pass blocks to blocks as block parameters

This commit is contained in:
Nobuyoshi Nakada 2024-03-22 14:06:55 +09:00
parent c5045830b7
commit 235aa7ad63
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465

View File

@ -499,20 +499,18 @@ default_exclude_exts =
mandatory_exts = {}
withes, withouts = [["--with", nil], ["--without", default_exclude_exts]].collect {|w, d|
if !(w = %w[-extensions -ext].collect {|o|arg_config(w+o)}).any?
d ? proc {|c1| d.any?(&c1)} : proc {true}
d ? proc {|&c1| d.any?(&c1)} : proc {true}
elsif (w = w.grep(String)).empty?
proc {true}
else
w = w.collect {|o| o.split(/,/)}.flatten
w.collect! {|o| o == '+' ? d : o}.flatten!
proc {|c1| w.any?(&c1)}
proc {|&c1| w.any?(&c1)}
end
}
cond = proc {|ext, *|
withes.call(proc {|n|
!n or (mandatory_exts[ext] = true if File.fnmatch(n, ext))
}) and
!withouts.call(proc {|n| File.fnmatch(n, ext)})
withes.call {|n| !n or (mandatory_exts[ext] = true if File.fnmatch(n, ext))} and
!withouts.call {|n| File.fnmatch(n, ext)}
}
($extension || %w[*]).each do |e|
e = e.sub(/\A(?:\.\/)+/, '')