From 65e27c8b138d6959608658ffce2fa761842b8d24 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 29 Nov 2016 10:47:43 +0000 Subject: [PATCH] parse.y: ambiguous parentheses * parse.y (parser_yylex): warn ambiguous parentheses after a space in method definitions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/date/lib/date.rb | 14 +++++++------- ext/openssl/lib/openssl/buffering.rb | 2 +- parse.y | 4 ++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 48ce6316bd..c10441e573 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -15,17 +15,17 @@ class Date protected :d - def zero? () false end - def finite? () false end - def infinite? () d.nonzero? end - def nan? () d.zero? end + def zero?() false end + def finite?() false end + def infinite?() d.nonzero? end + def nan?() d.zero? end def abs() self.class.new end - def -@ () self.class.new(-d) end - def +@ () self.class.new(+d) end + def -@() self.class.new(-d) end + def +@() self.class.new(+d) end - def <=> (other) + def <=>(other) case other when Infinity; return d <=> other.d when Numeric; return d diff --git a/ext/openssl/lib/openssl/buffering.rb b/ext/openssl/lib/openssl/buffering.rb index 61e1f43e00..94aba3520b 100644 --- a/ext/openssl/lib/openssl/buffering.rb +++ b/ext/openssl/lib/openssl/buffering.rb @@ -381,7 +381,7 @@ module OpenSSL::Buffering # Writes +s+ to the stream. +s+ will be converted to a String using # String#to_s. - def << (s) + def <<(s) do_write(s) self end diff --git a/parse.y b/parse.y index d532954d10..0f3eac1e56 100644 --- a/parse.y +++ b/parse.y @@ -8520,6 +8520,10 @@ parser_yylex(struct parser_params *parser) else if (IS_SPCARG(-1)) { c = tLPAREN_ARG; } + else if (IS_lex_state(EXPR_ENDFN) && space_seen) { + rb_warning0("parentheses after method name is interpreted as"); + rb_warning0("an argument list, not a decomposed argument"); + } paren_nest++; COND_PUSH(0); CMDARG_PUSH(0);