65599 Commits

Author SHA1 Message Date
S.H
178a2a1a12
Remove unneeded declarations in bignum.c 2021-03-20 20:55:58 +09:00
Kenichi Kamiya
7954bb056b Some Hash destructive methods ensure the receiver modifiable [Bug #17736]
refs:

* https://bugs.ruby-lang.org/issues/17736
* https://github.com/ruby/ruby/pull/4296

This commit aims to cover following methods

* Hash#select!
* Hash#filter!
* Hash#keep_if
* Hash#reject!
* Hash#delete_if

I think these are not all.

---

* Ensure the receiver is modifiable or not
* Assert the receiver is not modified
2021-03-20 20:46:15 +09:00
Takashi Kokubun
278522f053 [ruby/irb] Don't call Ruby 2.4+'s String#pretty_print
https://github.com/ruby/irb/commit/89bcf107be
2021-03-20 20:25:32 +09:00
Nobuyoshi Nakada
e019dd24df
Ensure the receiver is modifiable before shrinking [Bug #17736]
* Ensure the receiver is modifiable before shinking [Bug #17736]

* Assert the receivers are not modified
2021-03-20 19:15:38 +09:00
S.H
bf3eaf39df
Remove unused rb_ast_parse_array declaration 2021-03-20 18:07:54 +09:00
Kenichi Kamiya
2d6617d327
Fix typos in rhash.h (#4292) 2021-03-19 19:12:03 -07:00
Nobuyoshi Nakada
4ea9df0135
No longer aclocal is used [ci skip] 2021-03-20 09:12:08 +09:00
Takashi Kokubun
f9dc5db38e [ruby/irb] Add all lib files automatically
https://github.com/ruby/irb/commit/ecc82336b7
2021-03-20 07:36:21 +09:00
git
2b0e5872c7 * 2021-03-20 [ci skip] 2021-03-20 03:05:35 +09:00
Yusuke Endoh
1c6f5ca4d4 configure.ac: enable FORCE_FILESYSTEM for Emscripten 2021-03-20 03:04:55 +09:00
aycabta
0428c2e7df [ruby/irb] Define "measure" command without forced override
https://github.com/ruby/irb/commit/9587ba13b5
2021-03-19 23:34:34 +09:00
Nobuyoshi Nakada
9e71f1aa4c
Include CommonCrypto/CommonCryptoError.h for old Xcode 2021-03-19 18:56:41 +09:00
Rick Mark
dc7044eb48
Remove unneeded dependencies on macOS [Feature #17730] 2021-03-19 15:27:42 +09:00
Nobuyoshi Nakada
4ea96f1d4f
Use CommonRandom if available 2021-03-19 15:23:03 +09:00
Marc-Andre Lafortune
a85ed626f1 Fix Enumerable#inject with high negative fixnums [Bug #17731] 2021-03-19 00:21:41 -04:00
Yusuke Endoh
c576e63ee7 gc.c: Use dedicated APIs for conservative GC in Emscripten
Emscripten provides "emscripten_scan_stack" to get the beginning and end
pointers of the stack for conservative GC.
Also, "emscripten_scan_registers" allows the GC to mark local variables
in WASM.
2021-03-19 12:35:48 +09:00
Yusuke Endoh
e79b42c9b2 configure.ac: don't use pthread_sigmask in emscripten 2021-03-19 12:32:33 +09:00
Yusuke Endoh
d97ed004e8 configure.ac: avoid spaces in a LDFLAGS option
Seems like it confuses "make ruby" for emscripten.
2021-03-19 12:30:59 +09:00
Nobuyoshi Nakada
f748b911c9 Fix infinite loop at illegal sequence [Bug #17729]
As mblen returns -1 on failure, skip the first byte and try the
succeeding bytes in that case.

Close https://github.com/ruby/ruby/pull/4281
2021-03-19 07:15:55 +09:00
S-H-GAMELINKS
cc281bd7ac Remove duplicated float_arg defination 2021-03-19 07:07:23 +09:00
git
dae71be2c8 * 2021-03-19 [ci skip] 2021-03-19 04:03:33 +09:00
Alan Wu
b9908ea666 Make a few functions static 2021-03-18 15:03:14 -04:00
Marc-Andre Lafortune
0ef2923c2b Avoid rehashing in Hash#replace/dup/initialize_copy [Bug #16996] 2021-03-18 07:34:40 -04:00
Marc-Andre Lafortune
d094c3ef04 Avoid rehashing in Hash#select/reject [Bug #16996] 2021-03-18 07:34:40 -04:00
Kazuhiro NISHIYAMA
85f99f4b71
Try to fix errors in TestIRB::TestHistory too
https://github.com/ruby/actions/runs/2137935523?check_suite_focus=true#step:9:562
```
  1) Error:
TestIRB::TestHistory#test_history_concurrent_use:
Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb
    /home/runner/work/actions/actions/ruby/lib/fileutils.rb:253:in `mkdir'
    /home/runner/work/actions/actions/ruby/lib/fileutils.rb:253:in `fu_mkdir'
    /home/runner/work/actions/actions/ruby/lib/fileutils.rb:231:in `block (2 levels) in mkdir_p'
    /home/runner/work/actions/actions/ruby/lib/fileutils.rb:229:in `reverse_each'
    /home/runner/work/actions/actions/ruby/lib/fileutils.rb:229:in `block in mkdir_p'
    /home/runner/work/actions/actions/ruby/lib/fileutils.rb:211:in `each'
    /home/runner/work/actions/actions/ruby/lib/fileutils.rb:211:in `mkdir_p'
    /home/runner/work/actions/actions/ruby/lib/irb/init.rb:355:in `rc_file_generators'
    /home/runner/work/actions/actions/ruby/lib/irb/init.rb:330:in `rc_file'
    /home/runner/work/actions/actions/ruby/test/irb/test_history.rb:170:in `block in assert_history'
    /home/runner/work/actions/actions/ruby/lib/tmpdir.rb:96:in `mktmpdir'
    /home/runner/work/actions/actions/ruby/test/irb/test_history.rb:168:in `assert_history'
    /home/runner/work/actions/actions/ruby/test/irb/test_history.rb:133:in `test_history_concurrent_use'
```
2021-03-18 18:07:18 +09:00
Kazuhiro NISHIYAMA
e0dd072978
Fix errors when XDG_CONFIG_HOME points to non-writable directory
`$HOME/.config` is not writable on CI
because I think tests should not corrupt user's data.

And GitHub Actions CI sets `XDG_CONFIG_HOME`
since `Version: 20210309.1`.

https://github.com/ruby/actions/runs/2130811016?check_suite_focus=true#step:16:301
```
Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb
```
2021-03-18 15:20:41 +09:00
git
05ebaee80e * 2021-03-18 [ci skip] 2021-03-18 02:55:53 +09:00
Aaron Patterson
04a814931a return bool instead of VALUE 2021-03-17 10:55:37 -07:00
Aaron Patterson
8359821870 Use rb_fstring for "defined" strings.
We can take advantage of fstrings to de-duplicate the defined strings.
This means we don't need to keep the list of defined strings on the VM
(or register them as mark objects)
2021-03-17 10:55:37 -07:00
Aaron Patterson
ea817c60fc Refactor vm_defined to return a boolean
We just need this function to return whether or not the thing we're
looking for is defined.  If it's defined, return something true,
otherwise false.
2021-03-17 10:55:37 -07:00
Aaron Patterson
c3971bea33 Stop calling rb_iseq_defined_string in vm_defined
We already have access to the string from the iseqs, so we can stop
calling this function.
2021-03-17 10:55:37 -07:00
Aaron Patterson
17bf478de1 Store strings for defined in the iseqs
We can know the string used for "defined" calls at compile time, then
store the string in the instruction sequences
2021-03-17 10:55:37 -07:00
Nobuyoshi Nakada
366e88e508
[DOC] Update README [ci skip]
* Use `autogen.sh`.
* The subversion repository is only for old versions, and
  secondary now.
* Moved long links to footnotes.
2021-03-17 23:55:03 +09:00
Yusuke Endoh
1d80d70314 autogen.sh: Make it work with sh (not bash) 2021-03-17 23:13:22 +09:00
Kazuhiro NISHIYAMA
5b54dc9ab2
Remove unused DEFAULT_KCODE 2021-03-17 21:00:46 +09:00
Nobuyoshi Nakada
447feb0aa0
Improved autogen.sh
* update in the source directory
* make symbolic links instead of copies
* forward the arguments to autoreconf as-is
2021-03-17 19:51:13 +09:00
卜部昌平
f9e4378299
get rid of aclocal (#4280) 2021-03-17 18:52:53 +09:00
Yusuke Endoh
83f96642d2 autogen.sh: Allow AUTORECONF envvar to specify the autoreconf executable 2021-03-17 17:17:18 +09:00
Yusuke Endoh
4250d7c910 autogen.sh: Added
Currently it just runs "autoreconf --install"
2021-03-17 16:54:50 +09:00
NARUSE, Yui
d58daad37b [Feature #17684] Declare --disable-gems is for debugging 2021-03-17 15:36:05 +09:00
Nobuyoshi Nakada
3260602fa3
Adjusted indents [ci skip] 2021-03-17 09:49:17 +09:00
Jeremy Evans
58660e9434 Skip refined method when exporting methods with changed visibility
Previously, attempting to change the visibility of a method in a
singleton class for a class/module that is prepended to and refined
would raise a NoMethodError.

Fixes [Bug #17519]
2021-03-16 12:10:11 -07:00
Sorah Fukumori
756e8a2cf3
test_zlib(test_path_tmpfile): fix Zlib instance leak
follow-up: commit cf831f49189c4a890da6845e39199a5dfaf4fb48
2021-03-17 02:42:31 +09:00
Sorah Fukumori
cf831f4918
zlib: fix Gzip{Writer,Reader}.new fails with a O_TMPFILE file 2021-03-17 02:16:27 +09:00
Matt Valentine-House
a47697aa44 LLDB: Introduce dump_page helper
This dumps out object type information for every object on a page in the
form:

bits [LM R ] T_CLASS    [389]: Addr: 0x1007ebcf0 (flags: 0x100000062)
2021-03-16 08:19:37 -07:00
Matt Valentine-House
1dca333599 LLDB: Extract a dump_bits function from rp
that dumps the heap page bitmaps for a slot
2021-03-16 08:19:37 -07:00
git
d33159a2f1 * 2021-03-17 [ci skip] 2021-03-17 00:01:08 +09:00
Nobuyoshi Nakada
382d3a4516
Improve Enumerable#tally performance
Iteration per second (i/s)

|       |compare-ruby|built-ruby|
|:------|-----------:|---------:|
|tally  |      52.814|   114.936|
|       |           -|     2.18x|
2021-03-16 23:06:41 +09:00
Kazuki Yamaguchi
e61e9bcfb2 test/openssl/test_config: skip tests for .include on older OpenSSL
The .include directive was initially added by OpenSSL 1.1.1, but the
syntax was later modified in 1.1.1b to improve compatibility with the
parser in <= 1.1.0. The test case expects 1.1.1b's parser.

95f59d398c

The test case is failing on Ubuntu 18.04 because it still uses the
initial 1.1.1 release:

http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20210316T120003Z.fail.html.gz
2021-03-16 22:30:33 +09:00
Kazuki Yamaguchi
44d67128a8 test/openssl/test_cipher: skip AES-CCM tests on OpenSSL <= 1.1.1b
AES CCM mode in OpenSSL <= 1.1.1b was overly strict in the parameters
assignment order. This has been relaxed by OpenSSL 1.1.1c.

b48e3be947

The test case is failing on Ubuntu 18.04 because it still uses the
initial 1.1.1 release and has the issue:

http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20210316T120003Z.fail.html.gz
2021-03-16 22:30:18 +09:00