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

9083 Коммитов

Автор SHA1 Сообщение Дата
KJ Tsanaktsidis 688a6ff510 Revert "Mark asan fake stacks during machine stack marking"
This reverts commit d10bc3a2b8.
2024-01-12 17:58:54 +11:00
KJ Tsanaktsidis d10bc3a2b8 Mark asan fake stacks during machine stack marking
ASAN leaves a pointer to the fake frame on the stack; we can use the
__asan_addr_is_in_fake_stack API to work out the extent of the fake
stack and thus mark any VALUEs contained therein.

[Bug #20001]
2024-01-12 17:29:48 +11:00
Yusuke Endoh 1bd98c820d Remove setaffinity of pthread for getaddrinfo
It looks like `sched_getcpu(3)` returns a strange number on some
(virtual?) environments.

I decided to remove the setaffinity mechanism because the performance
does not appear to degrade on a quick benchmark even if removed.

[Bug #20172]
2024-01-11 12:38:16 +09:00
KJ Tsanaktsidis 31371b2e24 Fix CRLF -> LF conversion on read for rb_io_fdopen & rb_file_open
When opening a file with `File.open`, and then setting the encoding with
`IO#set_encoding`, it still correctly performs CRLF -> LF conversion on
Windows when reading files with a CRLF line ending in them (in text
mode).

However, the file is opened instead with either the `rb_io_fdopen` or
`rb_file_open` APIs from C, the CRLF conversion is _NOT_ set up
correctly; it works if the encoding is not specified, but if
`IO#set_encoding` is called, the conversion stops happening. This seems
to be because the encflags never get ECONV_DEFAULT_NEWLINE_DECORATOR
set in these codepaths.

Concretely, this means that the conversion doesn't happen in the
following circumstances:
  * When loading ruby files with require (that calls rb_io_fdopen)
  * When parsing ruuby files with RubyVM::AbstractSyntaxTree (that calls
    rb_file_open).
This then causes the ErrorHighlight tests to fail on windows if git has
checked them out with CRLF line endings - the error messages it's
testing wind up with literal \r\n sequences in them because the iseq
text from the parser contains un-newline-converted strings.

This commit fixes the problem by copy-pasting the relevant snippet which
sets this up in `rb_io_extract_modeenc` (for the File.open path) into
the relevant codepaths for `rb_io_fdopen` and `rb_file_open`.

[Bug #20101]
2024-01-10 21:02:23 +11:00
S-H-GAMELINKS 1b8d01136c Introduce Numeric Node's 2024-01-07 09:24:34 +09:00
Adam Hess 6aacbd690c Free pthread_attr after setting up the thread
[bug #20149]
2024-01-05 08:56:44 +09:00
Takashi Kokubun d20c609465 [ruby/erb] Skip building a native extension for JRuby
https://github.com/ruby/erb/commit/f0f68baf6b
2024-01-04 22:33:16 +00:00
Nobuyoshi Nakada 73fb9c35ef [ruby/io-console] `IO_CONSOLE_VERSION` is no longer a macro
https://github.com/ruby/io-console/commit/14b35217dc
2024-01-03 02:12:30 +00:00
ima1zumi 8916b81bf4 [ruby/io-console] Define IO::ConsoleMode::VERSION from console.c
https://github.com/ruby/io-console/commit/6302a2082c
2024-01-02 22:17:05 +00:00
Nobuyoshi Nakada b4adc1bbab [ruby/win32ole] [DOC] Fix indent
https://github.com/ruby/win32ole/commit/76acc979bf
2023-12-31 11:52:19 +00:00
Nobuyoshi Nakada 375d1c993d [ruby/win32ole] [DOC] Remove useless comment that is mixed into RDoc
https://github.com/ruby/win32ole/commit/afceb6814f
2023-12-31 09:33:39 +00:00
Nobuyoshi Nakada 55a81863cd [ruby/win32ole] [DOC] Add .document files
https://github.com/ruby/win32ole/commit/eba2934177
2023-12-31 01:58:22 +00:00
Nobuyoshi Nakada 7016ab873e
Verify that events2table.c was generated successfully 2023-12-28 18:07:49 +09:00
KJ Tsanaktsidis 051a874325 Fix memory overread in registry.rb
The terminator is not actually getting filled in; we're simply passing
(two) bytes of empty memory as the NUL terminator. This can lead to
garbage characters getting written to registry values.

Fix this by explicitly putting a WCHAR_NUL character into the string to
be sent to the registry API, like we do in the MULTI_SZ case.

[Bug #20096]
2023-12-28 18:03:58 +11:00
Ivan Kuchin 1f1edeef3f [ruby/pathname] require fileutils in both methods using it
rmtree is already requiring fileutils, but mkpath apparently relies on
autoload of FileUtils. Switch to require for both methods

https://github.com/ruby/pathname/commit/07ad1fb41a
2023-12-28 00:07:56 +00:00
Nobuyoshi Nakada c027dcfde2 [ruby/etc] [DOC] Add minimal documents for constants
https://github.com/ruby/etc/commit/97a4f798d4
2023-12-27 10:09:24 +00:00
Nobuyoshi Nakada 862cfcaf75 [ruby/etc] [DOC] Improve Etc documents
https://github.com/ruby/etc/commit/fae932ff61
2023-12-27 05:30:20 +00:00
John Hawthorn ea5776e7e4 [flori/json] Use rb_sym2str instead of SYM2ID
This avoids pinning an id to the symbol used if a dynamic symbol is
passed in as a hash key.

rb_sym2str is available in Ruby 2.2+ and json depends on >= 2.3.

https://github.com/flori/json/commit/5cbafb8dbe
2023-12-25 21:12:49 +09:00
Mark Young 65ec74a8dd [ruby/io-console] Provide a 'Changelog' link on rubygems.org/gems/io-console
By providing a 'changelog_uri' in the metadata of the gemspec
a 'Changelog' link will be shown on https://rubygems.org/gems/io-console
which makes it quick and easy for someone to check on the changes
introduced with a new version.

Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

https://github.com/ruby/io-console/commit/6bacdbf0e1
2023-12-25 21:12:49 +09:00
Nobuyoshi Nakada a01c1e821c [ruby/io-console] bump up to 0.7.2.dev.1
https://github.com/ruby/io-console/commit/08e41a3e4d
2023-12-25 21:12:49 +09:00
Nobuyoshi Nakada e7f91fd74c [ruby/io-console] [DOC] Add missing documents
https://github.com/ruby/io-console/commit/44dce34569
2023-12-25 21:12:49 +09:00
Nobuyoshi Nakada 4173c4bcfb [ruby/io-console] Extract CSI sequence
https://github.com/ruby/io-console/commit/63dbeeecf4
2023-12-25 21:12:49 +09:00
Alexander Momchilov bb1625858f [ruby/psych] Remove now-unreachable rescue block
https://github.com/ruby/psych/commit/6905a2123c
2023-12-25 21:12:49 +09:00
Alexander Momchilov 95e7af0c59 [ruby/psych] Remove unused array
https://github.com/ruby/psych/commit/b9e7b4a4a4
2023-12-25 21:12:49 +09:00
Sutou Kouhei b4cb7ead30 [ruby/fiddle] Bump version
https://github.com/ruby/fiddle/commit/fd4bb4ea8a
2023-12-25 21:12:49 +09:00
Mark Young cb6a556927 [ruby/date] Provide a 'Changelog' link on rubygems.org/gems/date
By providing a 'changelog_uri' in the metadata of the gemspec
a 'Changelog' link will be shown on https://rubygems.org/gems/date
which makes it quick and easy for someone to check on the changes
introduced with a new version.

Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

https://github.com/ruby/date/commit/2dea4c011d
2023-12-25 21:12:49 +09:00
Nobuyoshi Nakada 4d344dc194 [ruby/etc] [DOC] Move rdoc files to .documnet
https://github.com/ruby/etc/commit/44425427ab
2023-12-25 21:12:49 +09:00
Nobuyoshi Nakada 12e78fbfcd [ruby/etc] [DOC] Missing constant
https://github.com/ruby/etc/commit/a39e982129
2023-12-25 21:12:49 +09:00
Hiroshi SHIBATA f54369830f Revert "Rollback to released version numbers of stringio and strscan"
This reverts commit 6a79e53823.
2023-12-25 21:12:49 +09:00
Hiroshi SHIBATA 5ea862f26e [ruby/psych] Bump up 5.1.2
https://github.com/ruby/psych/commit/a9ab74d132
2023-12-19 11:07:47 +09:00
Alexander Momchilov e6fa1d62fa [ruby/psych] Use `compare_by_identity` instead of `object_id`
Object IDs became more expensive in Ruby 2.7. Using `Hash#compare_by_identity` let's us get the same effect, without needing to force all these objects to have object_ids assigned to them.

https://github.com/ruby/psych/commit/df69e4a12e
2023-12-19 11:07:45 +09:00
Jean Boussier b2fc1b054e Update `BasicSocket#recv` documentation on return value
Ref: https://github.com/ruby/ruby/pull/6407

[Bug #19012]

`0` is now interpreted as closed connection an not an
empty packet, as these are very rare and pretty much
useless.
2023-12-18 12:58:08 +01:00
Nobuyoshi Nakada baf1403fba
[DOC] Show `PTY.getpty` as an alias of `PTY.spawn`
`:nodoc:` directive does not work at method definition in C, and must
be at the implementation function.  That is, there is no way to make
one method visible and another method sharing the implementation
invisible at the same time.
2023-12-18 20:17:45 +09:00
Nobuyoshi Nakada 0601bce6fc
[DOC] Add Socket::ResolutionError documentation 2023-12-18 08:49:06 +09:00
Nobuyoshi Nakada 71c4a9c38f
[DOC] Correct the location of Addrinfo document
The document must be placed immediately before the class definition.
No other statements can be placed in between.
2023-12-18 08:47:59 +09:00
Nobuyoshi Nakada e316128e3d
[DOC] Stop unintentional references to builtin or standard names 2023-12-18 08:38:59 +09:00
Nobuyoshi Nakada 7bfa1c3dc9
Revert "[DOC] Make undocumented socket constans nodoc"
This reverts commit cbda94edd8, because
`:nodoc:` does not work for constants.

In the case of `rb_define_const`, RDoc parses the preceeding comment
as in `"/* definition: comment */"` form.
2023-12-17 22:37:15 +09:00
Nobuyoshi Nakada cbda94edd8
[DOC] Make undocumented socket constans nodoc 2023-12-17 20:17:45 +09:00
Nobuyoshi Nakada 557d929ba6
[DOC] Utilize COMMENTS.default_proc to add fallback documents 2023-12-17 20:17:05 +09:00
Hiroshi SHIBATA 582862754f [ruby/io-console] Bump up v0.7.1
https://github.com/ruby/io-console/commit/8ac766d870
2023-12-16 13:51:34 +08:00
Hiroshi SHIBATA 3b6828f967 [ruby/syslog] Bump up v0.1.2
https://github.com/ruby/syslog/commit/f7b29e2199
2023-12-16 13:06:37 +08:00
Hiroshi SHIBATA 6a79e53823
Rollback to released version numbers of stringio and strscan 2023-12-16 12:00:59 +08:00
Satoshi Tagomori b98bd10f25 stop warnings from running the test case requiring .so twice 2023-12-15 11:09:31 +09:00
Satoshi Tagomori e51f9e9f75 rb_ext_resolve_symbol: C API to resolve and return externed symbols [Feature #20005]
This is a C API for extensions to resolve and get function symbols of other extensions.
Extensions can check the expected symbol is correctly loaded and accessible, and
use it if it is available.
Otherwise, extensions can raise their own error to guide users to setup their
environments correctly and what's missing.
2023-12-14 17:39:42 +09:00
Hiroshi SHIBATA 39023792db [ruby/io-console] Bump up 0.7.0
https://github.com/ruby/io-console/commit/3e5586e632
2023-12-13 05:58:25 +00:00
Hiroshi SHIBATA 06edde22f4 [ruby/io-nonblock] Bump up 0.3.0
https://github.com/ruby/io-nonblock/commit/501e2ffea3
2023-12-13 05:42:58 +00:00
Hiroshi SHIBATA 5cabe1e9cc [ruby/io-wait] Bump up 0.3.1
https://github.com/ruby/io-wait/commit/5ec3db36c8
2023-12-13 05:10:54 +00:00
Hiroshi SHIBATA 12c775c942 [ruby/etc] Bump up 1.4.3
https://github.com/ruby/etc/commit/743c26086d
2023-12-13 05:01:16 +00:00
KJ Tsanaktsidis a8d2d93aff Add a test case for preregistering with different data
We want to make sure that if preregister is called with different data,
that the postponed job table is updated.
2023-12-13 13:35:05 +11:00
KJ Tsanaktsidis 15d14e2f39 Simplify implementation of tracepoint tests
With the latest version of the postponed job patchset merged, we don't
actually need to go through the contortions of keeping the data in a
global variable; we can just update `data` with multiple calls to
rb_postponed_job_preregister.
2023-12-13 13:35:05 +11:00