147 Commits

Author SHA1 Message Date
aycabta
555ea83344 [ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT
https://github.com/ruby/irb/commit/4c89b0775b
2020-09-19 05:13:08 +09:00
aycabta
8f9b1902f4 [ruby/irb] Omit output if first line of multiline is too long
https://github.com/ruby/irb/commit/0feeae38c5
2020-09-14 02:13:18 +09:00
aycabta
e468d9f49c [ruby/irb] Add OMIT_ON_ASSIGNMENT
Omit the results evaluated at assignment if they are too long.

The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand,
so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by
default. The result is displayed on assignment, but it will always be short
and within one line of the screen.

https://github.com/ruby/irb/commit/c5ea79d5ce
2020-09-14 02:13:11 +09:00
aycabta
6509652c13 Skip irb/test_history on Windows too 2020-08-20 13:24:55 +09:00
aycabta
f81811fc2f Skip Editline for history tests of IRB
Because Editline erases all histories in Readline::HISTORY when
Readline.readline is called.
2020-08-19 19:15:21 +09:00
aycabta
e2c2283a80 Skip irb/test_history on Solaris 2020-08-19 13:03:32 +09:00
aycabta
e939a5c29f Use "in" and "out" options of "system" instead of "replace_stdio" 2020-08-19 11:18:50 +09:00
aycabta
ca6868a430 Do "write" to temp stdin before "reopen" 2020-08-19 09:42:34 +09:00
Yusuke Endoh
bed6b7206a test/irb/test_history.rb: prevent warnings
```
/home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:16:
warning: assigned but unused variable - result_output
/home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:34:
warning: assigned but unused variable - result_output
/home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:57:
warning: assigned but unused variable - result_output
/home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:80:
warning: assigned but unused variable - result_output
```
2020-08-18 23:32:46 +09:00
aycabta
6767a9ef2b Lounch external process on Windows correctly 2020-08-18 21:43:19 +09:00
aycabta
01b6c520f5 [ruby/irb] Change the way the IRB is invoked as an external process
https://github.com/ruby/irb/commit/f4bcdf4375
2020-08-18 20:06:52 +09:00
aycabta
a30dea5852 [ruby/irb] Support shortening lambda notetion for nesting level of prompt
https://github.com/ruby/irb/commit/f1a775af47
2020-08-18 14:38:02 +09:00
aycabta
43c648c832 [ruby/irb] Support shortening lambda notation
https://github.com/ruby/irb/commit/8e3f81d428
2020-08-18 14:38:02 +09:00
aycabta
a388e2554c [ruby/irb] Add require 'irb' to test separately
https://github.com/ruby/irb/commit/9e4423b6e1
2020-08-18 14:38:01 +09:00
aycabta
126e1fc296 [ruby/irb] Make history infinite if set SAVE_HISTORY to negative
https://github.com/ruby/irb/commit/824473e880
2020-08-18 14:38:01 +09:00
aycabta
ef498a016b [ruby/irb] Suppress crash when bignum is set to SAVE_HISTORY
https://github.com/ruby/irb/commit/5044eb2730
2020-08-18 14:38:01 +09:00
aycabta
1359da6ec0 [ruby/irb] Add tests about IRB history
https://github.com/ruby/irb/commit/82efd370eb
2020-08-18 14:38:01 +09:00
aycabta
5474007d61 [ruby/irb] Support oneline method definition
https://github.com/ruby/irb/commit/826ae909c9
2020-08-18 14:38:01 +09:00
aycabta
ee2529dffe Sometimes result indicator (=>) isn't shown 2020-07-22 03:49:17 +09:00
aycabta
0faf02718a Use simple assersion 2020-07-22 03:13:17 +09:00
Nobuhiro IMAI
f6e789e3b0 [ruby/irb] handle rescue modifier properly
https://github.com/ruby/irb/commit/6de1341f5e
2020-07-22 02:31:47 +09:00
aycabta
22d38d5475 [ruby/irb] Add test_eval_object_without_inspect_method
https://github.com/ruby/irb/commit/c0d9a26bce
2020-07-22 02:31:47 +09:00
aycabta
4268084d69 [ruby/irb] Add encoding magic comments of editors
https://github.com/ruby/irb/commit/f8c10ea24b
2020-07-22 02:31:47 +09:00
aycabta
1dfd24a7fc [ruby/irb] Suppress incomplete encoding magic comment error
https://github.com/ruby/irb/commit/443e90af80
2020-07-22 02:31:46 +09:00
aycabta
78ccab2530 [ruby/irb] Suppress incomplete coding magic comment error
https://github.com/ruby/irb/commit/6a457edbd1
2020-07-22 02:31:46 +09:00
Koichi Sasada
c87ee8005b rubygems is needed to run solo-file test 2020-07-15 11:21:14 +09:00
Kazuhiro NISHIYAMA
4314c05377
Fix typos 2020-05-09 14:22:04 +09:00
Yusuke Endoh
1084b679bd Restore the external and internal encodings of STDIN, STDOUT, and STDERR
IRB::ReadlineInputMethod#initialize changes them via IRB.set_encoding.
2020-05-08 00:19:54 +09:00
Yusuke Endoh
3b147c4213 test/irb/test_cmd.rb: clear IRB.@CONF on setup
It caches a path to .irbrc file, which has caused random failure:

```
  1) Failure:
TestIRB::ExtendCommand#test_irb_info_multiline [/home/mame/work/ruby/test/irb/test_cmd.rb:49]:
Expected /
        Ruby\sversion: .+\n
        IRB\sversion:\sirb .+\n
        InputMethod:\sReidlineInputMethod\swith\sReline .+ and .+\n
        \.irbrc\spath: .+
      /x to match "Ruby version: 2.8.0\n" +
"IRB version: irb 1.2.3 (2020-02-15)\n" +
"InputMethod: ReidlineInputMethod with Reline 0.1.4 and /tmp/test_reline_config_155659/.inputrc\n".
```
2020-05-08 00:15:01 +09:00
Nobuyoshi Nakada
4a8acf4625
[ruby/irb] Restore the default encodings
IRB::ReadlineInputMethod#initialize sets via IRB.set_encoding.
2020-04-30 22:54:42 +09:00
Nobuyoshi Nakada
9d1b272b01
[ruby/irb] Suppress messages switching inspect mode 2020-04-30 11:57:08 +09:00
Nobuyoshi Nakada
b3ce6fa099
[ruby/irb] Relaxed regexp for readline
Readline::VERSION may not be a single word, e.g EditLine wrapper
when linked with editline.
2020-04-30 11:44:22 +09:00
aycabta
3864fbc6d8 [ruby/irb] Check existence of rc files in irb_info command
https://github.com/ruby/irb/commit/cdbb9dfc9f
2020-04-29 19:13:14 +09:00
aycabta
98a346d065 [ruby/irb] Add irb_info command
https://github.com/ruby/irb/commit/a6fe58e916
2020-04-29 19:13:14 +09:00
aycabta
22477128cd [ruby/irb] Suppress crashing when EncodingError has occurred without lineno
https://github.com/ruby/irb/commit/13572d8cdc
2020-03-26 17:41:21 +09:00
Kazuhiro NISHIYAMA
f5b7896921
Fix a typo [ci skip] 2020-02-29 15:14:01 +09:00
Nobuyoshi Nakada
5e7322b866 [ruby/irb] yield outside method definition is a syntax error
https://github.com/ruby/irb/commit/dbc7b059c7
2020-02-21 23:16:15 +09:00
Nobuhiro IMAI
961630126b [ruby/irb] fix reserved words and completion for them
https://github.com/ruby/irb/commit/6184b227ad
2020-02-15 21:52:03 +09:00
Yusuke Endoh
fad98c6c61 test/irb/test_completion.rb: suppress a warning: unused literal ignored 2020-02-14 00:07:28 +09:00
aycabta
15cacf1f55 Add test_complete_symbol
The previous version of the test method used a symbol, ":abcdefg" to complete
but longer symbols that can be completed are defined by other test methods of
other libs.
2020-02-12 19:40:10 +09:00
Hiroshi SHIBATA
166c4a6a28
Revert "[ruby/irb] Add test_complete_symbol"
This reverts commit 3af3431c2c145134996e66f3d8d9ade8ad81bde0.
2020-02-12 14:38:40 +09:00
aycabta
8b8cc01229 [ruby/irb] Fix auto indent with closed brace
A closed brace in auto-indent shouldn't affect the next brace in the same line,
but it behaves like below:

  p() {
    }

It's a bug.

https://github.com/ruby/irb/commit/fbe59e344f
2020-02-12 13:14:28 +09:00
aycabta
0719e1be11 [ruby/irb] Check doc namespace correctly
IRB::InputCompletor::PerfectMatchedProc crashes when doc not found because a
variable name was incorrect.

https://github.com/ruby/irb/commit/889fd4928f
2020-02-12 13:14:28 +09:00
aycabta
3af3431c2c [ruby/irb] Add test_complete_symbol
https://github.com/ruby/irb/commit/dbbf086c1f
2020-02-12 13:14:28 +09:00
Kenta Murata
51a8055d7d [ruby/irb] Add newline_before_multiline_output
https://github.com/ruby/irb/commit/9eb1801a66
2020-01-21 09:51:16 +09:00
Ben
c94025b630 [ruby/irb] Fix crashing when multiple open braces per line
https://github.com/ruby/irb/issues/55

If we had put multiple open braces on a line the with no closing brace
spaces_of_nest array keeps getting '0' added to it. This means that when
we pop off of this array we are saying that we should be in position zero
for the next line. This is an issue because we don't always want to be
in position 0 after a closing brace.

Example:
```
[[[
]
]
]
```
In the above example the 'spaces_of_nest' array looks like this after
the first line is entered: [0,0,0]. We really want to be indented 4
spaces for the 1st closing brace 2 for the 2nd and 0 for the 3rd. i.e.
we want it to be: [0,2,4].

We also saw this issue with a heredoc inside of an array.

```
[<<FOO]
hello
FOO
```

https://github.com/ruby/irb/commit/80c69c8272
2020-01-14 15:40:38 +09:00
Ben
9994eb8a5e [ruby/irb] Fix newline depth with multiple braces
This commit fixes the check_newline_depth_difference method to multiple
open braces on one line into account. Before this change we were
subtracting from the depth in check_newline_depth_difference on
every open brace. This is the right thing to do if the opening and
closing brace are on the same line. For example in a method definition we
have an opening and closing parentheses we want to add 1 to our depth,
and then remove it.

```
def foo()
end
```

However this isn't the correct behavior when the brace spans multiple
lines. If a brace spans multiple lines we don't want to subtract from
check_newline_depth_difference and we want to treat the braces the same
way as we do `end` and allow check_corresponding_token_depth to pop the
correct depth.

Example of bad behavior:

```
def foo()
  [
  ]
puts 'bar'
end
```

Example of desired behavior:

```
def foo()
  [
  ]
  puts 'bar'
end
```

https://github.com/ruby/irb/commit/7dc8af01e0
2020-01-14 15:40:38 +09:00
aycabta
049292e302 Add load path and require for ruby/ruby 2020-01-01 02:04:41 +09:00
aycabta
66e6055c11 [ruby/irb] Fix lib name of OpenStruct
https://github.com/ruby/irb/commit/1f3a84ab6b
2020-01-01 01:38:37 +09:00
aycabta
9deb942715 Add "require 'openstruct'" what is forgotten 2019-12-31 23:32:24 +09:00