aboutsummaryrefslogtreecommitdiffstats
path: root/hash.c
Commit message (Collapse)AuthorAgeFilesLines
* Adds RDoc summary of Hash methods (#4045)Burdette Lamar2021-01-101-0/+123
| | | | * Adds RDoc summary of Hash methods
* Make any hash values fixable [Bug #17488]Nobuyoshi Nakada2020-12-311-8/+3
| | | | | | | As hnum is an unsigned st_index_t, the result of RSHIFT may not be in the fixable range. Co-authored-by: NeoCat <neocat@neocat.jp>
* Adjusted indents [ci skip]Nobuyoshi Nakada2020-12-281-7/+7
|
* Optimize calls to `Kernel#hash` (#3987)Marc-André Lafortune2020-12-251-1/+5
| | | | This avoids recursive checks when the `hash` method of an object isn't specialized.
* Make `Hash#except` always return a HashMarc-Andre Lafortune2020-12-191-1/+2
| | | | [Feature #15822]
* Document Hash#transform_keys with hash. Amend NEWS [DOC] [ci skip]Marc-Andre Lafortune2020-12-151-14/+15
|
* Windows: Read ENV names and values as UTF-8 encoded Strings (#3818)Lars Kanis2020-12-081-62/+13
| | | | | | | | | | | | | | | | | | | | | * Windows: Read ENV names and values as UTF-8 encoded Strings Implements issue #12650: fix https://bugs.ruby-lang.org/issues/12650 This also removes the special encoding for ENV['PATH'] and some complexity in the code that is unnecessary now. * Windows: Improve readablity of getenv() encoding getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent. * Windows: Change external C-API macros getenv() and execv() to use UTF-8 They used to process and return strings with locale encoding, but since all ruby-internal spawn and environment functions use UTF-8, it makes sense to change the C-API equally.
* Hash#index: delete卜部昌平2020-12-071-9/+0
| | | | Has been deprecated since 0c97c8e33584e6203bb09c08f92b63bd2cca8ae7.
* ENV.index: delete卜部昌平2020-12-021-14/+0
| | | | Has been deprecated since 373282f6656d3d3d989d261e7a95f8e81b5c9712.
* Fix USE_TRANSIENT_HEAP macro usage in hash.cCristian Greco2020-11-191-1/+1
| | | | Additionally fix some typos in transient heap.
* Make ENV.replace handle multiple environ entries with the same keyJeremy Evans2020-10-291-1/+4
| | | | | | | | | | | | | | | While it is expected that all environment keys are unique, that is not enforced. It is possible by manipulating environ directly you can call a process with an environment with duplicate keys. If ENV.replace was passed a hash with a key where environ had a duplicate for that key, ENV.replace would end up deleting the key from environ. The fix in this case is to not assume that the environment key list has unique keys, and continue processing the entire key list in keylist_delete. Fixes [Bug #17254]
* Don't redefine #rb_intern over and over againStefan Stüben2020-10-211-5/+3
|
* [ci skip] Minor documentation fix.Cristian Greco2020-10-121-1/+1
| | | Add missing period.
* Add call-seq of [Feature #16274]Kazuhiro NISHIYAMA2020-09-291-0/+1
|
* Fix `ENV.except`'s docsbogdanvlviv2020-09-261-2/+2
|
* Make hash returned by Hash#transform_values not have a defaultJeremy Evans2020-09-211-0/+1
| | | | | | | This sets an explicit default of nil. There is probably a better approach of removing the default. Fixes [Bug #17181]
* Comply with guide for method doc: hash.c (#3466)Burdette Lamar2020-08-271-22/+3
| | | | | | | | | | Instance methods considered (most unchanged): - any - dig - \<= - \< - \>= - \> - to_proc
* Comply with guide for method doc: hash.c (#3465)Burdette Lamar2020-08-271-32/+2
| | | | | | | | | | | | | | | Instance methods considered (maybe not all changed): invert merge! merge assoc rassoc flatten compact compact! compare_by_identity compare_by_identity?
* Comply with guide for method doc: hash.c (#3464)Burdette Lamar2020-08-271-72/+8
| | | | | | | | | | | | | | | | Instance methods considered (maybe not all changed): to_a inspect to_hash to_h keys values include? has_value? == eql? hash
* Comply with guide for method doc: hash.c (#3459)Burdette Lamar2020-08-271-53/+11
| | | | | | | | | | | | | | | | | Instance methods considered (some maybe not changed): clear []= replace length empty? each_value each_key each_pair transform_keys transform_keys! transform_values transform_values!
* Comply with guide for method doc: hash.c (#3454)Burdette Lamar2020-08-251-71/+19
| | | | | | | | | | | | | | | | | | Methods reviewed (a few not modified): key delete shift delete_if reject! reject slice except values_at fetch_values select select! keep_if
* Comply with guide for method doc: hash.c (#3451)Burdette Lamar2020-08-251-135/+48
| | | | | | | | | | | | | | | | Methods: ::new ::[] ::try_convert #rehash #[] #fetch #default #default= #default_proc #default_proc=
* Remove checks for self returned in array.c and hash.c examples (#3446)Burdette Lamar2020-08-231-97/+32
| | | Further compliance with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc#details-and-examples-
* Remove nil-return examples from hash.c (#3438)Burdette Lamar2020-08-211-54/+24
| | | | * Remove nil-return examples from hash.c
* Partial compliance with doc/method_documentation.rdoc in hash.c (#3432)Burdette Lamar2020-08-201-71/+7
| | | Removes references to *-convertible thingies.
* [DOC] Improve Hash's doc for missing keysMarc-Andre Lafortune2020-08-191-106/+75
|
* [DOC] Improve and simplify key egality documentation for HashMarc-Andre Lafortune2020-08-191-115/+28
|
* RHASH_TBL: is now ext-only卜部昌平2020-08-191-8/+1
| | | | | It seems almost no internal codes use RHASH_TBL any longer. Why not just eliminate it entirely, so that the macro can be purely ext-only.
* Fix links to Dig Methods document (#3421)Burdette Lamar2020-08-141-1/+1
| | | | | * Fix links to Dig Methods document * Fix links to Dig Methods document
* Adding doc/dig_methods.rdoc and links to it (#3416)Burdette Lamar2020-08-131-42/+8
| | | | | | | Adds a full discussion of #dig, along with links from Array, Hash, Struct, and OpenStruct. CSV::Table and CSV::Row are over in ruby/csv. I'll get to them soon. The art to the thing is to figure out how much (or how little) to say at each #dig.
* Fix arity of Hash#to_proc [Bug #12671]Benoit Daloze2020-07-291-1/+1
|
* rb_hash_transient_heap_evacuate: do not goto into a branch卜部昌平2020-06-291-5/+4
| | | | | I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor.
* any_hash: do not goto into a branch卜部昌平2020-06-291-19/+18
| | | | | I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor.
* Add Hash#except ENV#except [Feature #15822]Timo Schilling2020-06-181-0/+52
|
* ENV.delete should return the result of block on non-existing keyNobuyoshi Nakada2020-06-101-6/+7
| | | | | | | Fixes [Bug #16173] Co-Authored-By: Burdette Lamar <burdettelamar@yahoo.com> Co-Authored-By: Jeremy Evans <code@jeremyevans.net>
* Enhanced Rdoc for Array#fetch and Array#index (#3202)Burdette Lamar2020-06-101-6/+6
| | | | | * Enhanced Rdoc for Array#fetch and Array#index * Couple of tweaks (per review) in Rdoc for Hash
* Enhanced Rdoc for Hash (#3187)Burdette Lamar2020-06-071-57/+76
| | | | | | | | | | | Methods: #<= #< #>= #> #to_proc Also, a small amount of housekeeping: Adding backslash to some class name to prevent linking.
* Enhanced Rdoc for Hash (#3178)Burdette Lamar2020-06-031-53/+160
| | | | | | | * Enhanced Rdoc for Hash * Fix typo in Hash Rdoc * Enhanced Rdoc for Hash
* [ci skip] Enhanced Rdoc for Hash (#3162)Burdette Lamar2020-06-021-135/+254
| | | | | * Enhanced Rdoc for Hash * Enhanced Rdoc for Hash
* fix typo in Hash#delete docsS-H-GAMELINKS2020-06-011-1/+1
|
* [ci skip] Enhanced Rdoc for Hash (#3155)Burdette Lamar2020-05-291-58/+96
| | | | | * Enhanced Rdoc for Hash * Respond to review
* Enhanced Rdoc for Hash (#3151)Burdette Lamar2020-05-281-87/+180
|
* [ci skip] Enhanced Rdoc for Hash (#3143)Burdette Lamar2020-05-271-50/+71
| | | | | | | | * Enhanced Rdoc for Hash * Respond to review * Nudge CI testing. Respond to review
* Enhanced Rdoc for Hash (#3139)Burdette Lamar2020-05-231-40/+109
|
* Enhanced Rdoc for HashBurdetteLamar2020-05-231-37/+104
|
* Enhanced rdoc for Hash (#3129)Burdette Lamar2020-05-221-24/+29
|
* add static modifier for rb_hash_keep_if funcS-H-GAMELINKS2020-05-221-1/+1
|
* add static modifier for rb_hash_select_bang funcS-H-GAMELINKS2020-05-221-1/+1
|
* add static modifier for rb_hash_select funcS-H-GAMELINKS2020-05-221-1/+1
|
* [ci skip] Enhanced rdoc for Hash (#3121)Burdette Lamar2020-05-211-55/+72
|