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

1276 Коммитов

Автор SHA1 Сообщение Дата
Kazuhiro NISHIYAMA 0f2837847d
Add ticket number of `FrozenError#receiver` [ci skip] 2019-11-12 17:46:39 +09:00
Nobuyoshi Nakada fb6a489af2
Revert "Method reference operator"
This reverts commit 67c5747369.
[Feature #16275]
2019-11-12 17:24:48 +09:00
Yusuke Endoh d1ae2bc27f NEWS: Make it clear that delegation syntax `(...)` requires parentheses
Ref [Feature #16253]
2019-11-12 17:05:10 +09:00
卜部昌平 14db635097 add NEWS about _1 as a local variable [ci skip] 2019-11-12 16:17:41 +09:00
Koichi Sasada 99be207c2a add a NEWS entry about builtin features. 2019-11-12 03:18:32 +09:00
NARUSE, Yui bea322a352 Revert "[EXPERIMENTAL] Make Symbol#to_s return a frozen String [Feature #16150]"
This reverts commit 6ffc045a81.
2019-11-05 17:30:54 +09:00
Benoit Daloze fbacfe6820 Update NEWS entry for Feature #13083 2019-11-03 11:14:31 +01:00
Benoit Daloze 4a16623707 Remove incorrect NEWS entry, only Regexp#match and #match? changed 2019-11-03 11:14:31 +01:00
Martin Dürst bc7fbb6f02 Mention update to Unicode Emoji version 12.1 in NEWS.
Also fixed some grammatical errors. [ci skip]
2019-10-31 15:19:59 +09:00
zverok 417369e0cd Improve Enumerator.produce docs
* Add to NEWS;
* Add examples of while-alike cycles with practical tasks.
2019-10-27 18:57:39 +09:00
Benoit Daloze 4fe89e0821 Add entry for Feature #13083 in NEWS
* Move Unicode changes under String / Unicode for consistency with the rest.
2019-10-26 22:33:43 +02:00
Kazuhiro NISHIYAMA cbec533677
Add gem names [ci skip] 2019-10-23 13:23:43 +09:00
Kazuhiro NISHIYAMA 5d7aef20dd
Trivial fixes [ci skip] 2019-10-23 13:18:48 +09:00
Kazuhiro NISHIYAMA 959ddf44b3
Fix typos [ci skip] 2019-10-23 12:00:44 +09:00
Yusuke Endoh 501b517dfb NEWS: add a URL about the performance improvement of CGI.escapeHTML 2019-10-22 20:06:07 +09:00
Yusuke Endoh 02aadf1032 NEWS: Fix the example of Lazy#eager 2019-10-22 19:46:44 +09:00
Yusuke Endoh fac4339a12 NEWS: add an example for Lazy#eager 2019-10-22 19:39:42 +09:00
Yusuke Endoh 0e735b218f NEWS: Make Net::FTP#features and #option more informative 2019-10-22 19:32:04 +09:00
Nobuyoshi Nakada 62d4382877 Arguments forwarding [Feature #16253] 2019-10-22 02:35:43 +09:00
Nobuyoshi Nakada 35f90bf1b9
NEWS: fixed method names [ci skip] 2019-10-22 01:27:49 +09:00
Nobuyoshi Nakada 6067c0a220
NEWS: fixed mark-up [ci skip] 2019-10-22 01:27:26 +09:00
Koichi Sasada ee302f54a0 add an NEWS entry about [Feature #15575] 2019-10-22 01:06:53 +09:00
Koichi Sasada 9bbc28340e add a NEWS entry about Proc#to_s change 2019-10-22 01:04:47 +09:00
Koichi Sasada 0f0d05a3b1 fix NEWS entry about unbundled gems 2019-10-22 01:04:47 +09:00
Nobuyoshi Nakada ec2da08e2b
NEWS: fixed indents [ci skip] 2019-10-21 21:32:40 +09:00
Yusuke Endoh 228ebdbf2f NEWS: fix a typo 2019-10-21 21:26:47 +09:00
Yusuke Endoh c8f97d1620 NEWS: structured the "Language changes" section
There were too many items in the section in somewhat random order.
This change creates the following five subsections:

* Pattern matching
* The spec of keyword arguments is changed towards 3.0
* Numbered parameter
* proc/lambda without no block is deprecated
* Other miscellaneous changes

Also it adds a handful of example code.
2019-10-21 18:46:54 +09:00
Koichi Sasada 8b8b9c1a1f add a NEWS entry about [Feature #15602] 2019-10-21 16:48:37 +09:00
Koichi Sasada caac5f777a
make monitor.so for performance. (#2576)
Recent monitor.rb has performance problem because of interrupt
handlers. 'Monitor#synchronize' is frequently used primitive
so the performance of this method is important.

This patch rewrite 'monitor.rb' with 'monitor.so' (C-extension)
and make it faster. See [Feature #16255] for details.

Monitor class objects are normal object which include MonitorMixin.
This patch introduce a Monitor class which is implemented on C
and MonitorMixin uses Monitor object as re-entrant (recursive)
Mutex. This technique improve performance because we don't need
to care atomicity and we don't need accesses to instance variables
any more on Monitor class.
2019-10-20 04:52:20 +09:00
Nobuyoshi Nakada 9cb809cfef
Verbatim texts need more indent [ci skip]
And separate ruby script and executed example.
2019-10-18 22:18:52 +09:00
Yusuke Endoh ddad1fb229 NEWS: Mention that optparse now supports did_you_mean for unknown option 2019-10-18 17:53:17 +09:00
Nobuyoshi Nakada 4f13927f1f
[DOC] no change on Windows [Bug #15267] [ci skip] 2019-10-17 19:43:10 +09:00
Nobuyoshi Nakada e169ad93f4 Fixed File.extname at a name ending with a dot
File.extname now returns a dot string at a name ending with a dot.
[Bug #15267]
2019-10-17 18:51:51 +09:00
Benoit Daloze 3fea2d91ad Use an even indent in NEWS for code
* Makes it easier to copy-paste and add code backticks.
2019-10-16 18:21:18 +02:00
Nobuyoshi Nakada 929d5fd3b9 Comparable#clamp with a range [Feature #14784] 2019-10-16 01:42:34 +09:00
Sutou Kouhei 95c420c4a6
Import StringScanner 1.0.3 (#2553) 2019-10-14 12:40:50 +09:00
Sutou Kouhei 92df7d98b6
Import CSV 3.1.2 (#2547) 2019-10-12 14:03:21 +09:00
Sutou Kouhei 412cd56766
Import REXML 3.2.3 (#2548) 2019-10-12 12:07:15 +09:00
Jeremy Evans 055a85d3d9 Update NEWS with Module#ruby2_keywords and a few other things 2019-10-07 12:56:52 -07:00
Prajjwal Singh c8542ab484 Add: Array#intersection method 2019-10-07 15:59:12 +09:00
Nobuyoshi Nakada 550a6a6bc1
NEWS: marked up `**nil` [ci skip] 2019-09-28 13:51:27 +09:00
Nobuyoshi Nakada d474243e8c
NEWS: Added module name to proc and lambda [ci skip]
RDoc cannot know if bare words are method name or not.
2019-09-28 13:51:09 +09:00
Jeremy Evans fd0e214183 Update NEWS section on keyword argument separation [ci skip]
This may be too verbose, if so, maybe it should be moved lower in
the document, or to a separate document.
2019-09-27 09:44:59 -07:00
Jean Boussier eff15a269f [EXPERIMENTAL] Make NilClass#to_s, TrueClass#to_s and FalseClass#to_s return a frozen String
* Always the same frozen String for each of these values.
    * Avoids extra allocations whenever calling these 3 methods.
    * See [Feature #16150]
2019-09-27 13:52:33 +09:00
Nobuyoshi Nakada dd1e047fcb
NEWS: fixed markups and indent [ci skip]
C API updates:

* adjusted indent.
* marked up ANYARGS as RDoc.
2019-09-27 02:31:39 +09:00
Nobuyoshi Nakada 617fa3049a
NEWS: fixed markups and formatting [ci skip]
* got rid of inadvertent label lists.
* marked up resolve_feature_path method names.
* fixed indentation of UnboundMethod#bind_call and marked up as
  RDoc.
2019-09-27 00:48:48 +09:00
Jean Boussier 5b9d646944 Fix Module#name news and add a test 2019-09-26 23:29:49 +09:00
git 1070456bb8 * remove trailing spaces. [ci skip] 2019-09-26 20:25:42 +09:00
Jean Boussier 9d0866c7d7 [EXPERIMENTAL] Make Module#name return a frozen String
* Always the same frozen String for a given Module or Class.
    * Avoids extra allocations whenever calling Module#name.
    * See [Feature #16150]
2019-09-26 13:25:23 +02:00
Benoit Daloze 6ffc045a81 [EXPERIMENTAL] Make Symbol#to_s return a frozen String
* Always the same frozen String for a given Symbol.
* Avoids extra allocations whenever calling Symbol#to_s.
* See [Feature #16150]
2019-09-26 10:23:02 +02:00
Nobuyoshi Nakada 2683171994
[DOC] DOT is not a part of a receiver [ci skip]
[Feature #11297] [Feature #16123]
2019-09-20 16:43:39 +09:00
Hiroshi SHIBATA 9d25c652a9
Removed ThreadsWait from the ruby repository 2019-09-20 14:21:04 +09:00
Hiroshi SHIBATA 37c0839425
Removed Synchronizer from the ruby repository. 2019-09-20 14:06:22 +09:00
Hiroshi SHIBATA 3b56a0934f
Removed Shell from the ruby repository. 2019-09-20 12:56:18 +09:00
Hiroshi SHIBATA 67a6662032
Removed Scanf from the ruby repository. 2019-09-20 12:43:11 +09:00
Hiroshi SHIBATA a3b8501614
Removed CMath from the ruby repository. 2019-09-20 12:31:37 +09:00
Nobuyoshi Nakada b80df6e8e0
Update NEWS and documents [ci skip]
[Feature #11297] [Feature #16123]
2019-09-20 02:40:59 +09:00
NARUSE, Yui 5208c431be Separate Time#inspect from to_s and show subsec [Feature #15958] 2019-09-19 20:20:15 +09:00
Nobuyoshi Nakada 3a3f48fb8f
Comment lines can be placed between fluent dot now 2019-09-15 23:12:24 +09:00
Samuel Williams 9699a5c5bc
Update news regarding `Fiber#raise`. 2019-09-14 22:43:51 +12:00
Akinori MUSHA 1d4bd229b8
Implement Enumerator::Lazy#eager [Feature #15901] 2019-09-04 16:16:46 +09:00
Nobuyoshi Nakada 6f206b8ec6
Prohibit nul-separated glob pattern [Feature #14643] (#2419) 2019-09-02 15:08:53 +09:00
Shugo Maeda 633ae3278e
Add Net::FTP#features and Net::FTP#option
Patch by darkphnx (Dan Wentworth) .  Thanks!
[Feature #15964]
2019-09-02 14:43:51 +09:00
Nobuyoshi Nakada e9b271d1e2
Get rid of interpreting BTS references as label-list [ci skip] 2019-09-02 14:38:26 +09:00
Takashi Kokubun e13c0bb820
Note about ANYARGS in NEWS
Since 50f5a0a8d6, some C++ extensions
needed fixes like https://github.com/eagletmt/faml/pull/49 to make their
build succeed.

Thus it's worth noting that C API declarations are changed.
2019-09-01 15:00:27 +09:00
Yusuke Endoh a1e588d1a7 NEWS: Hash-to-keywords automatic conversion is now warned
A follow up for 16c6984bb9..b5b3afadfa.  [Feature #14183]
2019-08-31 07:03:27 +09:00
Yusuke Endoh c9fc82983c lib/pp.rb: Use UnboundMethod#bind_call instead of .bind(obj).call(...)
Related to [Feature #15955].
2019-08-30 11:13:00 +09:00
Yusuke Endoh 83c6a1ef45 proc.c: Add UnboundMethod#bind_call
`umethod.bind_call(obj, ...)` is semantically equivalent to
`umethod.bind(obj).call(...)`.  This idiom is used in some libraries to
call a method that is overridden.  The added method does the same
without allocation of intermediate Method object.  [Feature #15955]

```
class Foo
  def add_1(x)
    x + 1
  end
end
class Bar < Foo
  def add_1(x) # override
    x + 2
  end
end

obj = Bar.new
p obj.add_1(1) #=> 3
p Foo.instance_method(:add_1).bind(obj).call(1) #=> 2
p Foo.instance_method(:add_1).bind_call(obj, 1) #=> 2
```
2019-08-30 11:13:00 +09:00
Nobuyoshi Nakada 79117d4a9b
NEWS: [Feature #16035] [ci skip] 2019-08-29 22:06:37 +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
Takashi Kokubun f9149c5596
Minor wording fix in NEWS [ci skip]
pushing a trivial commit for testing post-receive hook
2019-08-12 19:13:38 +09:00
Samuel Williams 47c0cab248
Add details of fiber pool and coroutine selection to NEWS. 2019-07-18 20:54:54 +12:00
aycabta de0f192444 Add features of IRB to NEWS 2019-07-15 16:25:50 +09:00
aycabta 574e8a6812 Add Reline section to NEWS 2019-07-15 15:49:59 +09:00
aycabta 3a1d3556e2 Fix a typo of Markdown of NEWS 2019-07-15 15:46:08 +09:00
Tanaka Akira 8f7884761e The default charset of text/* media type is UTF-8.
Thanks for the patch  gareth (Gareth Adams).  [Bug #15933]

-------

Combines two small, but very related changes

1: Treat HTTPS the same as HTTP

Previously, OpenURI followed guidance in RFC2616/3.7.1:

> When no explicit charset parameter is provided by the sender, media
> subtypes of the "text" type are defined to have a default charset
> value of "ISO-8859-1" when received via HTTP.

However this RFC was written before TLS was established and OpenURI was
never updated to treat HTTPS traffic the same way. So, HTTPS documents
received a different default to HTTP documents.

This commit removes the scheme check so that all text/* documents
processed by OpenURI are treated the same way.

In theory this processing gets applied to FTP URIs too, but there's no
mechanism in OpenURI for FTP documents to have Content-Type metadata
appended to them, so this ends up being a no-op.

2: Change default charset for text/* to UTF-8

Replaces the default ISO-8859-1 charset previously defined in RFC2616 (now
obsoleted) with a UTF-8 charset as defined in RFC6838.

Fixes: https://bugs.ruby-lang.org/issues/15933
2019-07-15 09:36:52 +09:00
Kazuhiro NISHIYAMA 0df4a813ca
NEWS: RubyVM.resolve_feature_path moved [ci skip] 2019-07-14 20:33:41 +09:00
Kazuhiro NISHIYAMA 043e3d2cdc
[DOC] Add missing headings [ci skip] 2019-07-14 17:58:41 +09:00
Kazuhiro NISHIYAMA db64093f51
[DOC] Fix a typo [ci skip] 2019-07-14 17:56:38 +09:00
Tanaka Akira 5786df12f5 Describe about Pathname.glob. 2019-07-14 17:44:33 +09:00
Tanaka Akira 6bca4437de Describe warning of open-uri. 2019-07-14 17:22:13 +09:00
Kazuhiro NISHIYAMA 4f351111b8
NEWS: warning of flip-flop is reverted [ci skip] 2019-07-14 14:40:38 +09:00
Benoit Daloze 0a5463f764 Add $LOAD_PATH.resolve_feature_path in NEWS 2019-07-13 15:26:47 +02:00
Kazuhiro NISHIYAMA d3d903cb5f
[DOC] Fix typos [ci skip] 2019-07-01 00:48:11 +09:00
NARUSE, Yui 7f64a0b4db Add new encoding CESU-8 [Feature #15931] 2019-06-24 12:58:33 +09:00
Samuel Williams 096a45d3d2 Update NEWS.
- Add note regarding IA64 removal.
- Add note about Thread allocation performance improvements.
2019-06-24 01:28:23 +12:00
Nobuyoshi Nakada ef524c13d9
NEWS: Module#constant_source_location
[Feature #10771]
2019-06-23 01:46:38 +09:00
Jean Boussier fb85a42860
Add an optional `inherit` argument to Module#autoload?
[Feature #15777]

Closes: https://github.com/ruby/ruby/pull/2173
2019-06-21 17:28:37 +09:00
Kazuhiro NISHIYAMA e6fbdde229
Fix a typo [ci skip] 2019-06-20 17:40:08 +09:00
Hiroshi SHIBATA 557bcd8774 Added racc entry to NEWS. 2019-06-20 16:11:03 +09:00
Jeremy Evans b9ef35e4c6 Implement Complex#<=>
Implement Complex#<=> so that it is usable as an argument when
calling <=> on objects of other classes (since #coerce will coerce
such numbers to Complex).  If the complex number has a zero imaginary
part, and the other argument is a real number (or complex number with
zero imaginary part), return -1, 0, or 1.  Otherwise, return nil,
indicating the objects are not comparable.

Fixes [Bug #15857]
2019-06-19 10:50:58 -07:00
Kazuhiro NISHIYAMA d780c36624
Pipeline operator is experimental [ci skip] 2019-06-14 17:30:12 +09:00
Nobuyoshi Nakada f169043d81
Add pipeline operator [Feature #15799] 2019-06-13 18:44:32 +09:00
Nobuyoshi Nakada e717d6faa8
IO#set_encoding_by_bom
* io.c (rb_io_set_encoding_by_bom): IO#set_encoding_by_bom to set
  the encoding by BOM if exists.  [Bug #15210]
2019-06-13 18:13:05 +09:00
Takashi Kokubun 6dc0541ed3
NEWS: Note about CGI.escapeHTML change [ci skip]
See https://github.com/ruby/ruby/pull/2226 for benchmark results.
2019-06-05 22:29:54 +09:00
Nobuyoshi Nakada 09c09eb0db
NEWS: move GC.compact
From "Implementation improvements" to "Core classes updates".
2019-06-02 00:42:57 +09:00
Nobuyoshi Nakada 3afae5b572
NEWS: markup class and method names 2019-06-02 00:42:11 +09:00
Nobuyoshi Nakada 1457ad1ea7
[DOC] JIS X 0301 has been updated
[ruby-dev:50790]
* https://www.meti.go.jp/press/2019/05/20190520006/20190520006.html
* https://www.meti.go.jp/press/2019/05/20190520006/20190520006-2.pdf

[ci skip]
2019-05-31 19:20:59 +09:00
Jeremy Evans 1cd93f1cdf Allow DelegateClass() to module_eval given block
Methods that return classes often module_eval the given block
(e.g. Class.new and Struct.new).  This allows DelegateClass to
work similarly.  This makes it easier to use DelegateClass
directly without subclassing, so as not to create an unnecessary
subclass.

Implements [Feature #15842]
2019-05-30 18:34:45 -07:00
Jeremy Evans 39eadca76b Add FrozenError#receiver
Similar to NameError#receiver, this returns the object on which
the modification was attempted.  This is useful as it can pinpoint
exactly what is frozen.  In many cases when a FrozenError is
raised, you cannot determine from the context which object is
frozen that you attempted to modify.

Users of the current rb_error_frozen C function will have to switch
to using rb_error_frozen_object or the new rb_frozen_error_raise
in order to set the receiver of the FrozenError.

To allow the receiver to be set from Ruby, support an optional
second argument to FrozenError#initialize.

Implements [Feature #15751]
2019-05-26 11:09:21 -07:00