Activity
From 02/22/2017 to 02/28/2017
02/28/2017
-
10:38 PM Feature #13263: Add companion integer nth-root method to recent Integer#isqrt
- Newton's method has quadratic convergence. This means that a properly implemented Newton's method will blow away any BBM if more than just a few bits are needed.
"Properly implemented" is a big deal, because, as I have found with som... -
09:01 PM Feature #13263 (Open): Add companion integer nth-root method to recent Integer#isqrt
- Following the heels of adding the method ``Integer#isqrt``, to create exact integer
squareroot values for arbitrary sized integers, based on the following threads:
https://bugs.ruby-lang.org/issues/13219
https://bugs.ruby-lang.org/i... -
10:37 PM Feature #12901: Anonymous functions without scope lookup overhead
- Shyouhei Urabe wrote:
> Math Ieu wrote:
> ...
But it could be enabled on-demand. Say with a magic comment, then all closures created from code of this file would be optimized to not capture everything. I guess there might as well be sp... -
08:47 PM Feature #12901: Anonymous functions without scope lookup overhead
- Shyouhei Urabe wrote:
> I think it's impossible to optimize lambdas without breaking backwards compatibility.
It is possible with deoptimization though.
An optimizer might assume that a block does not call binding and in case it doe... -
12:35 PM Feature #12901: Anonymous functions without scope lookup overhead
- I didn't think about (er, *know* about!) those ways of accessing the inner scope. That definitely rules out skipping the binding in those cases! Thanks for the info.
-
10:30 AM Feature #12901: Anonymous functions without scope lookup overhead
- Robert Mosolgo wrote:
> What about checking at the block level? I mean, could we check that:
> ...
In addition to what Shyouhei said, somebody could also redefine addition, like so:
~~~ ruby
alias :old_plus :'+'
def + (other)
b... -
04:08 AM Feature #12901: Anonymous functions without scope lookup overhead
- Robert Mosolgo wrote:
> What about checking at the block level? I mean, could we check that:
> ...
Sorry, no. You can look at outside scope from within the lambda's binding like this:
```
zsh % rbenv exec irb
irb(main):001:0> a =... -
02:09 AM Feature #12901: Anonymous functions without scope lookup overhead
- What about checking at the block level? I mean, could we check that:
- All local variable reads come from the block's local table
- There are no method calls on implicit receiver
So, this could be optimized:
~~~ ruby
lambda... -
01:09 AM Feature #12901: Anonymous functions without scope lookup overhead
- Math Ieu wrote:
> The introspection features like the "binding" method and maybe the way "eval" works might make this hard to optimize though (since they essentially capture everything?).
Yes. This is why we capture everything. And... -
08:47 PM Bug #13157 (Closed): Rational doc bug
- Fixed with r57539 (#11752).
-
12:09 PM Feature #13259: Kernel#Date
- Marcus Stollsteimer wrote:
> Note also the ongoing discussion about the future of Date (#13072).
Thanks for the notification. I actually do think there should be a similar thing with `Time`, and if `Date` is supposed to become obsole... -
11:58 AM Feature #13259: Kernel#Date
- Note also the ongoing discussion about the future of Date (#13072).
-
11:04 AM Feature #13259: Kernel#Date
- I have nothing against it per se but what happens to the Date namespace?
People may be confused when they see Date like the above that used to be part of the
require 'date' call, but now suddenly is part of Kernel.
On a side note ... -
02:17 AM Feature #13259 (Open): Kernel#Date
- I often see a piece of code like this:
```ruby
require "date"
begin
Date.strptime(some_string, some_format)
rescue
nil
end
```
Since we now have (https://bugs.ruby-lang.org/issues/12732) `Kernel#Integer` with a parame... -
11:52 AM Bug #13262: Docs of core classes (Math and others) are shadowed by mathn.rb docs
- I first stumbled upon it when doing `ri Integer` (before the proper documentation there appear snippets introduced by BigDecimal, OpenSSL (both fixed upstream now), and mathn), and then also noticed in the context of #13219 that `ri Math...
-
11:16 AM Bug #13262: Docs of core classes (Math and others) are shadowed by mathn.rb docs
- Very interesting find. I would not have thought that this is a possibility.
May I ask how you did discover this? -
10:26 AM Bug #13262 (Closed): Docs of core classes (Math and others) are shadowed by mathn.rb docs
- The deprecated (#10169) mathn library leaks documentation into some core classes, or even replaces it (see example further down).
I would like to fix this, but I could need some ideas what would be the best way to do that. The problem... -
11:11 AM Feature #13260: Kernel#Boolean
- > I think we have lots of occasions to receive a true or false value as a string input, and
> ...
I agree. :)
Not saying that I agree with the API, it feels a bit cumbersome; but I agree with the
comment above.
By the way, I thi... -
06:20 AM Feature #13260: Kernel#Boolean
- I agree that the proposal was vague. Instead of using `strict`, perhaps we can pass a string or strings expressing the language/mode that we want to allow.
```ruby
Boolean("はい", allow: ["JA", "EN"])
Boolean("0", allow: ["NUMBER"])
... -
03:13 AM Feature #13260 (Feedback): Kernel#Boolean
- The proposal is still vague, especially when `strict: false`. The criteria are totally culture dependent.
"yes" may be true for English speaking people, but what about "はい" (Japanese) or "Ja" (German)? The list would go on.
Until the... -
02:26 AM Feature #13260: Kernel#Boolean
- Please note that this proposal is distinct from any proposal to introduce the `Boolean` class into Ruby. In think the latter does not make sense, and I am against it.
-
02:24 AM Feature #13260 (Rejected): Kernel#Boolean
- I think we have lots of occasions to receive a `true` or `false` value as a string input, and want to convert it to `true` or `false`. Perhaps we can have a method `Kernel#Boolean` in a similar spirit to `Kernel#Integer` and its kins, wh...
-
10:41 AM Revision 98374b99 (git): lib/mathn.rb: [DOC] nodoc internal Math.rsqrt
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
08:22 AM Revision a0da6f0d (git): clean gems
- * Makefile.in (clean-ext): clean gem directories too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:46 AM Feature #13261 (Closed): Gemify sdbm
- Applied in changeset r57742.
----------
Added initial gemspec for SDBM module.
[Feature #13261]
* doc/*.rdoc: Move SDBM entry to default gem section.
* ext/sdbm/sdbm.gemspec: first gemspec. -
07:43 AM Feature #13261 (Closed): Gemify sdbm
- This issue is tracking for gem release of SDBM module.
-
07:45 AM Revision 7e0aaf3a (git): Added initial gemspec for SDBM module.
- [Feature #13261]
* doc/*.rdoc: Move SDBM entry to default gem section.
* ext/sdbm/sdbm.gemspec: first gemspec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:33 AM Bug #13254 (Closed): Dir.exist? などで「ディスクがありません」ダイアログが表示される
- Applied in changeset r57741.
----------
disable critical-error-handler
* win32/win32.c (rb_w32_sysinit): disable critical-error-handler
message box even on mswin, regardless of runtime DLL version.
[ruby-dev:49988] [Bug #13254] -
04:33 AM Revision 3d718d21 (git): disable critical-error-handler
- * win32/win32.c (rb_w32_sysinit): disable critical-error-handler
message box even on mswin, regardless of runtime DLL version.
[ruby-dev:49988] [Bug #13254]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57741 b2dd03c8-39d4-4d8f-... -
02:58 AM Revision 7def0928 (git): Makefile.sub: ULL_TO_DOUBLE
- * win32/Makefile.sub (config.h): define ULL_TO_DOUBLE for
conversion from unsigned __int64 to double, which is not
implemented in till Visual Studio.NET 2003, aka VC7.1.
* bignum.c (estimate_initial_sqrt): use ULL_TO_DOUBLE if defin... -
01:10 AM Revision 0e099878 (git): numeric.c: suppress warning
- * numeric.c (DEFINE_INT_SQRT): suppress a type-limits warning
where int is always smaller than double.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:18 AM Bug #9975 (Closed): irb で Hash を 1.9 記法で記述したときに、キーがキーワードだと syntax error
-
12:00 AM Revision c1138f06 (git): Makefile.in: CHDIR to srcdir
- * Makefile.in (update-mspec, update-rubyspec): use CHDIR, which may
use -P, to resolve symbolic links.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
02/27/2017
-
08:36 PM Feature #12790: Better inspect for stdlib classes
- Two thoughts regarding BigDecimal and Float:
1. INHO it's desirable that the inspect output should be different; it should be possible to distinguish between a BigDecimal and a Float by inspecting it.
2. BigDecimal doesn't use scie... -
07:16 PM Feature #12790: Better inspect for stdlib classes
- ~~~
$ rvm use 2.4
$ ruby -rbigdecimal -e "p BigDecimal.new(150)"
0.15e3
~~~
So, the boilerplate dropped yet scientific notation remains? Could I provide patch to get rid of it for "reasonably small" numbers?.. -
06:37 PM Bug #13225: [DOC] expand docs for Date shifting
- Thanks Matz!
I'm honored, and I'm glad I can help improve Ruby in some small way.
Marcus (stomar)
-
06:26 PM Bug #13225 (Closed): [DOC] expand docs for Date shifting
- Applied in changeset r57737.
----------
date_core.c: expand docs for Date shifting
* ext/date/date_core.c: [DOC] expand docs for Date shifting
* add examples for Date#>> and Date#<< that clarify some edge cases
* add examples for ... -
06:26 PM Revision 9fe14335 (git): date_core.c: expand docs for Date shifting
- * ext/date/date_core.c: [DOC] expand docs for Date shifting
* add examples for Date#>> and Date#<< that clarify some edge cases
* add examples for Date#next_year and Date#prev_year
* add cross references to Date#>> and Date#<<
... -
06:07 PM Bug #13148 (Closed): [DOC] Small doc fix for Hash#dig and Struct#dig
- Applied in changeset r57735.
----------
Fix doc for Hash#dig and Struct#dig
* hash.c (rb_hash_dig): [DOC] correct argument name
in method description; fix formatting in examples.
* struct.c (rb_struct_dig): ditto.
[ruby-core:79221] ... - 06:07 PM Revision fbf98a77 (git): * 2017-02-28
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:07 PM Revision 6b82ba9e (git): Fix doc for Hash#dig and Struct#dig
- * hash.c (rb_hash_dig): [DOC] correct argument name
in method description; fix formatting in examples.
* struct.c (rb_struct_dig): ditto.
[ruby-core:79221] [Bug #13148]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57735 b2dd03c8... -
04:18 PM Feature #12901: Anonymous functions without scope lookup overhead
- Would be better if this could be determined automatically, as others have pointed out.
A lot of functional programming languages optimize this away with some form of "lambda lifting".
The shared variables that are not ever reassign... -
01:52 PM Revision 6d3654d5 (git): fix nd_ainfo->kw_rest_arg
- [Fix GH-5129]
Author: fate0 <fate0@users.noreply.github.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:52 PM Revision 9b1f2b07 (git): kwrest arg name
- * compile.c (iseq_set_arguments_keywords): make keyword rest
argument name nd_vid consistently, regardless of whether other
keyword arguments are present. [Fix GH-1529]
* parse.y (new_args_tail_gen): ditto.
git-svn-id: svn+ssh://c... -
01:41 PM Revision e32c5b6f (git): add NEWS for Random.urandom [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:27 PM Bug #13258 (Closed): Segmentation fault at 0x00000000000000 during instance_eval
- My program is a website that runs inside webrick. Intermittently when calling instance_eval, a segmentation fault occurs, producing console output as shown in the attached file.
I have not been able to spot a pattern to when the segme... -
01:22 PM Revision 6fd71da0 (git): common.mk (distclean): clean docs too
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:08 PM Feature #13256: Gemify etc
- Agreed.
-
09:23 AM Feature #13256 (Assigned): Gemify etc
- etc gem is preserved name. but it can be install via `gem i etc`
https://rubygems.org/gems/etc
We need to transfer it namespace to us and yank it. -
09:20 AM Feature #13256 (Closed): Gemify etc
- Applied in changeset r57730.
----------
Added initial gemspec for Etc module.
[Feature #13256]
* doc/*.rdoc: move Etc module to default gem section.
* ext/etc/etc.gemspec: first gemspec. -
08:54 AM Feature #13256 (Closed): Gemify etc
- This issue is tracking for gem release of Etc module.
-
10:58 AM Bug #13220: Enhance support of Unicode strings manipulation
- Nobuyoshi Nakada wrote:
> Note that these results are in NFD.
> ...
This is mostly true, but there are 'visual' characters that cannot be expressed in a single code point in Unicode. As an example: "q̈".unicode_normalize.gsub("q", "x")... -
10:14 AM Bug #13254: Dir.exist? などで「ディスクがありません」ダイアログが表示される - 再現手順に漏れと誤りがありましたので、説明を編集しました。
* 再現手順1に手順 1)~2) を追加しました。「DVD-ROM ドライブでは現象が起こらない」を削除しました。
* DVD-ROM ドライブでも現象が起こったため、再現手順2を追加しました。
-
09:46 AM Feature #13257 (Feedback): Symbol#singleton_class should be undef
- Objects of some classes doesn't have singleton classes (e.g., Symbol, Integer, Float...).
Symbol#singleton_class raises TypeError.
But Symbol#respond_to?(:singleton_class) returns true, and we cannot know when #singleton_class return... -
09:20 AM Revision 55c13218 (git): Added initial gemspec for Etc module.
- [Feature #13256]
* doc/*.rdoc: move Etc module to default gem section.
* ext/etc/etc.gemspec: first gemspec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:29 AM Bug #9975: irb で Hash を 1.9 記法で記述したときに、キーがキーワードだと syntax error
- https://bugs.ruby-lang.org/issues/13012 により、2.4 では修正されているようです
-
08:23 AM Revision 600e942b (git): Makefile.in: by exts.mk
- * Makefile.in (clean-ext): recurse by exts.mk in parallel first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:54 AM Revision d7921849 (git): common.mk: clean-rubyspec
- * common.mk (clean-rubyspec): remove OBJDIR for rubyspec C-API
tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:37 AM Revision 7d4cdab8 (git): mkmf.rb: get rid of error messages
- * lib/mkmf.rb (create_makefile): add TARGET_SO to CLEANLIBS only
when the extension library will be build, to get rid of trying
to remove $(TARGET_SO_DIR).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57727 b2dd03c8-39d4-4d8f-9... -
06:39 AM Revision 391f13c6 (git): clean more
- * Makefile.in (clean-local): remove debug symbol directories on
Mac OS.
* common.mk (clean-ext): remove parent directories of timestamp
directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57726 b2dd03c8-39d4-4d8f-98ff-823f... -
06:31 AM Revision 09a2b5d2 (git): Makefile.in: clean exts.mk files
- * Makefile.in (clean-ext): remove exts.mk files in subdirectories
underneath ext.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:58 AM Revision 06c12726 (git): ext/socket/extconf.rb: fix a typo
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:55 AM Revision afdd2fa7 (git): mkmf.rb: clean generated files
- * lib/mkmf.rb (try_link0): remove generated files other than the
executable file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:14 AM Revision e3e2a2c7 (git): Makefile.in: verify-static-library
- * Makefile.in (verify-static-library): separate from LIBRUBY_A.
no check every times by default.
* lib/mkmf.rb (try_link): remove debugging symbol directory after
linking, instead of try_do.
* lib/mkmf.rb (try_link): bccwin32 suppo... -
01:50 AM Bug #13196: Improve keyword argument errors when non-keyword arguments given
- Marcus Stollsteimer wrote:
> Regarding `code` vs. `:code`, IMHO for beginners it's much easier to understand without leading ":", similar to the usage in the call sequence, it's _not_ `explode(:code: 123)` but `explode(code: 123)`, an... -
01:43 AM Feature #13201: Gemify dbm
- Registered gem is here: https://github.com/jruby/dbm
I will coordinate JRuby team and rubygems admin. -
01:39 AM Feature #13248 (Assigned): Gemify gdbm
- gdbm was already registered rubygems.
* https://rubygems.org/gems/gdbm
* https://github.com/presidentbeef/ffi-gdbm/
It overrides global namespace. I will coordinate gem author and rubygems admins. - 12:53 AM Revision eeea1b38 (git): * 2017-02-27
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:53 AM Revision c92d68de (git): NEWS: Integer.sqrt [Feature #13219]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
02/26/2017
-
09:07 PM Bug #13196: Improve keyword argument errors when non-keyword arguments given
- Olivier Lacan wrote:
> ```diff
> ...
* I think `rb_str_cat_cstr(mesg, ": ");` in the while-loop doesn't work; ":" must be added before the loop, in the loop only " " to separate different entries
* suggestion: s/keyword/keyword argu... -
03:40 AM Bug #13196: Improve keyword argument errors when non-keyword arguments given
- Although I find Nobu's patch excellent, it still bothers me that the exception says `expected 0`.
Keyword arguments do increase a method's arity just like regular arguments, so the message is both confusing *and* disingenuous.
Giv... -
03:26 AM Bug #13196: Improve keyword argument errors when non-keyword arguments given
- Marcus Stollsteimer wrote:
> wrong number of arguments (given 1, expected 0; missing keywords: code, foo)
I agree that this is clearer so I slightly modified Nobu's patch:
```diff
diff --git a/vm_args.c b/vm_args.c
index 6cded80... -
08:59 PM Feature #13201: Gemify dbm
- Since this is JRuby implementation of dbm, I believe it shouldn't be big big deal to get that name available ....
-
02:22 PM Feature #13201: Gemify dbm
- Perhaps the rubygems.org folks can de-register that gem, due to two reasons - ruby stdlib and core should have a higher priority over custom gems; and the gem is not very active, only two updates, one in 2009 and another one in 2013. (It...
-
12:59 PM Bug #13251: [DOC] Add rdoc for Integer.sqrt
- Yay, first commit...!
nobu, thanks for your patience; please give feedback if I should have done anything differently. -
12:51 PM Bug #13251 (Closed): [DOC] Add rdoc for Integer.sqrt
- Applied in changeset r57719.
----------
Add rdoc for Integer.sqrt
* numeric.c (rb_int_s_isqrt): [DOC] add rdoc for Integer.sqrt.
[ruby-core:79762] [Bug #13251] -
09:48 AM Bug #13251: [DOC] Add rdoc for Integer.sqrt
- I see, the usage is another issue in any rate.
The doc seems nice, thank you. -
08:53 AM Bug #13251: [DOC] Add rdoc for Integer.sqrt
- For the specific patch I tried to follow the style in the current file. Generally, I see both, and it seems `+` is more common than `_` (see e.g. Array).
Are there any agreed upon guidelines on documentation style? There are hints reg... -
12:51 PM Revision c25ee9f1 (git): Add rdoc for Integer.sqrt
- * numeric.c (rb_int_s_isqrt): [DOC] add rdoc for Integer.sqrt.
[ruby-core:79762] [Bug #13251]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:44 AM Bug #13255 (Feedback): segmentation fault
- Please show the Crash Report log file.
P.S. 2.1.8 is outdated and 2.1 will reach the EOL soon. -
07:51 AM Bug #13255 (Closed): segmentation fault
- ```
/apollo/env/SDETools/ruby2.1.x/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55: [BUG] Segmentation fault at 0x00000000000018
ruby 2.1.8p440 (2015-12-16 revision 53160) [x86_64-darwin15.0]
-- Crash Report log information --... -
09:33 AM Revision 5c5d8944 (git): node.c: fix NODE_OP_ASGN1
- * node.c (dump_node): fix a typo, index and rvalue. fix
NODE_OP_ASGN1 operator to nd_mid. [Fix GH-1528]
Author: fate0 <fate0@users.noreply.github.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57718 b2dd03c8-39d4-4d8f-98... -
03:39 AM Bug #13254 (Closed): Dir.exist? などで「ディスクがありません」ダイアログが表示される - ## 概要
windows 10で使用しています。
sdカードリーダーにメディアを差していない状態で、同ドライブに Dir.exist? などを行うと、次のメッセージダイアログが表示されスクリプトの実行が一時停止します。
「キャンセル」か「続行」を2回クリックするとスクリプトが再開し、Dir.exist? であれば false を返します。
~~~
---------------------------
ruby.exe - ディスクがありません
--... -
12:33 AM Bug #13253 (Closed): SIGSEGV in parser_heredoc_dedent()
- Applied in changeset r57717.
----------
parse.y: indent at invalid identifier
* parse.y (parser_heredoc_identifier): set indent only when valid
identifier, not to dedent non-existent contents later.
[ruby-core:79772] [Bug #13253] -
12:33 AM Revision 6c0f395c (git): parse.y: indent at invalid identifier
- * parse.y (parser_heredoc_identifier): set indent only when valid
identifier, not to dedent non-existent contents later.
[ruby-core:79772] [Bug #13253]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57717 b2dd03c8-39d4-4d8f-98ff-...
02/25/2017
-
11:51 PM Bug #13251: [DOC] Add rdoc for Integer.sqrt
- Argument names should be marked up using `+arg+`, or `_arg_`?
Although I've thought it would be `_` and there are such usage, `+` seems major? -
08:54 PM Bug #13251: [DOC] Add rdoc for Integer.sqrt
- FYI, here my suggestion (will commit soon, but need to read some HowTo's on how exactly that works, first):
``` patch
diff --git a/numeric.c b/numeric.c
index b34fb0a..2400a9c 100644
--- a/numeric.c
+++ b/numeric.c
@@ -5154,6 +... -
09:03 AM Bug #13251: [DOC] Add rdoc for Integer.sqrt
- Two clarifying questions:
Is it confirmed that using Floats will only give wrong results that are too large? _Update: no, too small also occurs._
See e.g. the case of cube roots:
``` ruby
64 ** (1.0/3) # => 3.9999999999... -
06:52 AM Bug #13251 (Assigned): [DOC] Add rdoc for Integer.sqrt
- Thank you, feel free to add it.
I was writing it too, but you'll make better one.
This is my draft, FYI.
```diff
diff --git c/NEWS i/NEWS
index 2a0413f006..8647e5e2ce 100644
--- c/NEWS
+++ i/NEWS
@@ -21,4 +21,8 @@ with all su... - 10:28 PM Revision e35907a4 (git): * 2017-02-26
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
10:28 PM Revision 8feb9779 (git): ext/win32ole/win32ole.c(ole_initialize): avoid to fail in Windows nano server.
- This is experimental. Thanks to mwrock, Ethan Brown.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:53 PM Feature #13077: [PATCH] introduce String#fstring method
- Eric Wong wrote:
> No. There is existing code which assumes #freeze always returns
> ...
Oh indeed, that slipped my mind, thanks for the explanation. -
02:11 AM Feature #13077: [PATCH] introduce String#fstring method
- eregontp@gmail.com wrote:
> Eric Wong wrote:
> > Anyways, committed as r57698
>
> This should have a NEWS entry and tests since it changes the semantics.
Sorry, I forgot; will do. Thanks for the reminder.
> BTW, should my_s... -
07:18 PM Bug #13249: Access modifiers don't have an effect inside class methods in Ruby >= 2.3
- The examples confuse me a bit.
Does private actually make sense on any class-method / singleton method?
I understand it as a limitation for methods on the class, where outside
calls are not allowed, only internal ones (though ruby... -
07:11 AM Bug #13249: Access modifiers don't have an effect inside class methods in Ruby >= 2.3
- Well, ability to declare `private` methods inside class methods seems strange given that it's not possible to declare private methods inside instance methods:
~~~ ruby
class C
def foo
private def bar
end
end
end
C.n... -
05:38 PM Bug #13242: SIGSEGV in rb_bigzero_p()
- Nobuyoshi Nakada wrote:
> This is not vulnerability.
Right, I'm too fast ;-) -
11:19 AM Bug #13253 (Closed): SIGSEGV in parser_heredoc_dedent()
- After some fuzz testing I found a crashing test case.
Git HEAD: fbd5cda6aad6db01bbca3d893a9970314a1bd52c
To reproduce: miniruby ruby_parse.rb
-
07:27 AM Revision 57322251 (git): bignum.c: use predefined IDs
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:44 AM Feature #13250 (Closed): Initial estimate for Integer#sqrt should be improved
- Applied in changeset r57713.
----------
bignum.c: improve estimate
* bignum.c (estimate_initial_sqrt, rb_big_isqrt): improve initial
estimate by sqrt(). [ruby-core:79754] [Feature #13250] -
12:42 AM Feature #13250: Initial estimate for Integer#sqrt should be improved
- It would be nice if you backported this code into point releases of older versions too.
-
05:44 AM Revision 4dcad25b (git): bignum.c: improve estimate
- * bignum.c (estimate_initial_sqrt, rb_big_isqrt): improve initial
estimate by sqrt(). [ruby-core:79754] [Feature #13250]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:27 AM Bug #13165 (Rejected): Typographical Error in Refinements docs 2.1.1
- We never backport any bug fixes to 2.1 except security fixes as announce before:
https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/
If you nevertheless believe the documentation should be fixed, cont... -
04:13 AM Revision dab7aa22 (git): bignum.c (bary_zero_p): constify
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:25 AM Bug #13239: Bug with "special exceptions" when they are thrown in context of a rescue clause.
- Yes, that appears to be the case, thanks you.
-
02:59 AM Revision 982a448e (git): .gdbinit: rp_bignum
- * .gdbinit (rp_bignum): print bignum from higher digits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 02:31 AM Revision 15ef28a9 (git): NEWS: document String#-@ change
- * test/ruby/test_string.rb (test_uplus_minus): test deduplication
[ruby-core:79747] [Feature #13077]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:01 AM Feature #13252: C API for creating strings without copying
- It is not guaranteed that `ruby_xfree` can free a pointer allocated by other than `ruby_xmalloc` and so on.
You can't mix bare `malloc` and `ruby_xfree`. -
12:19 AM Feature #13252 (Assigned): C API for creating strings without copying
- Hi,
I'd like to have a C API that allows me to create String objects without copying the underlying `char *`. Basically a C API similar to the `rb_str_new_static`, but have the GC free the underlying `char *` when the object dies. T...
02/24/2017
-
11:52 PM Bug #13251 (Closed): [DOC] Add rdoc for Integer.sqrt
- Nobu, I would offer to add documentation for Integer.sqrt, feature #13219 (r57705).
I'd like to prepare a patch and eventually try to commit it myself.
I'm not sure yet when to open issues for documentation and when to simply commi... -
11:37 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- I disagree, but as long as the API explicitly states what's happens for this case a user can adapt accordingly
-
11:28 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Jabari Zakiya wrote:
> I noticed in the other squareroot methods they raise an error for ``n < 0``
> ...
I strongly agree with nobu's implementation. That's exactly the behavior I was about to suggest when I noticed it was already ther... -
08:28 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- I want to raise for consideration, as a user, the **API behavior** for these methods.
I noticed in the other squareroot methods they raise an error for ``n < 0``
whereas my version returns 'nil' when taking an even root of a negative... -
09:11 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Jabari Zakiya wrote:
> Oh I see where at least part of the error comes from.
> ...
Actually, with some understanding of how floating point arithmetic works, the first even root past 1 << 53 is likely to be bad:
~~~
irb(main):1081:0... -
08:36 AM Feature #13219 (Closed): bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Applied in changeset r57705.
----------
Integer.sqrt [Feature #13219] -
07:50 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- It is now clear that Halley's method requires five multiplies, not the four previously reported by wikipedia. This makes it uninteresting as a candidate.
-
06:47 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Marcus Stollsteimer wrote:
> Jabari Zakiya wrote:
> ...
If this were the issue, it would be. Math.sqrt() runs through some IEEE-754-specificed functions in C. I know of no funny business in these particular functions.
>
> ...
I ... -
06:39 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Jabari Zakiya wrote:
> Oh I see where at least part of the error comes from.
> ...
~~~
9999899999899999322536673279 < 1 << 53
=> false
~~~
So this cannot be the source of this particular problem. I am not surprised that there ar... -
06:33 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Jabari Zakiya wrote:
> I showed earlier I found that **Math.sqrt(n).to_i** starts given incorrect
> ...
Is this guaranteed to be platform independent?
And a more general consideration:
I assume `Integer.sqrt()` will be implemente... -
04:57 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Oh I see where at least part of the error comes from.
In this
```
def inverse_newton_sqrt(n)
raise if n < 0
return Math.sqrt(n).to_i if n < 1 << 53
```
See top of this thread at ``#1 ``
I showed earlier I found that **M... -
04:35 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Hey Nathan, Great Work!
I'm seeing an error in **inverse_newton_sqrt(n)** being one-off.
```
2.4.0 :224 > n = 10**10 ; puts sqrt_z(n), newtons_fast(n), newton_faster(n), inverse_newton_sqrt(n)
100000
100000
100000
100000
=>... -
01:57 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- All of the algorithms are now at https://github.com/NathanZook/ruby_sqrt. Hope that's okay.
-
01:05 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Following the discussion from the second answer at http://cs.stackexchange.com/questions/37596/arbitrary-precision-integer-square-root-algorithm, I implemented an integer Newton - Raphson on the inverse square root. This involved corre...
- 11:31 PM Revision 4edac7f5 (git): * 2017-02-25
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:31 PM Revision a67c94cf (git): extract initial sqrt estimation [Feature #13219]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:23 PM Feature #13166: Feature Request: Byte Arrays for Ruby 3
- Would your methods String#(get|set)bit be separate than an Array of bytes, or the name for them?
I think it would be confusing to associate a general byte array (an Array8 of numeric bytes) with Strings,
especially since string char... -
11:20 PM Bug #13249: Access modifiers don't have an effect inside class methods in Ruby >= 2.3
- Hmmm, a class singleton method should have its own visibility per invocations?
-
07:13 PM Bug #13249 (Closed): Access modifiers don't have an effect inside class methods in Ruby >= 2.3
- Simple example:
~~~ ruby
class C
def self.foo
private
def bar
end
end
end
C.foo
C.new.bar
~~~
This code runs fine on Ruby 2.3 and Ruby 2.4. It raises NoMethodError on Ruby 2.2 and prior versions.
I would ... -
10:29 PM Feature #13250: Initial estimate for Integer#sqrt should be improved
- Nathan Zook wrote:
> The initial estimator used is `1 << (b-1)/2 | n >> (b+1)/2`. For this style of estimator, `1 << (b-1)/2 | n >> (b+3)/2` would be best. (Basically, there is a fencepost error in the current commit.)
It is `(1 <<... -
09:36 PM Feature #13250: Initial estimate for Integer#sqrt should be improved
- Think about this some more, the fastest solution would be to actually to a N-R round in the floating point unit as well. I will have something in a few days.
-
08:13 PM Feature #13250 (Closed): Initial estimate for Integer#sqrt should be improved
- r57705, by Nobu, in response to issue #13219, added Integer#sqrt. The initial estimator used is `1 << (b-1)/2 | n >> (b+1)/2`. For this style of estimator, `1 << (b-1)/2 | n >> (b+3)/2` would be best. (Basically, there is a fencepost ...
-
04:24 PM Bug #13062: 2.4.0-rc1 BigDecimal regression - to_d inconsistent with other numeric classes
- Is this going to be backported to 2.4?
-
11:33 AM Revision a0acd82f (git): securerandom: fix up r57384
- SecureRandom.gen_random_openssl still refers to Random.raw_seed, which
is renamed to Random.urandom by r57384. [Bug #9569]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
10:44 AM Feature #13245: [PATCH] reject inter-thread TLS modification
- FWIW concurrent-ruby has ThreadLocalVar which does not allow access from another thread:
http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ThreadLocalVar.html -
10:40 AM Feature #13245: [PATCH] reject inter-thread TLS modification
- I strongly agree.
Since the API is `Thread#[key]` and not `Thread[key]` (meaning it should only be possible to get TLS from the current thread), this is a kind of bad API in the first place (same for thread_variable_*).
One of th... -
10:28 AM Feature #13077: [PATCH] introduce String#fstring method
- Eric Wong wrote:
> Anyways, committed as r57698
This should have a NEWS entry and tests since it changes the semantics.
BTW, should my_string.freeze behave similarly to String#@-?
Otherwise String#freeze only dedup if the String... -
01:05 AM Feature #13077: [PATCH] introduce String#fstring method
- shyouhei@ruby-lang.org wrote:
> Nobuyoshi Nakada wrote:
> > Shyouhei Urabe wrote:
> > > Am I correct that rb_vm_fstring_table() is never GCed?
> >
> > That table is not a GC-root, and registered strings get GCed as usual.
>
> S... -
01:01 AM Feature #13077 (Closed): [PATCH] introduce String#fstring method - Applied in changeset r57698.
----------
string.c (str_uminus): deduplicate strings
This exposes the rb_fstring internal function to return a
deduped and frozen string when a non-frozen string is given.
This is useful for writing all so... -
09:39 AM Revision 8c440619 (git): Integer.sqrt argument check
- * numeric.c (rb_int_s_isqrt): check if the argument is an integer.
[Feature #13219]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:36 AM Revision bdd6b995 (git): Integer.sqrt [Feature #13219]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
08:14 AM Bug #13242: SIGSEGV in rb_bigzero_p()
- This is not vulnerability.
-
07:55 AM Feature #13248 (Closed): Gemify gdbm
- Applied in changeset r57704.
----------
Update maintainers and standard library docs for GDBM.
[Feature #13248][ruby-core:79742] -
06:40 AM Feature #13248 (Closed): Gemify gdbm
- This issue is tracking for gem release of GDBM module.
-
07:55 AM Revision 395ad27e (git): Update maintainers and standard library docs for GDBM.
- [Feature #13248][ruby-core:79742]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:39 AM Revision df3e22ce (git): Update rdoc-5.1.0
- * Details of changes are following url.
https://github.com/rdoc/rdoc/blob/master/History.rdoc#510--2017-02-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:50 AM Revision 0f081edf (git): gem name should be the downcase.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:48 AM Revision a3697dda (git): Added initial gemspec for GDBM module.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:32 AM Revision e795dfe2 (git): Update psych-2.2.3
- * It's only typo fix for CRuby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:11 AM Feature #13156: In-tree copy of ruby/spec
- On 2017/02/22 19:29, eregontp@gmail.com wrote:
> Issue #13156 has been updated by Benoit Daloze.
> Nevertheless, test-all is very useful for improving coverage
> and we should aim to make it easier for other implementations to reus... -
02:00 AM Bug #13247 (Closed): ruby won't build on macOS 10.6 SDK — mach_task_basic_info_data_t not available
-
01:47 AM Bug #13247: ruby won't build on macOS 10.6 SDK — mach_task_basic_info_data_t not available
- This issue was fixed in [r57180](https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=57180&view=revision). Please close.
- 01:01 AM Revision 207914bc (git): * 2017-02-24
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 01:01 AM Revision 4e90dcc9 (git): string.c (str_uminus): deduplicate strings
- This exposes the rb_fstring internal function to return a
deduped and frozen string when a non-frozen string is given.
This is useful for writing all sorts of record processing key
values maybe stored, but certain keys and values are oft...
02/23/2017
-
08:19 PM Bug #13104: mathn.rb affects Rational literals
- Seems to be triggered by `ext/mathn/rational/rational.c` and `ext/mathn/complex/complex.c`, which activate "canonicalization" in `rational.c` and `complex.c`.
```
$ ruby -r mathn/rational -e 'p Rational(2/1)'
2
$ ruby -r mathn/comp... -
07:39 PM Bug #13232: Comparing BigDecimal to float or Rational fails sometimes
- I didn't realize there was a Github repo for BigDecimal when opening this issue. May I repost it there as a pull request?
-
07:21 PM Bug #13247 (Closed): ruby won't build on macOS 10.6 SDK — mach_task_basic_info_data_t not available
- [mach_task_basic_info_data_t](https://developer.apple.com/reference/kernel/mach_task_basic_info_data_t) is available in macOS 10.8+ SDK only. As a result, ruby will not compile with macOS 10.7 SDK or older.
~~~
compiling memory_statu... -
04:49 PM Feature #12515: Create "Boolean" superclass of TrueClass / FalseClass
- You have in some cases true.
There should be some circumstances where implemented Boolean class should be problematic. But many of existed gems just reopen class and life goes on. Rails 5 isn't till now compatible with Ruby 2.4 with i... -
03:09 PM Feature #13246 (Closed): [REQUEST] Allow to make rb_compile_warn a hard error
- Ruby starting in 2.4 offers such an API:
~~~
def Warning.warn(str); raise str; end
~~~
This handles all internal warnings (raised by the interpreter itself) in 2.4. However, note that this will not handle warnings raised by `Kern... -
01:23 PM Feature #13246 (Closed): [REQUEST] Allow to make rb_compile_warn a hard error
- ~~~ bash
$ cat dup.rb
puts({ one: 1, one: 2})
$ ruby dup.rb
dup.rb:1: warning: key :one is duplicated and overwritten on line 1
{:one=>2}
~~~
I suppose it was initially made a warning for the backward compatibility reasons.
... -
02:34 PM Bug #13242: SIGSEGV in rb_bigzero_p()
- ~~This is CVE-2017-6212.~~
-
09:43 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Sorry to spam like this, but I really have to disagree regarding some of the implications drawn for Math.sqrt(n). This returns a float. If you don't know about the pointy edges of IEEE-754, but you do care, then shame on you. But allo...
-
09:33 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- ~~~
# Core Algorithm by Paul Zimmerman, article entitled
# Karatsuba Square Root
# https://hal.inria.fr/inria-00072854/document
# Presumably used in GMP.
# Personal computations derived from implementation details (page 5)
# n >=... -
08:15 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- First, please, PLEASE do not credit me with the optimized bit-by-bit method. I'm a formally trained mathematician, and I DO NOT want credit for someone else's work. It came from the above-referenced Reddit post.
Second, it appears t... -
07:21 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Another reason this needs to change is because **Math.sqrt(n).to_i**
has an upper limit before crashing.
Here's something else to consider:
There is all that code out there using **Math.sqt(n).to_i** and I presume
most people exp... -
06:31 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- So the clear winner, and new champeen is...**`newtons_fast`**, at least for squareroots.
Just goes to show, don't f**k with Newton!
```ruby
class Integer
def irootn(n)
return nil if self < 0 && n.even?
raise "root n i... -
06:08 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Thanks Akira for that list.
So, too small integer squareroots potentially can cause miss finding primes in some apps,
and being too large can create doing more work than necessary in some apps, and just being
wrong in other apps has... -
05:31 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- I did a simplifications in **`isqrt1`**, replacing all the '+'s with '|' operations,
leaving only the math subtraction operation `n -= t `. I'll see if I can get rid of that.
This makes it a bit faster, especially for numbers `< 10**... -
05:18 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Jabari Zakiya wrote:
> In the library file **prime.rb** is the method **Integer#prime?**.
> ...
Math.sqrt(n) can be smaller than mathematical sqrt(n).
```
% ruby -ve '1.upto(50) {|i| j = 10**i; j2 = Math.sqrt(j*j).to_i; p [i, j2... -
04:34 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Newton seems to be faster than bbm, if the initial x is closer to √n.
when I use x=1<<((n.bit_length+1)/2) for the initial x in newton's method,
the iteration count (n=10**4000) became 11 (was 6656 when initial x is n).
I think the ... -
03:28 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Ah, these are good and interesting results Nathan. Thanks for posting.
It would be interesting to see how both faired as primitive implementations.
I will definitely study the code and play with it.
However **bbm** may still be the ... -
09:20 AM Feature #13077: [PATCH] introduce String#fstring method
- Nobuyoshi Nakada wrote:
> Shyouhei Urabe wrote:
> ...
So this is a kind of weak reference? No security concern then. -
01:00 AM Feature #13077: [PATCH] introduce String#fstring method
- Shyouhei Urabe wrote:
> Am I correct that rb_vm_fstring_table() is never GCed?
That table is not a GC-root, and registered strings get GCed as usual.
-
12:51 AM Feature #13077: [PATCH] introduce String#fstring method
- A bit of security consideration:
Am I correct that rb_vm_fstring_table() is never GCed? If so feeding user-generated strings to that table needs extra care. Malicious user input might let memory exhausted. -
08:43 AM Feature #12968: Allow default value via block for Integer(), Float() and Rational()
- We looked at this issue at yesterday's developer meeting.
People there argued that explicit keyword argument is much easier to read than passing a block. They say it is not obvious what the block is going to do. So if the OP is OK w... -
07:14 AM Revision 6323c8b8 (git): appveyor.yaml: matrix
- * appveyor.yaml: use build matrix for platforms and compilers.
resolve hard coded paths from these variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:55 AM Revision 6feeda59 (git): bignum.c: NAIVE_MUL_DIGITS
- * bignum.c (NAIVE_MUL_DIGITS): share threshold for bary_sq_fast
between bary_mul and bigsq.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:43 AM Feature #13245: [PATCH] reject inter-thread TLS modification
- Shyouhei Urabe wrote:
> Preventing such access should harm no one.
I'm ticketing this as a feature request because there do actually exist people of bad habit who touches other thread's local storage. I believe this is how it should... -
05:35 AM Feature #13245 (Open): [PATCH] reject inter-thread TLS modification
- Thread local and fiber local storages are by nature expected to be
visible from within the thread / fiber and not from anywhere else. OK?
That's a hoax.
The truth is they are visible from _anywhere_. Thread local variable
for in... -
04:10 AM Revision 532bbd4e (git): fix circular dependencies
- * defs/gmake.mk (TEST_DEPENDS): remove targets expanded as
TEST_TARGETS, to get rid of circular dependencies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:51 AM Feature #13244 (Rejected): stdlib/Logger: add option: level
- It has been added since 2.4.
-
03:22 AM Feature #13244 (Rejected): stdlib/Logger: add option: level
- I'd like to suggest
to enhance the interface of stdlib/logger
The #new method should allow for an option to set the log level:
~~~ruby
Logger#new(logdev, level:'WARN')
~~~
As with ruby 2.4 there is no provision to set the log... -
02:40 AM Revision c9447082 (git): Revert r57690 except for read_nonblock
- https://github.com/ruby/ruby/pull/1527#issuecomment-281867551
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:11 AM Revision d0cf19d9 (git): [DOC] mark up literals
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:00 AM Revision 95a476c8 (git): [DOC] keyword argument _exception_
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:54 AM Revision 53b4bf31 (git): socket.rb: [DOC] fix nonblock methods
- * ext/socket/lib/socket.rb (BasicSocket#recv_nonblock): fix
exception class and symbol.
* ext/socket/lib/socket.rb (BasicSocket#recvmsg_nonblock): ditto.
* ext/socket/lib/socket.rb (Socket#recvfrom_nonblock): fix the
method name.
... -
01:15 AM Revision d5eef030 (git): [DOC] {read,write}_nonblock with exception: false
- Update docs to reflect EOF behavior change of read_nonblock and
write_nonblock when using `exception: false`.
[Fix GH-1527]
Author: Russell Davis <russell-stripe@users.noreply.github.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/... -
01:04 AM Bug #13243 (Feedback): Test suite failure
-
01:03 AM Bug #13243: Test suite failure
- 2.3.0 is outdated, and please attach the whole log.
STDERR output can be redirected to a file by using `2> error.log`. -
12:56 AM Bug #13243 (Closed): Test suite failure
- After some testing I encountered this bug.
Any help would be appreciated.
02/22/2017
-
11:49 PM Revision 2e2063fe (git): rational.c: infinity in power
- * rational.c (nurat_expt): return 0 due to overflow.
[ruby-core:79686] [Bug #13242]:
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:33 PM Bug #13242: SIGSEGV in rb_bigzero_p()
- 2.3 and earlier hung up before SEGV.
-
11:28 PM Bug #13242 (Closed): SIGSEGV in rb_bigzero_p()
- Applied in changeset r57688.
----------
rational.c: infinity in power
* rational.c (nurat_expt): return Infinity due to overflow.
[ruby-core:79686] [Bug #13242]: -
01:31 PM Bug #13242 (Closed): SIGSEGV in rb_bigzero_p()
- After some fuzz testing I found a crashing test case.
Git HEAD: fbd5cda6aad6db01bbca3d893a9970314a1bd52c
To reproduce: miniruby ruby_rb_bigzero_p.rb
-
11:28 PM Revision 06010b2b (git): rational.c: infinity in power
- * rational.c (nurat_expt): return Infinity due to overflow.
[ruby-core:79686] [Bug #13242]:
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
10:40 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- ~~~
def isqrt(n)
r = 0
o = 1 << ((n.bit_length >> 1 ) << 1)
while o != 0 do
t = r + o
if n >= t
n -= t
r = (r >> 1) + o
else
r >>= 1
end
... -
09:05 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Hey that's great! I'd love to help work on this too, though
I'm not much of a C programmer. I can help with testing though.
Below are test results comparing the **bbm** algorithm used in
**iroot2** and **irootn** versus the general ... -
07:05 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Jabari Zakiya wrote:
> Let me attempt to address some of the issues/questions that have recently been presented.
> ...
First, I love the idea of giving ruby the ability to play in the MP space. Anything to allow this beautiful tool to... -
06:40 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- No, I am sorry for any confusion.
My initial concern was for accurately computing exact integer squareroots
for my immediate use case needs.
After finding the **bbm** algorithm for squareroots, and modifying it to
compute any nt... -
05:40 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Matz, akr:
sorry for the noise, it's of course completely clear. I only didn't read close enough and missed the switch from the proposed instance method and n-th root to a class method. Stupid.
Now it's also clear to me that you we... -
05:36 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Let me attempt to address some of the issues/questions that have recently been presented.
Excuse me if any of this redundant, at the time I am writing.
1) Fastest algorithm
After extensive searching and testing, the fastest and mo... -
05:17 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Nobuyoshi Nakada wrote:
> Yukihiro Matsumoto wrote:
> ...
The beauty of this particular problem is that it does not matter. ;)
-
04:52 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Marcus, probably you are confusing `Integer.sqrt()` and `Integer#sqrt()`.
The former, you call `Integer.sqrt(4) # => 2` and the latter, you call `4.sqrt # => 2`.
We are talking about the former.
Matz. -
04:17 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Marcus Stollsteimer wrote:
> I think `Integer.sqrt` or `Numeric.sqrt` is extremely problematic. I guess everybody would expect it to be an alias for `Math::sqrt` and behave like this:
No. Integer.sqrt is a class method.
``` ruby
... -
03:54 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- For square roots, `isqrt` seems to be an option with some(?) spread, see https://en.wikipedia.org/wiki/Integer_square_root. It would look like this:
``` ruby
26.isqrt # => 5
30.isqrt # => 5
```
For higher roots, maybe `iroot(n... -
02:32 PM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- _Edit: please ignore (misunderstanding)_
~~I think `Integer.sqrt` or `Numeric.sqrt` is extremely problematic. I guess everybody would expect it to be an alias for `Math::sqrt` and behave like this:~~
``` ruby
# (probably) expected... -
11:27 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- using Newton's method might be another good way to implement it.
~~~ruby
def intsqrt_newton(n)
raise if n<0
return n if n<=1
r = 1<<((n.bit_length+1)/2)
# r*r >= n
while true # r*r-n >= 2*r
r2 = r-(r*r-n)/(2*r)
... -
10:41 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- Yukihiro Matsumoto wrote:
> It's OK to add the functionality. Is `Integer.sqrt(n)` OK for you?
When `n` is not an `Integer` (but a `Numeric`), is it truncated first then `sqrt`?
-
09:50 AM Feature #13219: bug in Math.sqrt(n).to_i, to compute integer squareroot, new word to accurately fix it
- It's OK to add the functionality. Is `Integer.sqrt(n)` OK for you?
Matz.
-
06:53 PM Feature #13026: Public singleton methods
- Yukihiro Matsumoto wrote:
> Interesting. Could you tell us expected use-case?
> ...
Hi Matz. Thank you for your question and the opportunity.
Unit tests are one of the ways I use to enforce the class/module API contract.
So for a... -
06:48 AM Feature #13026: Public singleton methods
- Interesting. Could you tell us expected use-case?
Matz. -
05:21 PM Feature #13241: Method(s) to access Unicode properties for characters/strings
- Jan Lelis wrote:
> I think, it should be always plural methods which return a list of properties used in the
> ...
I agree in the sense that your example given makes more sense than the first example,
where:
"Aあア".script => :la... -
09:22 AM Feature #13241: Method(s) to access Unicode properties for characters/strings
- I think prefixing such methods with `unicode_` would be no problem. While it's a little verbose, it still reads good:
- `"bla".unicode_scripts`
- `"blubb".unicode_properties(:general_categories)`
and so on. Also it is consistent w... -
09:17 AM Feature #13241: Method(s) to access Unicode properties for characters/strings
- Great idea, I'd love to have such capabilities built into the language!
I've recently build this for scripts, blocks, and general categories on Ruby level (see https://github.com/janlelis/unicode-scripts), so let me share some thought... -
09:06 AM Feature #13241: Method(s) to access Unicode properties for characters/strings
- I am neutral about the proposal, but the method names are too generic. It should be prefixed by `unicode_` for example.
Matz.
-
08:02 AM Feature #13241 (Open): Method(s) to access Unicode properties for characters/strings
- [This is currently an exploratory proposal.]
Onigmo allows Unicode properties in regular expressions. With this, it's e.g. possible to check whether a string contains some Hiragana:
```
"ABC あ DEF" =~ /\p{hiragana}/
```
Howeve... -
04:17 PM Bug #13237: Behavior for #dup and #clone on Rational/Complex/BigDecimal differs from Integer/Float
- Will this be backported to 2.4? (IOW is this 2.4.0 bug or 2.5 new feature?)
-
02:02 AM Bug #13237 (Closed): Behavior for #dup and #clone on Rational/Complex/BigDecimal differs from Integer/Float
- Applied in changeset r57682.
----------
numeric.c: Numeric#clone and #dup
* numeric.c (num_clone, num_dup): no longer raises TypeError,
returns the receiver instead as well as Integer and Float.
[ruby-core:79636] [Bug #13237]
* ob... -
03:46 PM Bug #13233 (Closed): [DOC] Fix rdoc for Rational - Applied in changeset r57686.
----------
rational.c: fix rdoc
* rational.c: [DOC] fix wrong indentations and comment out some lines
in code examples to make them valid Ruby code and syntax highlighted
on the rendered page.
[ci skip... - 03:46 PM Revision 3f6aeba6 (git): * 2017-02-23
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:46 PM Revision 3f1d2dd8 (git): rational.c: fix rdoc
- * rational.c: [DOC] fix wrong indentations and comment out some lines
in code examples to make them valid Ruby code and syntax highlighted
on the rendered page.
[ci skip] [ruby-core:79607] [Bug #13233]
Author: Marcus Stollsteimer... -
11:25 AM Feature #12602: Add NilClass#to_d
- Hi, are there any updates or concerns about this feature?
-
10:36 AM Bug #13234: Infinite recursion (stack overflow) in parse_char_class()
- Thank you again for the useful information. Will consider using the fuzzer and hopefully integrate into our test suite if possible/allowed.
-
09:49 AM Bug #13234: Infinite recursion (stack overflow) in parse_char_class()
- This is CVE-2017-6181.
-
10:29 AM Feature #13156: In-tree copy of ruby/spec
- Akira Tanaka wrote:
> I recommend test-all over rubyspec because
> ...
I do not want to force anybody, just encourage writing new tests under spec/rubyspec for developers willing to try it.
> If I remember correctly, jruby already u... -
10:06 AM Feature #13156: In-tree copy of ruby/spec
- Yukihiro Matsumoto wrote:
> I have several concerns:
> ...
https://github.com/ruby/spec will remain as the canonical repository.
I want this in-tree copy for convenience and allowing to add specs for new features, regressions, etc wit... -
09:34 AM Feature #13156 (Feedback): In-tree copy of ruby/spec
- I have several concerns:
* If `ruby/spec` tries to be a **common** executable specification of the language, it seems unnatural to have it in the repository of one particular implementation.
* Merging it would reduce synchronizatio... -
08:37 AM Feature #13156: In-tree copy of ruby/spec
- I recommend test-all over rubyspec because
it is difficult to change developer's behavior.
I.e. it is difficult to force CRuby committers to write new tests for new features in rubyspec.
If I remember correctly, jruby already uses t... -
09:41 AM Feature #13166: Feature Request: Byte Arrays for Ruby 3
- I think String#getbit and String#setbit is useful.
-
09:18 AM Feature #13166: Feature Request: Byte Arrays for Ruby 3
- Should we use narray/numarray instead? Maybe we can make either of them a bundled gem.
Matz.
-
09:41 AM Feature #13077: [PATCH] introduce String#fstring method
- matz@ruby-lang.org wrote:
> For the time being, let us make `-@` to call `rb_fstring`.
> ...
OK, I think the following is always backwards compatible,
unlike my previous [ruby-core:78884]:
```diff
--- a/string.c
+++ b/string.c
@... -
07:34 AM Feature #13077: [PATCH] introduce String#fstring method
- For the time being, let us make `-@` to call `rb_fstring`.
If users want more descriptive name, let's discuss later.
In my opinion, `fstring` is not acceptable.
Matz.
-
09:36 AM Feature #13097: Deprecate Socket.gethostbyaddr and Socket.gethostbyname
- I agree with Eric. Documentation deprecation is preferable.
Matz.
-
08:50 AM Feature #8661 (Closed): Add option to print backtrace in reverse order (stack frames first and error last)
- Applied in changeset ruby-trunk:r57685.
----------
eval_error.c: backstrace in reverse order
* eval_error.c (rb_threadptr_error_print): print backtrace and
error message in reverse order if STDERR is unchanged and a tty.
[Feature #... -
08:50 AM Revision 5318154f (git): eval_error.c: backstrace in reverse order
- * eval_error.c (rb_threadptr_error_print): print backtrace and
error message in reverse order if STDERR is unchanged and a tty.
[Feature #8661]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57685 b2dd03c8-39d4-4d8f-98ff-823fe69b... -
08:01 AM Feature #13240 (Open): Change Unicode property implementation in Onigmo from inversion lists to direct lookup
- For Unicode property checks (e.g. `/\p{hiragana}/`), Onigmo is currently using inversion lists. See enc/unicode/9.0.0/name2ctype.h; the about 500 arrays starting with `CR_NEWLINE`, currently on line 39, are all inversion lists.
I prop... -
07:40 AM Feature #12508: Integer#mod_pow
- Go ahead and add `pow(a,b)`.
Matz.
-
07:39 AM Feature #13083: Regexp#{match,match?} with a nil argument are deprecated and will raise a TypeError in Ruby 3.0
- Those methods (but `=~`) should consistently raise exceptions.
Matz. -
07:31 AM Bug #13024 (Closed): Confusing error message matching a non-ASCII string with ASCII-regex
- Applied in changeset r57684.
----------
refine warning message for binary regexp /.../n.
Reported by Herwin W. [ruby-core:78592] [Bug #13024] -
07:31 AM Revision dbd4c4a7 (git): refine warning message for binary regexp /.../n.
- Reported by Herwin W. [ruby-core:78592] [Bug #13024]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:16 AM Feature #13009 (Closed): Implement fetch for Thread.current
- Applied in changeset r57683.
----------
Thread#fetch
* thread.c (rb_thread_fetch): add new method Thread#fetch.
[Feature #13009] -
06:55 AM Feature #13009: Implement fetch for Thread.current
- OK.
Matz -
07:16 AM Revision 7d54b4ea (git): Thread#fetch
- * thread.c (rb_thread_fetch): add new method Thread#fetch.
[Feature #13009]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:09 AM Feature #13047 (Assigned): Use String literal instead of `String#+` for multiline pretty-printing of multiline strings
-
07:06 AM Feature #9846 (Rejected): Regexp#to_regexp
- Is there any concrete use-case? Consistency is not the best reason.
This proposal leads against Duck typing.
Matz.
-
06:59 AM Feature #13045 (Rejected): Passing a Hash with String keys as keyword arguments
- Rejected. **method to convert string-keys into symbol-keys** or `transform_keys` may be good ideas.
Matz. -
06:17 AM Feature #13133 (Assigned): TracePoint: Add event type for constant access
-
05:55 AM Feature #10912 (Assigned): Add method(s) to IPAddr for determining whether an address is link local
-
05:54 AM Feature #12996: Optimize Range#===
- Sounds reasonable. We'd like to see how big incompatibility is.
Matz.
-
05:49 AM Feature #12995 (Rejected): Conditional expression taking a receiver outside the condition
- Interesting proposal but this changes the meaning of `if` and `case` too much.
Matz.
-
05:21 AM Bug #13225: [DOC] expand docs for Date shifting
- Agreed. Proceed to usual committer admission.
Matz.
-
02:02 AM Revision 31ef3124 (git): numeric.c: Numeric#clone and #dup
- * numeric.c (num_clone, num_dup): no longer raises TypeError,
returns the receiver instead as well as Integer and Float.
[ruby-core:79636] [Bug #13237]
* object.c (rb_immutable_obj_clone): immutable object clone with
freeze option... - 01:55 AM Revision 4096f39d (git): * 2017-02-22
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:55 AM Revision 80b8ee97 (git): object.c: refactor rb_obj_clone and rb_obj_clone2
- * object.c (rb_obj_clone2): extract option for clone, and split by
whether the object is immutable or mutable.
* object.c (rb_obj_clone): no arguments, return immutable object
immediately.
git-svn-id: svn+ssh://ci.ruby-lang.org/rub... -
01:27 AM Bug #13062 (Closed): 2.4.0-rc1 BigDecimal regression - to_d inconsistent with other numeric classes
- Fixed in bigdecimal 1.3.1 and ruby trunk.