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.
@@ -16,7 +16,62 @@ Gem::Specification.new do |spec|
16
16
  spec.homepage = "https://github.com/ruby/irb"
17
17
  spec.license = "BSD-2-Clause"
18
18
 
19
- spec.files = ["LICENSE.txt", "README.md", "exe/irb", "irb.gemspec", "lib/irb.rb", "lib/irb/cmd/chws.rb", "lib/irb/cmd/fork.rb", "lib/irb/cmd/help.rb", "lib/irb/cmd/load.rb", "lib/irb/cmd/nop.rb", "lib/irb/cmd/pushws.rb", "lib/irb/cmd/subirb.rb", "lib/irb/completion.rb", "lib/irb/context.rb", "lib/irb/color.rb", "lib/irb/ext/change-ws.rb", "lib/irb/ext/history.rb", "lib/irb/ext/loader.rb", "lib/irb/ext/multi-irb.rb", "lib/irb/ext/save-history.rb", "lib/irb/ext/tracer.rb", "lib/irb/ext/use-loader.rb", "lib/irb/ext/workspaces.rb", "lib/irb/extend-command.rb", "lib/irb/frame.rb", "lib/irb/help.rb", "lib/irb/init.rb", "lib/irb/input-method.rb", "lib/irb/inspector.rb", "lib/irb/lc/.document", "lib/irb/lc/error.rb", "lib/irb/lc/help-message", "lib/irb/lc/ja/encoding_aliases.rb", "lib/irb/lc/ja/error.rb", "lib/irb/lc/ja/help-message", "lib/irb/locale.rb", "lib/irb/magic-file.rb", "lib/irb/notifier.rb", "lib/irb/output-method.rb", "lib/irb/ruby-lex.rb", "lib/irb/ruby-token.rb", "lib/irb/slex.rb", "lib/irb/src_encoding.rb", "lib/irb/version.rb", "lib/irb/workspace.rb", "lib/irb/ws-for-case-2.rb", "lib/irb/xmp.rb"]
19
+ spec.files = [
20
+ "Gemfile",
21
+ "LICENSE.txt",
22
+ "README.md",
23
+ "Rakefile",
24
+ "bin/console",
25
+ "bin/setup",
26
+ "doc/irb/irb-tools.rd.ja",
27
+ "doc/irb/irb.rd.ja",
28
+ "exe/irb",
29
+ "irb.gemspec",
30
+ "lib/irb.rb",
31
+ "lib/irb/cmd/chws.rb",
32
+ "lib/irb/cmd/fork.rb",
33
+ "lib/irb/cmd/help.rb",
34
+ "lib/irb/cmd/load.rb",
35
+ "lib/irb/cmd/nop.rb",
36
+ "lib/irb/cmd/pushws.rb",
37
+ "lib/irb/cmd/subirb.rb",
38
+ "lib/irb/color.rb",
39
+ "lib/irb/completion.rb",
40
+ "lib/irb/context.rb",
41
+ "lib/irb/ext/change-ws.rb",
42
+ "lib/irb/ext/history.rb",
43
+ "lib/irb/ext/loader.rb",
44
+ "lib/irb/ext/multi-irb.rb",
45
+ "lib/irb/ext/save-history.rb",
46
+ "lib/irb/ext/tracer.rb",
47
+ "lib/irb/ext/use-loader.rb",
48
+ "lib/irb/ext/workspaces.rb",
49
+ "lib/irb/extend-command.rb",
50
+ "lib/irb/frame.rb",
51
+ "lib/irb/help.rb",
52
+ "lib/irb/init.rb",
53
+ "lib/irb/input-method.rb",
54
+ "lib/irb/inspector.rb",
55
+ "lib/irb/lc/.document",
56
+ "lib/irb/lc/error.rb",
57
+ "lib/irb/lc/help-message",
58
+ "lib/irb/lc/ja/encoding_aliases.rb",
59
+ "lib/irb/lc/ja/error.rb",
60
+ "lib/irb/lc/ja/help-message",
61
+ "lib/irb/locale.rb",
62
+ "lib/irb/magic-file.rb",
63
+ "lib/irb/notifier.rb",
64
+ "lib/irb/output-method.rb",
65
+ "lib/irb/ruby-lex.rb",
66
+ "lib/irb/ruby_logo.aa",
67
+ "lib/irb/slex.rb",
68
+ "lib/irb/src_encoding.rb",
69
+ "lib/irb/version.rb",
70
+ "lib/irb/workspace.rb",
71
+ "lib/irb/ws-for-case-2.rb",
72
+ "lib/irb/xmp.rb",
73
+ "man/irb.1",
74
+ ]
20
75
  spec.bindir = "exe"
