irb 1.1.0.pre.3 → 1.1.0.pre.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -43,7 +43,7 @@ module IRB # :nodoc:
43
43
  @CONF[:LOAD_MODULES] = []
44
44
  @CONF[:IRB_RC] = nil
45
45
 
46
- @CONF[:USE_READLINE] = false unless defined?(ReadlineInputMethod)
46
+ @CONF[:USE_SINGLELINE] = false unless defined?(ReadlineInputMethod)
47
47
  @CONF[:USE_COLORIZE] = true
48
48
  @CONF[:INSPECT_MODE] = true
49
49
  @CONF[:USE_TRACER] = false
@@ -161,14 +161,14 @@ module IRB # :nodoc:
161
161
  end
162
162
  when "--noinspect"
163
163
  @CONF[:INSPECT_MODE] = false
164
- when "--readline"
165
- @CONF[:USE_READLINE] = true
166
- when "--noreadline"
167
- @CONF[:USE_READLINE] = false
168
- when "--reidline"
169
- @CONF[:USE_REIDLINE] = true
170
- when "--noreidline"
171
- @CONF[:USE_REIDLINE] = false
164
+ when "--singleline", "--readline"
165
+ @CONF[:USE_SINGLELINE] = true
166
+ when "--nosingleline", "--noreadline"
167
+ @CONF[:USE_SINGLELINE] = false
168
+ when "--multiline", "--reidline"
169
+ @CONF[:USE_MULTILINE] = true
170
+ when "--nomultiline", "--noreidline"
171
+ @CONF[:USE_MULTILINE] = false
172
172
  when "--echo"
173
173
  @CONF[:ECHO] = true
174
174
  when "--noecho"
@@ -22,17 +22,19 @@ Usage: irb.rb [options] [programfile] [arguments]
22
22
  when new workspace was created
23
23
  --echo Show result(default)
24
24
  --noecho Don't show result
25
- --inspect Use `inspect' for output
26
- --noinspect Don't use inspect for output
27
- --readline Use Readline extension module
28
- --noreadline Don't use Readline extension module
25
+ --inspect Use `inspect' for output
26
+ --noinspect Don't use inspect for output
27
+ --multiline Use multiline editor module
28
+ --nomultiline Don't use multiline editor module
29
+ --singleline Use singleline editor module
30
+ --nosingleline Don't use singleline editor module
29
31
  --colorize Use colorization
30
32
  --nocolorize Don't use colorization
31
33
  --prompt prompt-mode/--prompt-mode prompt-mode
32
34
  Switch prompt mode. Pre-defined prompt modes are
