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

57524 Коммитов

Автор SHA1 Сообщение Дата
卜部昌平 bfe5d22f89 drop-in type check for rb_define_private_method
We can check the function pointer passed to rb_define_private_method
like how we do so in rb_define_method.  Doing so revealed some
problematic usages of rb_obj_dummy.  They had to be split according
to their arity.
2019-08-29 18:34:09 +09:00
卜部昌平 9b429eb3b1 drop-in type check for rb_define_protected_method
We can check the function pointer passed to
rb_define_protected_method like how we do so in rb_define_method.
This changeset revealed no prototypes mismatches.
2019-08-29 18:34:09 +09:00
卜部昌平 0b81e7d6e2 drop-in type check for rb_define_method_id
We can check the function pointer passed to rb_define_method_id
like how we do so in rb_define_method.  This method is relatively
rarely used so there are less problems found than the other APIs.
2019-08-29 18:34:09 +09:00
卜部昌平 0766f67168 move docs around [ci skip]
To properly generate documents.
2019-08-29 18:34:09 +09:00
卜部昌平 7bcfd9189a drop-in type check for rb_define_global_function
We can check the function pointer passed to rb_define_global_function
like we do so in rb_define_method.  It turns out that almost anybody
is misunderstanding the API.
2019-08-29 18:34:09 +09:00
卜部昌平 7b6fde4258 drop-in type check for rb_define_module_function
We can check the function pointer passed to rb_define_module_function
like how we do so in rb_define_method.  The difference is that this
changeset reveales lots of atiry mismatches.
2019-08-29 18:34:09 +09:00
卜部昌平 9ef51b0b89 drop-in type check for rb_define_method
The rb_define_method function takes a pointer to ANYARGS-ed functions,
which in fact varies 18 different prototypes.  We still need to
preserve ANYARGS for storages but why not check the consistencies if
possible.

Q&As:

Q: Where did the magic number "18" came from in the description above?

A: Count the case branch of vm_method.c:call_cfunc_invoker_func().
   Note also that the 18 branches has lasted for at least 25 years.
   See also 200e0ee2fd.

Q: What is this __weakref__ thing?

A: That is a kind of function overloading mechanism that GCC provides.
   In this case for instance rb_define_method0 is an alias of
   rb_define_method, with a strong type.

Q: What is this __transparent_union__ thing?

A: That is another kind of function overloading mechanism that GCC
   provides.  In this case the attributed function pointer is either
   VALUE(*)(int,VALUE*,VALUE) or VALUE(*)(int,const VALUE*,VALUE).

   This is better than void* or ANYARGS because we can reject all
   other possibilities than the two.

Q: What does this rb_define_method macro mean?

A: It selects appropriate alias of the rb_define_method function,
   depending on the arity.

Q: Why the prototype change of rb_f_notimplement?

A: Function pointer to rb_f_notimplement is special cased in
   vm_method.c:rb_add_method_cfunc().  That should be handled by the
   __builtin_choose_expr chain inside of rb_define_method macro
   expansion.  In order to do so, comparison like (func ==
   rb_f_notimplement) is inappropriate for __builtin_choose_expr's
   expression (which must be a compile-time integer constant but the
   address of rb_f_notimplement is not fixed until the linker).  So
   instead we are using __builtin_types_compatible_p, and in doing so
   we need to distinguish rb_f_notimplement from others, by type.