21
76
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
77
  spec.require_paths = ["lib"]
data/lib/irb.rb CHANGED
@@ -45,8 +45,8 @@ require "irb/version"
45
45
  # irb(main):006:1> end
46
46
  # #=> nil
47
47
  #
48
- # The Readline extension module can be used with irb. Use of Readline is
49
- # default if it's installed.
48
+ # The singleline editor module or multiline editor module can be used with irb.
49
+ # Use of multiline editor is default if it's installed.
50
50
  #
51
51
  # == Command line options
52
52
  #
@@ -61,10 +61,10 @@ require "irb/version"
61
61
  # -W[level=2] Same as `ruby -W`
62
62
  # --inspect Use `inspect' for output (default except for bc mode)
63
63
  # --noinspect Don't use inspect for output
64
- # --reidline Use Reidline extension module
65
- # --noreidline Don't use Reidline extension module
66
- # --readline Use Readline extension module
67
- # --noreadline Don't use Readline extension module
64
+ # --multiline Use multiline editor module
65
+ # --nomultiline Don't use multiline editor module
66
+ # --singleline Use singleline editor module
67
+ # --nosingleline Don't use singleline editor module
68
68
  # --colorize Use colorization
69
69
  # --nocolorize Don't use colorization
70
70
  # --prompt prompt-mode
@@ -72,7 +72,7 @@ require "irb/version"
72
72
  # Switch prompt mode. Pre-defined prompt modes are
73
73
  # `default', `simple', `xmp' and `inf-ruby'
74
74
  # --inf-ruby-mode Use prompt appropriate for inf-ruby-mode on emacs.
75
- # Suppresses --reidline and --readline.
75
+ # Suppresses --multiline and --singleline.
76
76
  # --simple-prompt Simple prompt mode
77
77
  # --noprompt No prompt mode
78
78
  # --tracer Display trace for each execution of commands.
@@ -100,8 +100,8 @@ require "irb/version"
100
100
  # IRB.conf[:IRB_RC] = nil
101
101
  # IRB.conf[:BACK_TRACE_LIMIT]=16
102
102
  # IRB.conf[:USE_LOADER] = false
103
- # IRB.conf[:USE_REIDLINE] = nil
104
- # IRB.conf[:USE_READLINE] = nil
103
+ # IRB.conf[:USE_MULTILINE] = nil
104
+ # IRB.conf[:USE_SINGLELINE] = nil
105
105
  # IRB.conf[:USE_COLORIZE] = true
106
106
  # IRB.conf[:USE_TRACER] = false
107
107
  # IRB.conf[:IGNORE_SIGINT] = true
@@ -124,7 +124,7 @@ require "irb/version"
124
124
  # === History
125
125
  #
126
126
  # By default, irb will store the last 1000 commands you used in
127
- # <code>~/.irb_history</code>.
127
+ # <code>IRB.conf[:HISTORY_FILE]</code> (<code>~/.irb_history</code> by default).
128
128
  #
129
129
  # If you want to disable history, add the following to your +.irbrc+:
130
130
  #
@@ -132,6 +132,14 @@ require "irb/version"
132
132
  #
133
133
  # See IRB::Context#save_history= for more information.
134
134
  #
135
+ # The history of _resuls_ of commands evaluated is not stored by default,
136
+ # but can be turned on to be stored with this +.irbrc+ setting:
137
+ #
138
+ # IRB.conf[:EVAL_HISTORY] = <number>
139
+ #
140
+ # See IRB::Context#eval_history= and History class. The history of command
141
+ # results is not permanently saved in any file.
142
+ #
135
143
  # == Customizing the IRB Prompt
136
144
  #
137
145
  # In order to customize the prompt, you can change the following Hash:
@@ -274,7 +282,9 @@ require "irb/version"
274
282
  # <code>_</code>::
275
283
  # The value command executed, as a local variable
276
284
  # <code>__</code>::
