ruby-changes:63015
From: aycabta <ko1@a...>
Date: Sat, 19 Sep 2020 05:14:57 +0900 (JST)
Subject: [ruby-changes:63015] 555ea83344 (master): [ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT
https://git.ruby-lang.org/ruby.git/commit/?id=555ea83344 From 555ea8334451c5ccd881e68b8b7ddc15745e66e3 Mon Sep 17 00:00:00 2001 From: aycabta <aycabta@g...> Date: Sat, 19 Sep 2020 04:25:59 +0900 Subject: [ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT https://github.com/ruby/irb/commit/4c89b0775b diff --git a/lib/irb.rb b/lib/irb.rb index d8e1209..bdf14f4 100644 --- a/lib/irb.rb +++ b/lib/irb.rb @@ -542,7 +542,7 @@ module IRB https://github.com/ruby/ruby/blob/trunk/lib/irb.rb#L542 if @context.echo? if assignment_expression?(line) if @context.echo_on_assignment? - output_value(@context.omit_on_assignment?) + output_value(@context.echo_on_assignment? == :truncate) end else output_value diff --git a/lib/irb/context.rb b/lib/irb/context.rb index 4f00172..0d358de 100644 --- a/lib/irb/context.rb +++ b/lib/irb/context.rb @@ -131,12 +131,7 @@ module IRB https://github.com/ruby/ruby/blob/trunk/lib/irb/context.rb#L131 @echo_on_assignment = IRB.conf[:ECHO_ON_ASSIGNMENT] if @echo_on_assignment.nil? - @echo_on_assignment = true - end - - @omit_on_assignment = IRB.conf[:OMIT_ON_ASSIGNMENT] - if @omit_on_assignment.nil? - @omit_on_assignment = true + @echo_on_assignment = :truncate end @newline_before_multiline_output = IRB.conf[:NEWLINE_BEFORE_MULTILINE_OUTPUT] @@ -256,27 +251,24 @@ module IRB https://github.com/ruby/ruby/blob/trunk/lib/irb/context.rb#L251 attr_accessor :echo # Whether to echo for assignment expressions # - # Uses <code>IRB.conf[:ECHO_ON_ASSIGNMENT]</code> if available, or defaults to +true+. + # If set to +false+, the value of assignment will not be shown. + # + # If set to +true+, the value of assignment will be shown. + # + # If set to +:truncate+, the value of assignment will be shown and truncated. + # + # It defaults to +:truncate+. # # a = "omg" # #=> omg + # a = "omg" * 10 + # #=> omgomgomgomgomgomgomg... # IRB.CurrentContext.echo_on_assignment = false # a = "omg" + # IRB.CurrentContext.echo_on_assignment = true + # a = "omg" + # #=> omgomgomgomgomgomgomgomgomgomg attr_accessor :echo_on_assignment - # Whether to omit echo for assignment expressions - # - # Uses <code>IRB.conf[:OMIT_ON_ASSIGNMENT]</code> if available, or defaults to +true+. - # - # a = [1] * 10 - # #=> [1, 1, 1, 1, 1, 1, 1, 1, ... - # [1] * 10 - # #=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] - # IRB.CurrentContext.omit_on_assignment = false - # a = [1] * 10 - # #=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] - # [1] * 10 - # #=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] - attr_accessor :omit_on_assignment # Whether a newline is put before multiline output. # # Uses <code>IRB.conf[:NEWLINE_BEFORE_MULTILINE_OUTPUT]</code> if available, @@ -325,7 +317,6 @@ module IRB https://github.com/ruby/ruby/blob/trunk/lib/irb/context.rb#L317 alias ignore_eof? ignore_eof alias echo? echo alias echo_on_assignment? echo_on_assignment - alias omit_on_assignment? omit_on_assignment alias newline_before_multiline_output? newline_before_multiline_output # Returns whether messages are displayed or not. diff --git a/lib/irb/init.rb b/lib/irb/init.rb index 4438360..e60b526 100644 --- a/lib/irb/init.rb +++ b/lib/irb/init.rb @@ -52,7 +52,6 @@ module IRB # :nodoc: https://github.com/ruby/ruby/blob/trunk/lib/irb/init.rb#L52 @CONF[:IGNORE_EOF] = false @CONF[:ECHO] = nil @CONF[:ECHO_ON_ASSIGNMENT] = nil - @CONF[:OMIT_ON_ASSIGNMENT] = nil @CONF[:VERBOSE] = nil @CONF[:EVAL_HISTORY] = nil @@ -178,10 +177,8 @@ module IRB # :nodoc: https://github.com/ruby/ruby/blob/trunk/lib/irb/init.rb#L177 @CONF[:ECHO_ON_ASSIGNMENT] = true when "--noecho-on-assignment" @CONF[:ECHO_ON_ASSIGNMENT] = false - when "--omit-on-assignment" - @CONF[:OMIT_ON_ASSIGNMENT] = true - when "--noomit-on-assignment" - @CONF[:OMIT_ON_ASSIGNMENT] = false + when "--truncate-echo-on-assignment" + @CONF[:ECHO_ON_ASSIGNMENT] = :truncate when "--verbose" @CONF[:VERBOSE] = true when "--noverbose" diff --git a/test/irb/test_context.rb b/test/irb/test_context.rb index fa628bb..a57557a 100644 --- a/test/irb/test_context.rb +++ b/test/irb/test_context.rb @@ -228,7 +228,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L228 irb.context.echo = true irb.context.echo_on_assignment = false - irb.context.omit_on_assignment = true out, err = capture_io do irb.eval_input end @@ -237,8 +236,7 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L236 input.reset irb.context.echo = true - irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = true + irb.context.echo_on_assignment = :truncate out, err = capture_io do irb.eval_input end @@ -248,7 +246,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L246 input.reset irb.context.echo = true irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = false out, err = capture_io do irb.eval_input end @@ -258,7 +255,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L255 input.reset irb.context.echo = false irb.context.echo_on_assignment = false - irb.context.omit_on_assignment = true out, err = capture_io do irb.eval_input end @@ -267,8 +263,7 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L263 input.reset irb.context.echo = false - irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = true + irb.context.echo_on_assignment = :truncate out, err = capture_io do irb.eval_input end @@ -278,7 +273,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L273 input.reset irb.context.echo = false irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = false out, err = capture_io do irb.eval_input end @@ -298,7 +292,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L292 irb.context.echo = true irb.context.echo_on_assignment = false - irb.context.omit_on_assignment = true out, err = capture_io do irb.eval_input end @@ -308,8 +301,7 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L301 input.reset irb.context.echo = true - irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = true + irb.context.echo_on_assignment = :truncate out, err = capture_io do irb.eval_input end @@ -320,7 +312,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L312 input.reset irb.context.echo = true irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = false out, err = capture_io do irb.eval_input end @@ -331,7 +322,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L322 input.reset irb.context.echo = false irb.context.echo_on_assignment = false - irb.context.omit_on_assignment = true out, err = capture_io do irb.eval_input end @@ -341,8 +331,7 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L331 input.reset irb.context.echo = false - irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = true + irb.context.echo_on_assignment = :truncate out, err = capture_io do irb.eval_input end @@ -353,7 +342,6 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L342 input.reset irb.context.echo = false irb.context.echo_on_assignment = true - irb.context.omit_on_assignment = false out, err = capture_io do irb.eval_input end @@ -370,26 +358,22 @@ module TestIRB https://github.com/ruby/ruby/blob/trunk/test/irb/test_context.rb#L358 irb = IRB::Irb.new(IRB::WorkSpace.new(Object.new), input) assert(irb.context.echo?, "echo? should be true by default") - assert(irb.context.echo_on_assignment?, "echo_on_assignment? should be true by default") - assert(irb.context.omit_on_assignment?, "omit_on_assignment? should be true by default") + assert_equal(:truncate, irb.context.echo_on_assignment?, "echo_on_assignment? should be :truncate by default") # Explicitly set :ECHO to false IRB.conf[:ECHO] = false irb = IRB::Irb.new(IRB::WorkSpace.new(Object.new), input) refute(irb.context.echo?, "echo? should be false when IRB.conf[:ECHO] is set to false") - assert(irb.context.echo_on_assignment?, "echo_on_assignment? should be true by default") - assert(irb.context.omit_on_assignment?, "omit_on_assignment? should be true by default") + assert_equal(:truncate, irb.context.echo_on_assignment?, "echo_on_assignment? should be :truncate by default") # Explicitly set :ECHO_ON_ASSIGNMENT to true IRB.conf[:ECHO] = nil IRB.conf[:ECHO_ON_ASSIGNMENT] = false - IRB.conf[:OMIT_ON_ASSIGNMENT] = false irb = IRB::Irb.new(IRB::WorkSpace.new(Object.new), input) assert(irb.context.echo?, "echo? should be true by default") refute(irb.context.echo_on_assignment?, "echo_on_assignment? should be false when IRB.conf[:ECHO_ON_ASSIGNMENT] is set to fal (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/