summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-23 03:25:26 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-23 03:25:26 +0000
commit67c94cae969538b2d442fcf8b37663e8aa141686 (patch)
tree1c63fdb9b3e59c5c873fcf4712166b71bdd94807
parent606734f0b1689c3763c394a895355d814cf91940 (diff)
* parse.y (lambda): add ripper event. This fixes bus error on "make test-all".
* ext/ripper/extconf.rb: do not stop build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--ext/ripper/extconf.rb3
-rw-r--r--parse.y21
3 files changed, 18 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 48603ad00d..74855de336 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Feb 23 12:24:46 2007 Minero Aoki <aamine@loveruby.net>
+
+ * parse.y (lambda): add ripper event. This fixes bus error on
+ "make test-all".
+
+ * ext/ripper/extconf.rb: do not stop build.
+
Fri Feb 23 12:16:05 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* parse.y: remove dyna_check_gen() prototype.
diff --git a/ext/ripper/extconf.rb b/ext/ripper/extconf.rb
index 99814e5d6c..6b44073300 100644
--- a/ext/ripper/extconf.rb
+++ b/ext/ripper/extconf.rb
@@ -4,9 +4,6 @@ require 'mkmf'
require 'rbconfig'
def main
- Logging.message "YARV doesn't support Ripper"
- return
-
unless find_executable('bison')
unless File.exist?('ripper.c') or File.exist?("#{$srcdir}/ripper.c")
Logging.message 'missing bison; abort'
diff --git a/parse.y b/parse.y
index 5c4fbf9120..e4958888f2 100644
--- a/parse.y
+++ b/parse.y
@@ -3208,29 +3208,30 @@ bvar : tIDENTIFIER
}
;
-lambda : {
+lambda : {
/*%%%*/
dyna_push();
+ $<num>$ = lpar_beg;
+ lpar_beg = ++paren_nest;
/*%
%*/
}
- {
- $<num>$ = lpar_beg;
- lpar_beg = ++paren_nest;
- }
f_larglist
{
- $<num>$ = vtable_size(lvtbl->dvars);
+ /*%%%*/
+ $<num>$ = vtable_size(lvtbl->dvars);
+ /*%
+ %*/
}
lambda_body
{
/*%%%*/
- $$ = $3;
- $$->nd_body = block_append($$->nd_body, $5);
+ $$ = $2;
+ $$->nd_body = block_append($$->nd_body, $4);
dyna_pop();
- lpar_beg = $<num>2;
+ lpar_beg = $<num>1;
/*%
- $$ = dispatch2(lambda, $3, $5);
+ $$ = dispatch2(lambda, $2, $4);
%*/
}
;