277
- # The history of evaluated commands
285
+ # The history of evaluated commands. Available only if
286
+ # <code>IRB.conf[:EVAL_HISTORY]</code> is not +nil+ (which is the default).
287
+ # See also IRB::Context#eval_history= and IRB::History.
278
288
  # <code>__[line_no]</code>::
279
289
  # Returns the evaluation value at the given line number, +line_no+.
280
290
  # If +line_no+ is a negative, the return value +line_no+ many lines before
@@ -441,8 +451,8 @@ module IRB
441
451
  # parsed as a :method_add_arg and the output won't be suppressed
442
452
 
443
453
  # Creates a new irb session
444
- def initialize(workspace = nil, input_method = nil, output_method = nil)
445
- @context = Context.new(self, workspace, input_method, output_method)
454
+ def initialize(workspace = nil, input_method = nil)
455
+ @context = Context.new(self, workspace, input_method)
446
456
  @context.main.extend ExtendCommandBundle
447
457
  @signal_status = :IN_IRB
448
458
  @scanner = RubyLex.new
@@ -526,7 +536,7 @@ module IRB
526
536
  @scanner.each_top_level_statement do |line, line_no|
527
537
  signal_status(:IN_EVAL) do
528
538
  begin
529
- line.untaint
539
+ line.untaint if RUBY_VERSION < '2.7'
530
540
  @context.evaluate(line, line_no, exception: exc)
531
541
  output_value if @context.echo? && (@context.echo_on_assignment? || !assignment_expression?(line))
532
542
  rescue Interrupt => exc
@@ -756,7 +766,10 @@ module IRB
756
766
  # s-expression where the second selement of the top level array is an
757
767
  # array of parsed expressions. The first element of each expression is the
758
768
  # expression's type.
759
- ASSIGNMENT_NODE_TYPES.include?(Ripper.sexp(line)&.dig(1,-1,0))
769
+ verbose, $VERBOSE = $VERBOSE, nil
770
+ result = ASSIGNMENT_NODE_TYPES.include?(Ripper.sexp(line)&.dig(1,-1,0))
771
+ $VERBOSE = verbose
772
+ result
760
773
  end
761
774
 
762
775
  ATTR_TTY = "\e[%sm"
@@ -850,6 +863,8 @@ class Binding
850
863
  IRB.setup(source_location[0], argv: [])
851
864
  workspace = IRB::WorkSpace.new(self)
852
865
  STDOUT.print(workspace.code_around_binding)
853
- IRB::Irb.new(workspace).run(IRB.conf)
866
+ binding_irb = IRB::Irb.new(workspace)
867
+ binding_irb.context.irb_path = File.expand_path(source_location[0])
868
+ binding_irb.run(IRB.conf)
854
869
  end
855
870
  end
@@ -30,7 +30,7 @@ module IRB # :nodoc:
30
30
  # backtick and regexp as red (string's color, because they're sharing tokens).
31
31
  TOKEN_SEQ_EXPRS = {
32
32
  on_CHAR: [[BLUE, BOLD], ALL],
33
- on_backtick: [[RED], ALL],
33
+ on_backtick: [[RED, BOLD], ALL],
34
34
  on_comment: [[BLUE, BOLD], ALL],
35
35
  on_const: [[BLUE, BOLD, UNDERLINE], ALL],
36
36
  on_embexpr_beg: [[RED], ALL],
@@ -45,17 +45,18 @@ module IRB # :nodoc:
45
45
  on_int: [[BLUE, BOLD], ALL],
46
46
  on_kw: [[GREEN], ALL],
47
47
  on_label: [[MAGENTA], ALL],
48
- on_label_end: [[RED], ALL],
49
- on_qsymbols_beg: [[RED], ALL],
50
- on_qwords_beg: [[RED], ALL],
48
+ on_label_end: [[RED, BOLD], ALL],
49
+ on_qsymbols_beg: [[RED, BOLD], ALL],
50
+ on_qwords_beg: [[RED, BOLD], ALL],
51
51
  on_rational: [[BLUE, BOLD], ALL],
52
52
  on_regexp_beg: [[RED, BOLD], ALL],
53
53
  on_regexp_end: [[RED, BOLD], ALL],
54
54
  on_symbeg: [[YELLOW], ALL],
55
- on_tstring_beg: [[RED], ALL],
55
+ on_symbols_beg: [[RED, BOLD], ALL],
56
+ on_tstring_beg: [[RED, BOLD], ALL],
56
57
  on_tstring_content: [[RED], ALL],
57
- on_tstring_end: [[RED], ALL],
58
- on_words_beg: [[RED], ALL],
58
+ on_tstring_end: [[RED, BOLD], ALL],
59
+ on_words_beg: [[RED, BOLD], ALL],
59
60
  on_parse_error: [[RED, REVERSE], ALL],
60
61
  compile_error: [[RED, REVERSE], ALL],
61
62
  }
