summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-29drop-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-29drop-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-29move docs around [ci skip]卜部昌平
To properly generate documents.
2019-08-29drop-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-29drop-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-29drop-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 200e0ee2fd3c1c006c528874a88f684447215524. 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-29fix arity of bug_start卜部昌平
This is just a trivial mistake introduced in 0f36e8fc03a5c6433972d6bb5f177d5f6e106bac.
2019-08-29fix arity of rb_mutex_synchronize_m卜部昌平
This is just a trivial mistake introduced in 6c56dae4b23c5c50e351758538141ca26b9aba40.
2019-08-29Freeze method reference operator objectNobuyoshi Nakada
[Feature #16103]
2019-08-29Revert "Add pipeline operator [Feature #15799]"Nobuyoshi Nakada
This reverts commits: * d365fd5a024254d7c105a62a015a7ea29ccf3e5d * d780c3662484d6072b3a6945b840049de72c2096 * aa7211836b769231a2a8ef6b6ec2fd0ec882ef29 * 043f010c28e82ea38978bf8ed885416f133b5b75 * bb4dd7c6af05c7821d572e2592ea3d0cc748d81f * 043f010c28e82ea38978bf8ed885416f133b5b75 * f169043d81524b5b529f2c1e9c35437ba5bc3a7a http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/94645
2019-08-29Add stub set_screen_size for other platformsaycabta
2019-08-29* 2019-08-29 [ci skip]git
2019-08-29Support SIGWINCHaycabta
2019-08-29Replace numbered parameters with named parameters [ci skip]Kazuhiro NISHIYAMA
2019-08-29Show the previous definition location,Nobuyoshi Nakada
when reopened class/module redefinition mismatched the previous definition. [Feature #11460]
2019-08-29Fixed a comment [ci skip]Nobuyoshi Nakada
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-29Aseert exception at negative step for non-endless range tooNobuyoshi Nakada
2019-08-29Revert "Remove warnings of flip-flop deprecation from tests and specs"Nobuyoshi Nakada
This reverts commit bf7a32d22079cc44eb19794e41d82b886d5d17b3. flip-flop is no longer deprecated. [Feature #5400]
2019-08-28Document {n}? regexp pattern is optional and not non-greedy [ci skip]Jeremy Evans
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-28Remove jquery.js from file list of rdoc.gemspecaycabta
2019-08-28Revert "Treat RUBY_REVISION as an integer on old rubies"Nobuyoshi Nakada
This reverts commit 6454808c52fff445ff09fefb0fb96988f82aaa3c. 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-28Fix warningsNobuyoshi Nakada
`_FILE_OFFSET_BITS` should be defined before system headers.
2019-08-28Adjusted indents and supplied last commasNobuyoshi Nakada
Fixed unmatched indent of the closing bracket for `:irb_current_working_workspace`, and adjusted following elements.
2019-08-28`revision` might be an IntegerNAKAMURA Usaku
2019-08-28tool/merger.rb: fix tag existence check with subversion.nagachika
2019-08-28Ensure the last and changed revisions as IntegersNobuyoshi Nakada
2019-08-28optimize get_power2 [Feature #15631]pavel
Merged: https://github.com/ruby/ruby/pull/2292
2019-08-28Remove debug print [ci skip]Kazuhiro NISHIYAMA
2019-08-28Use `set-env` instead of `grep` in each stepKazuhiro NISHIYAMA
2019-08-28Use JOBS again like macos.ymlKazuhiro NISHIYAMA
2019-08-28Change name to `Tests (test-bundled-gems)`Kazuhiro NISHIYAMA
2019-08-28Add name to autoconfKazuhiro NISHIYAMA
2019-08-28Remove GITHUB_SHA from jobs.<job_id>.steps.envKazuhiro NISHIYAMA
because default value overrides it. https://help.github.com/en/articles/virtual-environments-for-github-actions#environment-variables
2019-08-28Allow missing projectnumber [ci skip]Kazuhiro NISHIYAMA
2019-08-28Show projectnumber in current index.html and GITHUB_SHAKazuhiro NISHIYAMA
2019-08-27Directly mark compile options from the AST objectAaron Patterson
`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-28Fix doxygen actionKazuhiro NISHIYAMA
- 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-28Run on schedule only and skip if not modifiedKazuhiro NISHIYAMA
2019-08-28Remove jquery.jsaycabta
2019-08-28Stop passing CC_LIBS in compile_c_to_oTakashi Kokubun
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. Notes: s/might include/might be included/
2019-08-28Version 6.2.0aycabta
2019-08-28Good bye jQueryaycabta
2019-08-28Treat RUBY_REVISION as an integer on old rubiesNAKAMURA Usaku
2019-08-28Make doxygen / coverage torelant to clone raceTakashi Kokubun
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* 2019-08-28 [ci skip]git
2019-08-28Follows callback declaration updatesNobuyoshi Nakada
2019-08-27Drop more unused configs from doxygen and coverageTakashi Kokubun
workflows, because mame said he has never seen it.
2019-08-27Omit unused matrix strategy from doxygen workflowTakashi Kokubun
2019-08-27Short revision of SVN should be an IntegerNobuyoshi Nakada
2019-08-27Fix rb_thread_create argument typeTakashi Kokubun
in response to the declaration change in e3fc30564e9466d6926f9d25a090dcf787bd5c33. Fixing the AppVeyor mswin CI failure: https://ci.appveyor.com/project/ruby/ruby/builds/26980881/job/2j6h1qwjnbc8cpop ref: https://github.com/ruby/ruby/pull/2404