In the message of [ruby-talk:02675] Re: irb for 1.5.x
on 2000/5/9 22:12:21 Dave Thomas <Dave / thomases.com> wrote:
> > > In message "[ruby-talk:02617] irb for 1.5.x"
> > > on 00/05/02, Andrew Hunt <Andy / Toolshed.Com> writes:
> > >
> > > |1) First problem I get is ruby-token.rb:260:in `def_token': undefined
> > > | method `intern' for :TkCLASS:Symbol (NameError)
> > token_n = token_n.id2name unless token_n.kind_of?(String)
> >
> > Thanks, that fixes the first problem. However, irb still exits if
> > you make a syntax error. For instance:
>
> Is this because of the reclassification of the SyntaxError exception?
Yes. Please change these 3 files to work irb with 1.5.x.
diff -u1p irb/input-method.rb.dist irb/input-method.rb
--- irb/input-method.rb.dist Wed Sep 15 13:52:07 1999
+++ irb/input-method.rb Tue Feb 22 23:11:27 2000
@@ -116,3 +116,3 @@ module IRB
end
- rescue
+ rescue ScriptError
end
diff -u1p irb/main.rb.dist irb/main.rb
--- irb/main.rb.dist Wed Sep 15 21:14:18 1999
+++ irb/main.rb Tue Feb 22 23:11:27 2000
@@ -374,3 +374,3 @@ module IRB
end
- rescue StandardError, Abort
+ rescue StandardError, ScriptError, Abort
$! = RuntimeError.new("unknown exception raised") unless $!
diff -u1p irb/ruby-token.rb.dist irb/ruby-token.rb
--- irb/ruby-token.rb.dist Wed Sep 15 13:52:06 1999
+++ irb/ruby-token.rb Thu Mar 9 19:10:07 2000
@@ -243,3 +243,3 @@ module RubyToken
def RubyToken.def_token(token_n, super_token = Token, reading = nil, *opts)
- token_n = token_n.id2name if token_n.kind_of?(Integer)
+ token_n = token_n.id2name unless token_n.kind_of?(String)
if RubyToken.const_defined?(token_n)
--
Katsuyuki Komatsu <komatsu / sarion.co.jp>