@@ -70,16 +71,20 @@ module IRB # :nodoc:
70
71
  $stdout.tty? && supported? && (/mswin|mingw/ =~ RUBY_PLATFORM || (ENV.key?('TERM') && ENV['TERM'] != 'dumb'))
71
72
  end
72
73
 
73
- def inspect_colorable?(obj)
74
+ def inspect_colorable?(obj, seen: {})
74
75
  case obj
75
76
  when String, Symbol, Regexp, Integer, Float, FalseClass, TrueClass, NilClass
76
77
  true
77
78
  when Hash
78
- obj.all? { |k, v| inspect_colorable?(k) && inspect_colorable?(v) }
79
+ without_circular_ref(obj, seen: seen) do
80
+ obj.all? { |k, v| inspect_colorable?(k, seen: seen) && inspect_colorable?(v, seen: seen) }
81
+ end
79
82
  when Array
80
- obj.all? { |o| inspect_colorable?(o) }
83
+ without_circular_ref(obj, seen: seen) do
84
+ obj.all? { |o| inspect_colorable?(o, seen: seen) }
85
+ end
81
86
  when Range
82
- inspect_colorable?(obj.begin) && inspect_colorable?(obj.end)
87
+ inspect_colorable?(obj.begin, seen: seen) && inspect_colorable?(obj.end, seen: seen)
83
88
  when Module
84
89
  !obj.name.nil?
85
90
  else
@@ -132,6 +137,14 @@ module IRB # :nodoc:
132
137
 
133
138
  private
134
139
 
140
+ def without_circular_ref(obj, seen:, &block)
141
+ return false if seen.key?(obj.object_id)
142
+ seen[obj.object_id] = true
143
+ block.call
144
+ ensure
145
+ seen.delete(obj.object_id)
146
+ end
147
+
135
148
  # Ripper::Lexer::Elem#state is supported on Ruby 2.5+
136
149
  def supported?
137
150
  return @supported if defined?(@supported)
@@ -141,6 +154,7 @@ module IRB # :nodoc:
141
154
  def scan(code, allow_last_error:)
142
155
  pos = [1, 0]
143
156
 
157
+ verbose, $VERBOSE = $VERBOSE, nil
144
158
  lexer = Ripper::Lexer.new(code)
145
159
  if lexer.respond_to?(:scan) # Ruby 2.7+
146
160
  lexer.scan.each do |elem|
@@ -164,6 +178,7 @@ module IRB # :nodoc:
164
178
  yield(elem.event, elem.tok, elem.state)
165
179
  end
166
180
  end
181
+ $VERBOSE = verbose
167
182
  end
168
183
 
169
184
  def dispatch_seq(token, expr, str, in_symbol:)
@@ -192,7 +207,7 @@ module IRB # :nodoc:
192
207
  def scan_token(token)
193
208
  prev_state = @stack.last
194
209
  case token
195
- when :on_symbeg
210
+ when :on_symbeg, :on_symbols_beg, :on_qsymbols_beg
196
211
  @stack << true
197
212
  when :on_ident, :on_op, :on_const, :on_ivar, :on_cvar, :on_gvar, :on_kw
198
213
  if @stack.last # Pop only when it's Symbol
@@ -25,7 +25,7 @@ module IRB
25
25
  # +nil+:: uses stdin or Reidline or Readline
26
26
  # +String+:: uses a File
27
27
  # +other+:: uses this as InputMethod
28
- def initialize(irb, workspace = nil, input_method = nil, output_method = nil)
28
+ def initialize(irb, workspace = nil, input_method = nil)
29
29
  @irb = irb
30
30
  if workspace
31
31
  @workspace = workspace
@@ -39,8 +39,20 @@ module IRB
39
39
  @rc = IRB.conf[:RC]
40
40
  @load_modules = IRB.conf[:LOAD_MODULES]
41
41
 