33
35
  `default', `simple', `xmp' and `inf-ruby'
34
36
  --inf-ruby-mode Use prompt appropriate for inf-ruby-mode on emacs.
35
- Suppresses --readline.
37
+ Suppresses --multiline and --singleline.
36
38
  --sample-book-mode/--simple-prompt
37
39
  Simple prompt mode
38
40
  --noprompt No prompt mode
@@ -23,8 +23,10 @@ Usage: irb.rb [options] [programfile] [arguments]
23
23
  --noecho 実行結果を表示しない.
24
24
  --inspect 結果出力にinspectを用いる.
25
25
  --noinspect 結果出力にinspectを用いない.
26
- --readline readlineライブラリを利用する.
27
- --noreadline readlineライブラリを利用しない.
26
+ --multiline マルチラインエディタを利用する.
27
+ --nomultiline マルチラインエディタを利用しない.
28
+ --singleline シングルラインエディタを利用する.
29
+ --nosingleline シングルラインエディタを利用しない.
28
30
  --colorize 色付けを利用する.
29
31
  --nocolorize 色付けを利用しない.
30
32
  --prompt prompt-mode/--prompt-mode prompt-mode
@@ -32,7 +34,8 @@ Usage: irb.rb [options] [programfile] [arguments]
32
34
  ロンプトモードは, default, simple, xmp, inf-rubyが
33
35
  用意されています.
34
36
  --inf-ruby-mode emacsのinf-ruby-mode用のプロンプト表示を行なう. 特
35
- に指定がない限り, readlineライブラリは使わなくなる.
37
+ に指定がない限り, シングルラインエディタとマルチラ
38
+ インエディタは使わなくなる.
36
39
  --sample-book-mode/--simple-prompt
37
40
  非常にシンプルなプロンプトを用いるモードです.
38
41
  --noprompt プロンプト表示を行なわない.
@@ -71,20 +71,27 @@ class RubyLex
71
71
  end
72
72
  end
73
73
 
74
+ def ripper_lex_without_warning(code)
75
+ verbose, $VERBOSE = $VERBOSE, nil
76
+ tokens = Ripper.lex(code)
77
+ $VERBOSE = verbose
78
+ tokens
79
+ end
80
+
74
81
  def set_auto_indent(context)
75
82
  if @io.respond_to?(:auto_indent) and context.auto_indent_mode
76
83
  @io.auto_indent do |lines, line_index, byte_pointer, is_newline|
77
84
  if is_newline
78
85
  md = lines[line_index - 1].match(/(\A +)/)
79
86
  prev_spaces = md.nil? ? 0 : md[1].count(' ')
80
- @tokens = Ripper.lex(lines[0..line_index].join("\n"))
87
+ @tokens = ripper_lex_without_warning(lines[0..line_index].join("\n"))
81
88
  depth_difference = check_newline_depth_difference
82
89
  prev_spaces + depth_difference * 2
83
90
  else
84
91
  code = line_index.zero? ? '' : lines[0..(line_index - 1)].map{ |l| l + "\n" }.join
85
92
  last_line = lines[line_index]&.byteslice(0, byte_pointer)
86
93
  code += last_line if last_line
87
- @tokens = Ripper.lex(code)
94
+ @tokens = ripper_lex_without_warning(code)
88
95
  corresponding_token_depth = check_corresponding_token_depth
89
96
  if corresponding_token_depth
90
97
  corresponding_token_depth
@@ -97,7 +104,7 @@ class RubyLex
97
104
  end
98
105
 
99
106
  def check_state(code)
100
- @tokens = Ripper.lex(code)
107
+ @tokens = ripper_lex_without_warning(code)
101
108
  ltype = process_literal_type
102
109
  indent = process_nesting_level
103
110
  continue = process_continue
@@ -160,7 +167,7 @@ class RubyLex
160
167
  end
161
168
  code = @line + (line.nil? ? '' : line)
162
169
  code.gsub!(/\s*\z/, '').concat("\n")
163
- @tokens = Ripper.lex(code)
170
+ @tokens = ripper_lex_without_warning(code)
164
171
  @continue = process_continue
165
172
  @code_block_open = check_code_block(code)
166
173
  @indent = process_nesting_level
@@ -0,0 +1,38 @@
1
+
2
+ -+smJYYN?mm-
3
+ HB"BBYT TQg NggT
4
+ 9Q+g Nm,T 8g NJW
5
+ YS+ N2NJ"Sg N?
6
+ BQg #( gT Nggggk J
7
+ 5j NJ NJ NNge
8
+ #Q #JJ NgT N(
9
+ @j bj mT J
10
+ Bj @/d NJ (
11
+ #q #(( NgT #J
12
+ 5d #(t mT $d
13
+ #q @(@J NJB;
14
+ @( 5d ? HHH H HQmgggggggmN qD
15
+ 5d #uN 2QdH E O
16
+ 5 5JSd Nd NJH @d j
17
+ Fd @J4d s NQH #d (
18
+ #( #o6d Nd NgH #d #d
19
+ 4 B&Od v NgT #d F
20
+ #( 9JGd NH NgUd F
21
+ #d #GJQ d NP $
22
+ #J #U+#Q N Q # j
23
+ j /W BQ+ BQ d NJ NJ
24
+ - NjJH HBIjTQggPJQgW N W k #J
25
+ #J b HYWgggN j s Nag d NN b #d
26
+ #J 5- D s Ngg N d Nd F
27
+ Fd BKH2 #+ s NNgg J Q J ]
28
+ F H @ J N y K(d P I
29
+ F4 E N? #d y #Q NJ E j
30
+ F W Nd q m Bg NxW N(H-
31
+ F d b @ m Hd gW vKJ
32
+ NJ d K d s Bg aT FDd
33
+ b # d N m BQ mV N>
34
+ e5 Nd #d NggggggQWH HHHH NJ -
35
+ m7 NW H N HSVO1z=?11-
36
+ NgTH bB kH WBHWWHBHWmQgg&gggggNNN
37
+ NNggggggNN
38
+
@@ -11,7 +11,7 @@
11
11
  #
12
12
 
13
13
  module IRB # :nodoc:
14
- VERSION = "1.1.0.pre.3"
14
+ VERSION = "1.1.0.pre.4"
15
15
  @RELEASE_VERSION = VERSION
16
16
  @LAST_UPDATE_DATE = "2019-09-01"
17
17
  end
@@ -124,21 +124,12 @@ EOF
124
124
 
125
125
  # error message manipulator
126
126
  def filter_backtrace(bt)
127
+ return nil if bt =~ /irb\/.*\.rb/
128
+ return nil if bt =~ /irb\.rb/
127
129
  case IRB.conf[:CONTEXT_MODE]
128
- when 0
129
- return nil if bt =~ /\(irb_local_binding\)/
130
130
  when 1
131
- if(bt =~ %r!/tmp/irb-binding! or
132
- bt =~ %r!irb/.*\.rb! or
133
- bt =~ /irb\.rb/)
134
- return nil
135
- end
136
- when 2
137
- return nil if bt =~ /irb\/.*\.rb/
138
- return nil if bt =~ /irb\.rb/
131
+ return nil if bt =~ %r!/tmp/irb-binding!
139
132
  when 3
140
- return nil if bt =~ /irb\/.*\.rb/
141
- return nil if bt =~ /irb\.rb/
142
133
  bt = bt.sub(/:\s*in `irb_binding'/, '')
