irb 1.2.8 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/irb.rb +3 -2
- data/lib/irb/init.rb +7 -7
- data/lib/irb/ruby-lex.rb +8 -8
- data/lib/irb/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb526faa67bbfaad97480a6e642dc161725c6c444dcb6e6080498fae665173a6
|
4
|
+
data.tar.gz: 58c89d71946d694826f2409eaf4a49ed88644bf640564e2f3a6c9ab3d8e9c0e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e101c1374b8ea161ec76217739ce5dbcd93c9e85e3cc147852717634085b97e5bd1aa71a9a6c316a660e9c60f0d16a03d08c26e7b7e65bdbb44886295bfa8dd
|
7
|
+
data.tar.gz: 6243fb79d8747f0c507ebbd7e3f4efd486b3848ea7b2bf4db5ee4bb48591ee20857bcf5d86f61520c7d17b1d9307dc28a2ac785a64dda83ba1c78ebff90d53b6
|
data/lib/irb.rb
CHANGED
@@ -544,9 +544,10 @@ module IRB
|
|
544
544
|
if IRB.conf[:MEASURE] && !IRB.conf[:MEASURE_CALLBACKS].empty?
|
545
545
|
result = nil
|
546
546
|
last_proc = proc{ result = @context.evaluate(line, line_no, exception: exc) }
|
547
|
-
IRB.conf[:MEASURE_CALLBACKS].
|
547
|
+
IRB.conf[:MEASURE_CALLBACKS].inject(last_proc) { |chain, item|
|
548
|
+
_name, callback, arg = item
|
548
549
|
proc {
|
549
|
-
|
550
|
+
callback.(@context, line, line_no, arg, exception: exc) do
|
550
551
|
chain.call
|
551
552
|
end
|
552
553
|
}
|
data/lib/irb/init.rb
CHANGED
@@ -120,7 +120,7 @@ module IRB # :nodoc:
|
|
120
120
|
puts 'processing time: %fs' % (now - time) if IRB.conf[:MEASURE]
|
121
121
|
result
|
122
122
|
}
|
123
|
-
@CONF[:MEASURE_PROC][:STACKPROF] = proc { |context, code, line_no, &block|
|
123
|
+
@CONF[:MEASURE_PROC][:STACKPROF] = proc { |context, code, line_no, arg, &block|
|
124
124
|
success = false
|
125
125
|
begin
|
126
126
|
require 'stackprof'
|
@@ -130,7 +130,7 @@ module IRB # :nodoc:
|
|
130
130
|
end
|
131
131
|
if success
|
132
132
|
result = nil
|
133
|
-
stackprof_result = StackProf.run(mode: :cpu) do
|
133
|
+
stackprof_result = StackProf.run(mode: arg ? arg : :cpu) do
|
134
134
|
result = block.()
|
135
135
|
end
|
136
136
|
StackProf::Report.new(stackprof_result).print_text if IRB.conf[:MEASURE]
|
@@ -146,17 +146,17 @@ module IRB # :nodoc:
|
|
146
146
|
@CONF[:AT_EXIT] = []
|
147
147
|
end
|
148
148
|
|
149
|
-
def IRB.set_measure_callback(type = nil)
|
149
|
+
def IRB.set_measure_callback(type = nil, arg = nil)
|
150
150
|
added = nil
|
151
151
|
if type
|
152
152
|
type_sym = type.upcase.to_sym
|
153
153
|
if IRB.conf[:MEASURE_PROC][type_sym]
|
154
|
-
added = [type_sym, IRB.conf[:MEASURE_PROC][type_sym]]
|
154
|
+
added = [type_sym, IRB.conf[:MEASURE_PROC][type_sym], arg]
|
155
155
|
end
|
156
156
|
elsif IRB.conf[:MEASURE_PROC][:CUSTOM]
|
157
|
-
added = [:CUSTOM, IRB.conf[:MEASURE_PROC][:CUSTOM]]
|
157
|
+
added = [:CUSTOM, IRB.conf[:MEASURE_PROC][:CUSTOM], arg]
|
158
158
|
else
|
159
|
-
added = [:TIME, IRB.conf[:MEASURE_PROC][:TIME]]
|
159
|
+
added = [:TIME, IRB.conf[:MEASURE_PROC][:TIME], arg]
|
160
160
|
end
|
161
161
|
IRB.conf[:MEASURE_CALLBACKS] << added if added
|
162
162
|
added
|
@@ -167,7 +167,7 @@ module IRB # :nodoc:
|
|
167
167
|
IRB.conf[:MEASURE_CALLBACKS].clear
|
168
168
|
else
|
169
169
|
type_sym = type.upcase.to_sym
|
170
|
-
IRB.conf[:MEASURE_CALLBACKS].reject!{ |t,
|
170
|
+
IRB.conf[:MEASURE_CALLBACKS].reject!{ |t, | t == type_sym }
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
data/lib/irb/ruby-lex.rb
CHANGED
@@ -201,14 +201,14 @@ class RubyLex
|
|
201
201
|
code = @line + (line.nil? ? '' : line)
|
202
202
|
code.gsub!(/\s*\z/, '').concat("\n")
|
203
203
|
@tokens = ripper_lex_without_warning(code)
|
204
|
-
@continue = process_continue
|
205
|
-
@code_block_open = check_code_block(code
|
206
|
-
@indent = process_nesting_level
|
207
|
-
@ltype = process_literal_type
|
204
|
+
@continue = process_continue
|
205
|
+
@code_block_open = check_code_block(code)
|
206
|
+
@indent = process_nesting_level
|
207
|
+
@ltype = process_literal_type
|
208
208
|
line
|
209
209
|
end
|
210
210
|
|
211
|
-
def process_continue(tokens)
|
211
|
+
def process_continue(tokens = @tokens)
|
212
212
|
# last token is always newline
|
213
213
|
if tokens.size >= 2 and tokens[-2][1] == :on_regexp_end
|
214
214
|
# end of regexp literal
|
@@ -228,7 +228,7 @@ class RubyLex
|
|
228
228
|
false
|
229
229
|
end
|
230
230
|
|
231
|
-
def check_code_block(code, tokens)
|
231
|
+
def check_code_block(code, tokens = @tokens)
|
232
232
|
return true if tokens.empty?
|
233
233
|
if tokens.last[1] == :on_heredoc_beg
|
234
234
|
return true
|
@@ -321,7 +321,7 @@ class RubyLex
|
|
321
321
|
false
|
322
322
|
end
|
323
323
|
|
324
|
-
def process_nesting_level(tokens)
|
324
|
+
def process_nesting_level(tokens = @tokens)
|
325
325
|
indent = 0
|
326
326
|
in_oneliner_def = nil
|
327
327
|
tokens.each_with_index { |t, index|
|
@@ -574,7 +574,7 @@ class RubyLex
|
|
574
574
|
start_token.last.nil? ? '' : start_token.last
|
575
575
|
end
|
576
576
|
|
577
|
-
def process_literal_type(tokens)
|
577
|
+
def process_literal_type(tokens = @tokens)
|
578
578
|
start_token = check_string_literal(tokens)
|
579
579
|
case start_token[1]
|
580
580
|
when :on_tstring_beg
|
data/lib/irb/version.rb
CHANGED
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.2.
|
4
|
+
version: 1.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keiju ISHITSUKA
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: reline
|