42
- @use_readline = IRB.conf[:USE_READLINE]
43
- @use_reidline = IRB.conf[:USE_REIDLINE]
42
+ if IRB.conf.has_key?(:USE_SINGLELINE)
43
+ @use_singleline = IRB.conf[:USE_SINGLELINE]
44
+ elsif IRB.conf.has_key?(:USE_READLINE) # backward compatibility
45
+ @use_singleline = IRB.conf[:USE_READLINE]
46
+ else
47
+ @use_singleline = nil
48
+ end
49
+ if IRB.conf.has_key?(:USE_MULTILINE)
50
+ @use_multiline = IRB.conf[:USE_MULTILINE]
51
+ elsif IRB.conf.has_key?(:USE_REIDLINE) # backward compatibility
52
+ @use_multiline = IRB.conf[:USE_REIDLINE]
53
+ else
54
+ @use_multiline = nil
55
+ end
44
56
  @use_colorize = IRB.conf[:USE_COLORIZE]
45
57
  @verbose = IRB.conf[:VERBOSE]
46
58
  @io = nil
@@ -67,9 +79,9 @@ module IRB
67
79
  case input_method
68
80
  when nil
69
81
  @io = nil
70
- case use_reidline?
82
+ case use_multiline?
71
83
  when nil
72
- if STDIN.tty? && IRB.conf[:PROMPT_MODE] != :INF_RUBY && !use_readline?
84
+ if STDIN.tty? && IRB.conf[:PROMPT_MODE] != :INF_RUBY && !use_singleline?
73
85
  @io = ReidlineInputMethod.new
74
86
  else
75
87
  @io = nil
@@ -80,7 +92,7 @@ module IRB
80
92
  @io = ReidlineInputMethod.new
81
93
  end
82
94
  unless @io
83
- case use_readline?
95
+ case use_singleline?
84
96
  when nil
85
97
  if (defined?(ReadlineInputMethod) && STDIN.tty? &&
86
98
  IRB.conf[:PROMPT_MODE] != :INF_RUBY)
@@ -111,12 +123,6 @@ module IRB
111
123
  end
112
124
  self.save_history = IRB.conf[:SAVE_HISTORY] if IRB.conf[:SAVE_HISTORY]
113
125
 
114
- if output_method
115
- @output_method = output_method
116
- else
117
- @output_method = StdioOutputMethod.new
118
- end
119
-
120
126
  @echo = IRB.conf[:ECHO]
121
127
  if @echo.nil?
122
128
  @echo = true
@@ -161,18 +167,14 @@ module IRB
161
167
  # +input_method+ passed to Context.new
162
168
  attr_accessor :irb_path
163
169
 
164
- # Whether +Reidline+ is enabled or not.
165
- #
166
- # A copy of the default <code>IRB.conf[:USE_REIDLINE]</code>
170
+ # Whether multiline editor mode is enabled or not.
167
171
  #
168
- # See #use_reidline= for more information.
169
- attr_reader :use_reidline
170
- # Whether +Readline+ is enabled or not.
172
+ # A copy of the default <code>IRB.conf[:USE_MULTILINE]</code>
173
+ attr_reader :use_multiline
174
+ # Whether singleline editor mode is enabled or not.
171
175
  #
172
- # A copy of the default <code>IRB.conf[:USE_READLINE]</code>
173
- #
174
- # See #use_readline= for more information.
175
- attr_reader :use_readline
176
+ # A copy of the default <code>IRB.conf[:USE_SINGLELINE]</code>
177
+ attr_reader :use_singleline
176
178
  # Whether colorization is enabled or not.
177
179
  #
178
180
  # A copy of the default <code>IRB.conf[:USE_COLORIZE]</code>
@@ -264,10 +266,18 @@ module IRB
264
266
  # See IRB@Command+line+options for more command line options.
265
267
  attr_accessor :back_trace_limit
266
268
 
267
- # Alias for #use_reidline
268
- alias use_reidline? use_reidline
269
- # Alias for #use_readline
270
- alias use_readline? use_readline
269
+ # Alias for #use_multiline
270
+ alias use_multiline? use_multiline
271
+ # Alias for #use_singleline
272
+ alias use_singleline? use_singleline
273
+ # backward compatibility
274
+ alias use_reidline use_multiline
275
+ # backward compatibility
276
+ alias use_reidline? use_multiline
277
+ # backward compatibility
278
+ alias use_readline use_singleline
279
+ # backward compatibility
280
+ alias use_readline? use_singleline
271
281
  # Alias for #use_colorize