2019-08-29 18:34:09 +09:00
卜部昌平 48e346a088 fix arity of bug_start
This is just a trivial mistake introduced in
0f36e8fc03.
2019-08-29 18:34:09 +09:00
卜部昌平 69683968a9 fix arity of rb_mutex_synchronize_m
This is just a trivial mistake introduced in
6c56dae4b2.
2019-08-29 18:34:09 +09:00
Nobuyoshi Nakada abe12d8b96
Freeze method reference operator object
[Feature #16103]
2019-08-29 16:58:21 +09:00
Nobuyoshi Nakada 2ed68d0ff9
Revert "Add pipeline operator [Feature #15799]"
This reverts commits:
* d365fd5a02
* d780c36624
* aa7211836b
* 043f010c28
* bb4dd7c6af05c7821d572e2592ea3d0cc748d81f
* 043f010c28
* f169043d81

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/94645
2019-08-29 15:27:59 +09:00
aycabta 893900dc78 Add stub set_screen_size for other platforms 2019-08-29 15:21:00 +09:00
git 07f9cd96f3 * 2019-08-29 [ci skip] 2019-08-29 15:12:37 +09:00
aycabta 0f405541bf Support SIGWINCH 2019-08-29 14:37:19 +09:00
Kazuhiro NISHIYAMA 682aaf6af5
Replace numbered parameters with named parameters [ci skip] 2019-08-29 14:35:09 +09:00
Nobuyoshi Nakada 761346a960
Show the previous definition location,
when reopened class/module redefinition mismatched the previous
definition.  [Feature #11460]
2019-08-29 13:24:00 +09:00
Nobuyoshi Nakada d3e0bc07e2
Fixed a comment [ci skip]
A range literal in conditional expression is turned into a
flip-flop, as a Range object is never falsy and does not make a
sense.
2019-08-29 11:23:16 +09:00
Nobuyoshi Nakada 1cf5a31e7a
Aseert exception at negative step for non-endless range too 2019-08-29 11:16:17 +09:00
Nobuyoshi Nakada d92289cd8d
Revert "Remove warnings of flip-flop deprecation from tests and specs"
This reverts commit bf7a32d220.

flip-flop is no longer deprecated.

[Feature #5400]
2019-08-29 11:10:45 +09:00
Jeremy Evans cd0e208963 Document {n}? regexp pattern is optional and not non-greedy [ci skip]
While not consistent with {n,}?, {,m}?, and {n,m}?, it is arguably
more useful, as otherwise the ? would have no effect.

Fixes [Bug #15583]
2019-08-28 11:50:33 -07:00
aycabta e82719c651 Remove jquery.js from file list of rdoc.gemspec 2019-08-28 19:47:22 +09:00
Nobuyoshi Nakada c1d0b6adfc
Revert "Treat RUBY_REVISION as an integer on old rubies"
This reverts commit 6454808c52.

It is no longer needed, as `VCS::SVN#get_revisions` now returns
`Integer` as revision numbers, and `short_revision` should deal
with it.
2019-08-28 16:51:49 +09:00
Nobuyoshi Nakada b11d739444
Fix warnings
`_FILE_OFFSET_BITS` should be defined before system headers.
2019-08-28 16:51:48 +09:00
Nobuyoshi Nakada a506b7f35a Adjusted indents and supplied last commas
Fixed unmatched indent of the closing bracket for
`:irb_current_working_workspace`, and adjusted following elements.
2019-08-28 16:08:14 +09:00
NAKAMURA Usaku 2b55df7315
`revision` might be an Integer 2019-08-28 15:57:30 +09:00
nagachika ed8d2e1cfd tool/merger.rb: fix tag existence check with subversion. 2019-08-28 14:50:21 +09:00
Nobuyoshi Nakada c9dc569a94
Ensure the last and changed revisions as Integers 2019-08-28 12:32:43 +09:00
pavel 8e13da1ee8
optimize get_power2 [Feature #15631]
Merged: https://github.com/ruby/ruby/pull/2292
2019-08-28 11:29:49 +09:00
Kazuhiro NISHIYAMA 989e8ad322
Remove debug print [ci skip] 2019-08-28 10:34:56 +09:00
Kazuhiro NISHIYAMA 624a0ad44d
Use `set-env` instead of `grep` in each step 2019-08-28 10:07:54 +09:00
Kazuhiro NISHIYAMA 108dbb389b
Use JOBS again like macos.yml 2019-08-28 09:45:31 +09:00
Kazuhiro NISHIYAMA 330c2f7597
Change name to `Tests (test-bundled-gems)` 2019-08-28 09:41:14 +09:00
Kazuhiro NISHIYAMA 230f405479
Add name to autoconf 2019-08-28 09:38:52 +09:00
Kazuhiro NISHIYAMA 17c0ce3798
Remove GITHUB_SHA from jobs.<job_id>.steps.env
because default value overrides it.
https://help.github.com/en/articles/virtual-environments-for-github-actions#environment-variables
2019-08-28 09:20:07 +09:00
Kazuhiro NISHIYAMA 767992329e
Allow missing projectnumber [ci skip] 2019-08-28 09:15:40 +09:00
Kazuhiro NISHIYAMA d4de5e6459
Show projectnumber in current index.html and GITHUB_SHA 2019-08-28 09:13:43 +09:00
Aaron Patterson 932a471d38
Directly mark compile options from the AST object
`rb_ast_t` holds a reference to this object, so it should mark the
object.  Currently it is relying on the `mark_ary` on `node_buffer` to
ensure that the object stays alive.  But since the array internals can
move, this could cause a segv if compaction impacts the array.
2019-08-27 11:43:18 -07:00
Kazuhiro NISHIYAMA cbcad66741
Fix doxygen action
- Fix checkout error: `fatal: destination path '.' already exists and is not an empty directory.`
- Remove `GITHUB_SHA` in env, because set automatically
  https://help.github.com/en/articles/virtual-environments-for-github-actions#environment-variables
- Change minute from 0 to 20 for test soon
2019-08-28 02:16:28 +09:00
Kazuhiro NISHIYAMA 71e5871c3b
Run on schedule only and skip if not modified 2019-08-28 01:48:40 +09:00
aycabta f308ab2131 Remove jquery.js 2019-08-28 01:12:14 +09:00
Takashi Kokubun 88a37dc620
Stop passing CC_LIBS in compile_c_to_o
To fix "gcc: -lgcc: linker input file unused because linking not done" in
https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd65/ruby-master/log/20190826T200009Z.log.html.gz

Still I'm intentionally leaving CC_DLDFLAGS_ARGS because making compiler
options different might result in compile/link failure. (Of course
CC_DLDFLAGS_ARGS usually should not have compiler options, but it might
include by bad configure setup)

The same problem may exist in MJIT_LIBS used inside CC_LIBS as well, but
I just ignored that case because it impacts only MinGW / cygwin, hoping
that their users do not perform a wrong configure.
2019-08-28 00:56:15 +09:00
aycabta d8fa88294f Version 6.2.0 2019-08-28 00:48:12 +09:00
aycabta 39810b4035 Good bye jQuery 2019-08-28 00:48:12 +09:00
NAKAMURA Usaku 6454808c52
Treat RUBY_REVISION as an integer on old rubies 2019-08-28 00:19:25 +09:00
Takashi Kokubun dd032a5fb4
Make doxygen / coverage torelant to clone race
a little.

Doing both `git clone --depth=1` and `git reset --hard ${sha}` does not
make sense (the latter command either does nothing or just fails), so I
added non-1 value as a depth.

Maybe we don't need depth=50 for pull_request and schedule, so it's 10
for now.
2019-08-28 00:16:16 +09:00
git 9928a6a367 * 2019-08-28 [ci skip] 2019-08-28 00:12:01 +09:00
Nobuyoshi Nakada 6a0d2bc2af
Follows callback declaration updates 2019-08-28 00:09:14 +09:00
Takashi Kokubun 4209066f0e
Drop more unused configs from doxygen and coverage
workflows, because mame said he has never seen it.
2019-08-27 23:52:43 +09:00
Takashi Kokubun 3bed468e88
Omit unused matrix strategy from doxygen workflow 2019-08-27 23:49:36 +09:00
Nobuyoshi Nakada 2cd68a38d9
Short revision of SVN should be an Integer 2019-08-27 23:43:41 +09:00