[ruby/optparse] Use \A instead of ^ as the beginning of string

https://github.com/ruby/optparse/commit/a3f1029815
This commit is contained in:
Nobuyoshi Nakada 2025-03-09 22:38:30 +09:00 committed by git
parent 49199445f5
commit 0c73328aff

View File

@ -668,7 +668,7 @@ class OptionParser
(sopts+lopts).each do |opt| (sopts+lopts).each do |opt|
# "(-x -c -r)-l[left justify]" # "(-x -c -r)-l[left justify]"
if /^--\[no-\](.+)$/ =~ opt if /\A--\[no-\](.+)$/ =~ opt
o = $1 o = $1
yield("--#{o}", desc.join("")) yield("--#{o}", desc.join(""))
yield("--no-#{o}", desc.join("")) yield("--no-#{o}", desc.join(""))
@ -1508,7 +1508,7 @@ XXX
raise ArgumentError, "unsupported argument type: #{o}", ParseError.filter_backtrace(caller(4)) raise ArgumentError, "unsupported argument type: #{o}", ParseError.filter_backtrace(caller(4))
when *ArgumentStyle.keys when *ArgumentStyle.keys
style = notwice(ArgumentStyle[o], style, 'style') style = notwice(ArgumentStyle[o], style, 'style')
when /^--no-([^\[\]=\s]*)(.+)?/ when /\A--no-([^\[\]=\s]*)(.+)?/
q, a = $1, $2 q, a = $1, $2
o = notwice(a ? Object : TrueClass, klass, 'type') o = notwice(a ? Object : TrueClass, klass, 'type')
not_pattern, not_conv = search(:atype, o) unless not_style not_pattern, not_conv = search(:atype, o) unless not_style
@ -1519,7 +1519,7 @@ XXX
(q = q.downcase).tr!('_', '-') (q = q.downcase).tr!('_', '-')
long << "no-#{q}" long << "no-#{q}"
nolong << q nolong << q
when /^--\[no-\]([^\[\]=\s]*)(.+)?/ when /\A--\[no-\]([^\[\]=\s]*)(.+)?/
q, a = $1, $2 q, a = $1, $2
o = notwice(a ? Object : TrueClass, klass, 'type') o = notwice(a ? Object : TrueClass, klass, 'type')
if a if a
@ -1532,7 +1532,7 @@ XXX
not_pattern, not_conv = search(:atype, FalseClass) unless not_style not_pattern, not_conv = search(:atype, FalseClass) unless not_style
not_style = Switch::NoArgument not_style = Switch::NoArgument
nolong << "no-#{o}" nolong << "no-#{o}"
when /^--([^\[\]=\s]*)(.+)?/ when /\A--([^\[\]=\s]*)(.+)?/
q, a = $1, $2 q, a = $1, $2
if a if a
o = notwice(NilClass, klass, 'type') o = notwice(NilClass, klass, 'type')
@ -1542,7 +1542,7 @@ XXX
ldesc << "--#{q}" ldesc << "--#{q}"
(o = q.downcase).tr!('_', '-') (o = q.downcase).tr!('_', '-')
long << o long << o
when /^-(\[\^?\]?(?:[^\\\]]|\\.)*\])(.+)?/ when /\A-(\[\^?\]?(?:[^\\\]]|\\.)*\])(.+)?/
q, a = $1, $2 q, a = $1, $2
o = notwice(Object, klass, 'type') o = notwice(Object, klass, 'type')
if a if a
@ -1553,7 +1553,7 @@ XXX
end end
sdesc << "-#{q}" sdesc << "-#{q}"
short << Regexp.new(q) short << Regexp.new(q)
when /^-(.)(.+)?/ when /\A-(.)(.+)?/
q, a = $1, $2 q, a = $1, $2
if a if a
o = notwice(NilClass, klass, 'type') o = notwice(NilClass, klass, 'type')
@ -1562,7 +1562,7 @@ XXX
end end
sdesc << "-#{q}" sdesc << "-#{q}"
short << q short << q
when /^=/ when /\A=/
style = notwice(default_style.guess(arg = o), style, 'style') style = notwice(default_style.guess(arg = o), style, 'style')
default_pattern, conv = search(:atype, Object) unless default_pattern default_pattern, conv = search(:atype, Object) unless default_pattern
else else