Граф коммитов

55787 Коммитов

Автор SHA1 Сообщение Дата
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 44caca11cf.

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