55987 Commits

Author SHA1 Message Date
Samuel Williams
5855af73b8 Basic assertions for thread initialization. 2019-06-19 20:39:10 +12:00
Samuel Williams
8121a523c3 Use stack size defaults for win32 threads. 2019-06-19 20:39:10 +12:00
Samuel Williams
b8e4bea780 Track how stack was allocated for cont_free. 2019-06-19 20:39:10 +12:00
Samuel Williams
4b3b781c66 Ensure execution context is cleared after thread is finished. 2019-06-19 20:39:10 +12:00
Samuel Williams
38791145eb Better handling of root fiber. 2019-06-19 20:39:10 +12:00
Samuel Williams
7c7a1c2212 Fix handling of vm_stack_size and avoid trying to deallocate it. 2019-06-19 20:39:10 +12:00
Samuel Williams
b24603adff Move vm stack init into thread. 2019-06-19 20:39:10 +12:00
Samuel Williams
69195fd9b2 Show thread and fiber limits as part of bootstrap tests. 2019-06-19 20:39:10 +12:00
Samuel Williams
3fd83cb6fc Improve benchmarks and tests for threads. 2019-06-19 20:39:10 +12:00
Samuel Williams
a6a4e86029 Ignore /build*. 2019-06-19 20:39:10 +12:00
Nobuyoshi Nakada
e690df1f1e
Marshal distant past/future
[Feature #15160]
2019-06-19 15:26:53 +09:00
Nobuyoshi Nakada
8797f48373
New buffer for shared string
* string.c (rb_str_init): allocate new buffer if the string is
  shared.  [Bug #15937]
2019-06-19 14:39:19 +09:00
Takashi Kokubun
148f50fc78
Update homebrew on Travis
because Travis is crashing like "Error: Your Homebrew is outdated.
Please run `brew update`."
https://travis-ci.org/ruby/ruby/jobs/547485832
2019-06-19 10:09:37 +09:00
Nobuyoshi Nakada
28678997e4
Preserve the string content at self-copying
* string.c (rb_str_init): preserve the embedded content when
  self-copying with a capacity.  [Bug #15937]
2019-06-19 09:44:26 +09:00
aycabta
d009e321a0 Use IRB.conf[:AUTO_INDENT] setting in multiline mode 2019-06-19 09:19:41 +09:00
git
c972932986 * 2019-06-19 2019-06-19 08:29:23 +09:00
aycabta
85ff2d74a2 Avoid auto indent in prompt when dynamic auto indent 2019-06-19 08:28:00 +09:00
aycabta
84903b31c8 Fix auto indent crash when blank input 2019-06-18 21:58:05 +09:00
aycabta
32e65e9e5a Print starting debug message with RELINE_STDERR_TTY 2019-06-18 21:58:05 +09:00
Takashi Kokubun
af800b8ca2
Now test-bundler is not working on macOS either
Let's stop reporting the failure until it gets stable.
We can see the build status on console with this config anyway.
2019-06-18 21:22:07 +09:00
aycabta
235e72f17e Implement auto indent for multiline 2019-06-18 20:58:18 +09:00
Kazuhiro NISHIYAMA
e6aa0a61fa
[DOC] non-nil $,,$; will be deprecated [ci skip]
```
% ruby -e '$,=""; $;=""'
-e:1: warning: non-nil $, will be deprecated
-e:1: warning: non-nil $; will be deprecated
```
2019-06-18 17:31:42 +09:00
Nobuyoshi Nakada
8b3774be3d
Fix memory leak
* string.c (str_make_independent_expand): free independent buffer.
  [Bug# 15935]

Co-Authored-By: luke-gru (Luke Gruber) <luke.gru@gmail.com>
2019-06-18 13:40:04 +09:00
git
c770c98ac4 * expand tabs. 2019-06-18 12:21:38 +09:00
Alan Wu
9dec4e8fc3
String#b: Don't depend on dependent string
Registering a string that depend on a dependent string as fstring
can lead to use-after-free. See c06ddfe and 3f95620 for details.

The following script triggers use-after-free on trunk, 2.4.6, 2.5.5
and 2.6.3. Credits to @wanabe for using eval as a cross-version way
of registering a fstring.

```ruby
a = ('j' * 24).b.b
eval('', binding, a)

p a
4.times { GC.start }
p a
```

 - string.c (str_replace_shared_without_enc): when given a
   dependent string, depend on the root of the dependent
   string.

[Bug #15934]
2019-06-18 12:18:13 +09:00
git
39a8c71424 * 2019-06-18 2019-06-18 06:05:43 +09:00
Jeremy Evans
c8edf70cd2 Update documentation for File.executable{,_real}? to mention Windows issues
Fixes [Bug #15664]
2019-06-17 13:57:43 -07:00
Nobuyoshi Nakada
801d0d9dd7
Support Bison 3 in ripper 2019-06-17 23:25:47 +09:00
Nobuyoshi Nakada
c8e9e0b74b
Fix wrong "void value expression" error
* parse.y (value_expr_check): `then` or `else` only `if` is not a
  void value expression, as the counterpart is evaluated as `nil`.
  [Bug #15932]
2019-06-17 22:30:52 +09:00
Nobuyoshi Nakada
01b3a38043
Fix wrong "void value expression" error
* parse.y (value_expr_check): if either of `then` or `else`
  statements is not a void value expression, the whole `if` is not
  also a void value expression.  [Bug #15932]
2019-06-17 21:44:06 +09:00
git
09a846085c * 2019-06-17 2019-06-17 19:56:35 +09:00
Nobuyoshi Nakada
a064e46762
Support Bison 3 2019-06-17 03:09:52 +09:00
Nobuyoshi Nakada
53e9908d8a
Fix memory leak
* string.c (str_replace_shared_without_enc): free previous buffer
  before replaced.

* parse.y (gettable): make sure in advance that the `__FILE__`
  object shares a fstring, to get rid of replacement with the
  fstring later.
  TODO: this hack may be needed in other places.

[Bug #15916]

Co-Authored-By: luke-gru (Luke Gruber) <luke.gru@gmail.com>
2019-06-16 23:51:22 +09:00
git
d4929f5185 * expand tabs. 2019-06-16 23:01:46 +09:00
Yusuke Endoh
1ff26dc4c7 Revert "Make constant assignments more conforming to JIS X 3017:2013 11.4.2.2.3"
This reverts commit 44caca11cfa6bea01a1ef738846183f1a56d5658.

The change caused a build failure.
http://ci.rvm.jp/results/trunk-vm-asserts@silicon-docker/2102153
2019-06-16 23:00:05 +09:00
git
11f8c89171 * expand tabs. 2019-06-16 22:48:23 +09:00
Yuki Yugui Sonoda
44caca11cf Make constant assignments more conforming to JIS X 3017:2013 11.4.2.2.3
compile.c (NODE_CDECL): Evaluate the module before the value
test/ruby/test_const.rb (test_evaluation_order): added a test case
2019-06-16 22:43:03 +09:00
aycabta
2fb1564c02 Implement line_no correctly 2019-06-16 14:46:28 +09:00
nagachika
17e6536fe0 tool/redmine-backporter.rb: Change redmine git revisions URL path. 2019-06-16 11:59:59 +09:00
git
72cc5cf019 * 2019-06-16 2019-06-16 11:46:37 +09:00
nagachika
ee7999bb84 tool/redmine-backporter.rb: Add parens to fix condition for svn revision search. 2019-06-16 11:39:12 +09:00
Nobuyoshi Nakada
5d79054906
Revert github/pull/2230, commit miss 2019-06-15 12:04:16 +09:00
Nobuyoshi Nakada
6fa4c90448
Prefer enum yytokentype to int 2019-06-15 11:58:02 +09:00
Josh Cheek
46527e1bf4
Test for blank lines between leadinig dot method chains 2019-06-15 11:25:38 +09:00
Josh Cheek
b8730f1251
Multiline method chain with leading dot works for blank lines 2019-06-15 11:25:38 +09:00
Josh Cheek
2240de98c0
Remove blank line I accidentally added 2019-06-15 11:25:38 +09:00
Josh Cheek
162bfa1c7c
Test comments between multiline method chain 2019-06-15 11:25:38 +09:00
Josh Cheek
cc180e9371
Rename LINEND to EMPTYLN 2019-06-15 11:25:38 +09:00
Josh Cheek
5af5dd4639
Omg, it works!
I'll rename it and squash this commit later,
just wanted to make sure I couldn't lose it
(took a long time to come up with).
2019-06-15 11:25:13 +09:00
git
e6aefe2a13 * 2019-06-15 2019-06-15 11:09:33 +09:00