272
282
  alias use_colorize? use_colorize
273
283
  # Alias for #rc
@@ -398,17 +408,6 @@ module IRB
398
408
  @inspect_mode
399
409
  end
400
410
 
401
- # Obsolete method.
402
- #
403
- # Can be set using the +--noreadline+ and +--readline+ command line
404
- # options.
405
- #
406
- # See IRB@Command+line+options for more command line options.
407
- def use_readline=(opt)
408
- print "This method is obsolete."
409
- print "Do nothing."
410
- end
411
-
412
411
  def evaluate(line, line_no, exception: nil) # :nodoc:
413
412
  @line_no = line_no
414
413
  if exception
@@ -31,9 +31,12 @@ module IRB # :nodoc:
31
31
  end
32
32
 
33
33
  remove_method :eval_history= if method_defined?(:eval_history=)
34
- # The command result history limit.
34
+ # The command result history limit. This method is not available until
35
+ # #eval_history= was called with non-nil value (directly or via
36
+ # setting <code>IRB.conf[:EVAL_HISTORY]</code> in <code>.irbrc</code>).
35
37
  attr_reader :eval_history
36
- # Sets command result history limit.
38
+ # Sets command result history limit. Default value is set from
39
+ # <code>IRB.conf[:EVAL_HISTORY]</code>.
37
40
  #
38
41
  # +no+ is an Integer or +nil+.
39
42
  #
@@ -42,6 +45,9 @@ module IRB # :nodoc:
42
45
  # If +no+ is 0, the number of history items is unlimited.
43
46
  #
44
47
  # If +no+ is +nil+, execution result history isn't used (default).
48
+ #
49
+ # History values are available via <code>__</code> variable, see
50
+ # IRB::History.
45
51
  def eval_history=(no)
46
52
  if no
47
53
  if defined?(@eval_history) && @eval_history
@@ -59,20 +65,51 @@ module IRB # :nodoc:
59
65
  end
60
66
  end
61
67
 
62
- class History # :nodoc:
63
-
64
- def initialize(size = 16)
68
+ # Represents history of results of previously evaluated commands.
69
+ #
70
+ # Available via <code>__</code> variable, only if <code>IRB.conf[:EVAL_HISTORY]</code>
71
+ # or <code>IRB::CurrentContext().eval_history</code> is non-nil integer value
72
+ # (by default it is +nil+).
73
+ #
74
+ # Example (in `irb`):
75
+ #
76
+ # # Initialize history
77
+ # IRB::CurrentContext().eval_history = 10
78
+ # # => 10
79
+ #
80
+ # # Perform some commands...
81
+ # 1 + 2
82
+ # # => 3
83
+ # puts 'x'
84
+ # # x
85
+ # # => nil
86
+ # raise RuntimeError
87
+ # # ...error raised
88
+ #
89
+ # # Inspect history (format is "<item number> <evaluated value>":
90
+ # __
91
+ # # => 1 10
92
+ # # 2 3
93
+ # # 3 nil
94
+ #
95
+ # __[1]
96
+ # # => 10
97
+ #
98
+ class History
99
+
100
+ def initialize(size = 16) # :nodoc:
65
101
  @size = size
66
102
  @contents = []
67
103
  end
68
104
 
69
- def size(size)
105
+ def size(size) # :nodoc:
70
106
  if size != 0 && size < @size
71
107
  @contents = @contents[@size - size .. @size]
72
108
  end
73
109
  @size = size
74
110
  end
75
111
 
112
+ # Get one item of the content (both positive and negative indexes work).
76
113
  def [](idx)
77
114
  begin
78
115
  if idx >= 0
@@ -85,14 +122,14 @@ module IRB # :nodoc:
85
122
  end
86
123
  end
87
124
 
88
- def push(no, val)
125
+ def push(no, val) # :nodoc:
89
126
  @contents.push [no, val]
90
127
  @contents.shift if @size != 0 && @contents.size > @size
91
128
  end
92
129
 
93
130
  alias real_inspect inspect
94
131
 
95
- def inspect
132
+ def inspect # :nodoc:
96
133
  if @contents.empty?
97
134
  return real_inspect
98
135
  end