143
134
  end
144
135
  bt
@@ -0,0 +1,207 @@
1
+ .\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.jp>.
2
+ .Dd August 11, 2019
3
+ .Dt IRB \&1 "Ruby Programmer's Reference Guide"
4
+ .Os UNIX
5
+ .Sh NAME
6
+ .Nm irb
7
+ .Nd Interactive Ruby Shell
8
+ .Sh SYNOPSIS
9
+ .Nm
10
+ .Op Fl -version
11
+ .Op Fl dfUw
12
+ .Op Fl I Ar directory
13
+ .Op Fl r Ar library
14
+ .Op Fl E Ar external Ns Op : Ns Ar internal
15
+ .Op Fl W Ns Op Ar level
16
+ .Op Fl - Ns Oo no Oc Ns inspect
17
+ .Op Fl - Ns Oo no Oc Ns multiline
18
+ .Op Fl - Ns Oo no Oc Ns singleline
19
+ .Op Fl - Ns Oo no Oc Ns echo
20
+ .Op Fl - Ns Oo no Oc Ns colorize
21
+ .Op Fl - Ns Oo no Oc Ns verbose
22
+ .Op Fl -prompt Ar mode
23
+ .Op Fl -prompt-mode Ar mode
24
+ .Op Fl -inf-ruby-mode
25
+ .Op Fl -simple-prompt
26
+ .Op Fl -noprompt
27
+ .Op Fl -tracer
28
+ .Op Fl -back-trace-limit Ar n
29
+ .Op Fl -
30
+ .Op program_file
31
+ .Op argument ...
32
+ .Pp
33
+ .Sh DESCRIPTION
34
+ .Nm
35
+ is the REPL(read-eval-print loop) environment for Ruby programs.
36
+ .Pp
37
+ .Sh OPTIONS
38
+ .Bl -tag -width "1234567890123" -compact
39
+ .Pp
40
+ .It Fl -version
41
+ Prints the version of
42
+ .Nm .
43
+ .Pp
44
+ .It Fl E Ar external Ns Op : Ns Ar internal
45
+ .It Fl -encoding Ar external Ns Op : Ns Ar internal
46
+ Same as `ruby -E' .
47
+ Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:).
48
+ .Pp
49
+ You can omit the one for internal encodings, then the value
50
+ .Pf ( Li "Encoding.default_internal" ) will be nil.
51
+ .Pp
52
+ .It Fl I Ar path
53
+ Same as `ruby -I' .
54
+ Specifies
55
+ .Li $LOAD_PATH
56
+ directory
57
+ .Pp
58
+ .It Fl U
59
+ Same as `ruby -U' .
60
+ Sets the default value for internal encodings
61
+ .Pf ( Li "Encoding.default_internal" ) to UTF-8.
62
+ .Pp
63
+ .It Fl d
64
+ Same as `ruby -d' .
65
+ Sets
66
+ .Li $DEBUG
67
+ to true.
68
+ .Pp
69
+ .It Fl f
70
+ Suppresses read of
71
+ .Pa ~/.irbrc .
72
+ .Pp
73
+ .It Fl w
74
+ Same as `ruby -w' .
75
+ .Pp
76
+ .Pp
77
+ .It Fl W
78
+ Same as `ruby -W' .
79
+ .Pp
80
+ .It Fl h
81
+ .It Fl -help
82
+ Prints a summary of the options.
83
+ .Pp
84
+ .It Fl r Ar library
85
+ Same as `ruby -r'.
86
+ Causes irb to load the library using require.
87
+ .Pp
88
+ .It Fl -inspect
89
+ Uses `inspect' for output (default except for bc mode)
90
+ .Pp
91
+ .It Fl -noinspect
92
+ Doesn't use inspect for output
93
+ .Pp
94
+ .It Fl -multiline
95
+ Uses multiline editor module.
96
+ .Pp
97
+ .It Fl -nomultiline
98
+ Doesn't use multiline editor module.
99
+ .Pp
100
+ .It Fl -singleline
101
+ Uses singleline editor module.
102
+ .Pp
103
+ .It Fl -nosingleline
104
+ Doesn't use singleline editor module.
105
+ .Pp
106
+ .Pp
107
+ .It Fl -echo
108
+ Show result(default).
109
+ .Pp
110
+ .It Fl -noecho
111
+ Don't show result.
112
+ .Pp
113
+ .Pp
114
+ .It Fl -colorize
115
+ Use colorization.
116
+ .Pp
117
+ .It Fl -nocolorize
118
+ Don't use colorization.
119
+ .Pp
120
+ .Pp
121
+ .It Fl -verbose
122
+ Show details.
123
+ .Pp
124
+ .It Fl -noverbose
125
+ Don't show details.
126
+ .Pp
127
+ .It Fl -prompt Ar mode
128
+ .It Fl -prompt-mode Ar mode
129
+ Switch prompt mode. Pre-defined prompt modes are
130
+ `default', `simple', `xmp' and `inf-ruby'.
131
+ .Pp
132
+ .It Fl -inf-ruby-mode
133
+ Uses prompt appropriate for inf-ruby-mode on emacs.
134
+ Suppresses --multiline and --singleline.
135
+ .Pp
136
+ .It Fl -simple-prompt
137
+ Makes prompts simple.
138
+ .Pp
139
+ .It Fl -noprompt
140
+ No prompt mode.
141
+ .Pp
142
+ .It Fl -tracer
143
+ Displays trace for each execution of commands.
144
+ .Pp
145
+ .It Fl -back-trace-limit Ar n
146
+ Displays backtrace top
147
+ .Ar n
148
+ and tail
149
+ .Ar n Ns .
150
+ The default value is 16.
151
+ .El
152
+ .Pp
153
+ .Sh ENVIRONMENT
154
+ .Bl -tag -compact
155
+ .It Ev IRBRC
156
+ .Pp
157
+ .El
158
+ .Pp
159
+ Also
160
+ .Nm
161
+ depends on same variables as
162
+ .Xr ruby 1 .
163
+ .Pp
164
+ .Sh FILES
165
+ .Bl -tag -compact
166
+ .It Pa ~/.irbrc
167
+ Personal irb initialization.
168
+ .Pp
169
+ .El
170
+ .Pp
171
+ .Sh EXAMPLES
172
+ .Dl % irb
173
+ .Dl irb(main):001:0> Ic 1 + 1
174
+ .Dl 2
175
+ .Dl irb(main):002:0> Ic def t(x)
176
+ .Dl irb(main):003:1> Ic x + 1
177
+ .Dl irb(main):004:1> Ic end
178
+ .Dl => :t
179
+ .Dl irb(main):005:0> Ic t(3)
180
+ .Dl => 4
181
+ .Dl irb(main):006:0> Ic if t(3) == 4
182
+ .Dl irb(main):007:1> Ic p :ok
183
+ .Dl irb(main):008:1> Ic end
184
+ .Dl :ok
185
+ .Dl => :ok
186
+ .Dl irb(main):009:0> Ic quit
187
+ .Dl %
188
+ .Pp
189
+ .Sh SEE ALSO
190
+ .Xr ruby 1 .
191
+ .Pp
192
+ .Sh REPORTING BUGS
193
+ .Bl -bullet
194
+ .It
195
+ Security vulnerabilities should be reported via an email to
196
+ .Mt security@ruby-lang.org .
197
+ Reported problems will be published after being fixed.
198
+ .Pp
199
+ .It
200
+ Other bugs and feature requests can be reported via the
201
+ Ruby Issue Tracking System
202
+ .Pq Lk https://bugs.ruby-lang.org/ .
203
+ Do not report security vulnerabilities
204
+ via this system because it publishes the vulnerabilities immediately.
205
+ .El
206
+ .Sh AUTHORS
207
+ Written by Keiju ISHITSUKA.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: irb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.pre.3
4
+ version: 1.1.0.pre.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keiju ISHITSUKA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-01 00:00:00.000000000 Z
11
+ date: 2019-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: reline
@@ -60,8 +60,14 @@ executables:
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
+ - Gemfile
63
64
  - LICENSE.txt
64
65
  - README.md
66
+ - Rakefile
67
+ - bin/console
68
+ - bin/setup
69
+ - doc/irb/irb-tools.rd.ja
70
+ - doc/irb/irb.rd.ja
65
71
  - exe/irb
66
72
  - irb.gemspec
67
73
  - lib/irb.rb
@@ -100,13 +106,14 @@ files:
100
106
  - lib/irb/notifier.rb
101
107
  - lib/irb/output-method.rb
102
108
  - lib/irb/ruby-lex.rb
103
- - lib/irb/ruby-token.rb
109
+ - lib/irb/ruby_logo.aa
104
110
  - lib/irb/slex.rb
105
111
  - lib/irb/src_encoding.rb
106
112
  - lib/irb/version.rb
107
113
  - lib/irb/workspace.rb
108
114
  - lib/irb/ws-for-case-2.rb
109
115
  - lib/irb/xmp.rb
116
+ - man/irb.1
110
117
  homepage: https://github.com/ruby/irb
111
118
  licenses:
112
119
  - BSD-2-Clause
@@ -126,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
133
  - !ruby/object:Gem::Version
127
134
  version: 1.3.1
128
135
  requirements: []
129
- rubygems_version: 3.0.3
136
+ rubygems_version: 3.0.6
130
137
  signing_key:
131
138
  specification_version: 4
132
139
  summary: Interactive Ruby command-line tool for REPL (Read Eval Print Loop).