diff options
| -rw-r--r-- | Library/Homebrew/extend/string.rb | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb index c0f5ae1db..d18539b5c 100644 --- a/Library/Homebrew/extend/string.rb +++ b/Library/Homebrew/extend/string.rb @@ -69,22 +69,23 @@ module StringInreplaceExtension    # value with "new_value", or removes the definition entirely.    def change_make_var! flag, new_value      new_value = "#{flag}=#{new_value}" -    sub = gsub! Regexp.new("^#{flag}[ \\t]*=[ \\t]*(.*)$"), new_value, false -    opoo "inreplace: changing '#{flag}' to '#{new_value}' failed" if sub.nil? +    unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, new_value, false) +      opoo "inreplace: changing '#{flag}' to '#{new_value}' failed" +    end    end    # Removes variable assignments completely.    def remove_make_var! flags      Array(flags).each do |flag|        # Also remove trailing \n, if present. -      sub = gsub! Regexp.new("^#{flag}[ \\t]*=(.*)$\n?"), "", false -      opoo "inreplace: removing '#{flag}' failed" if sub.nil? +      unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=.*$\n?/, "", false) +        opoo "inreplace: removing '#{flag}' failed" +      end      end    end    # Finds the specified variable    def get_make_var flag -    m = match Regexp.new("^#{flag}[ \\t]*=[ \\t]*(.*)$") -    return m[1] if m +    self[/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, 1]    end  end  | 
