summaryrefslogtreecommitdiff
path: root/string.c
AgeCommit message (Collapse)Author
2022-03-01[DOC] Fix String#getbyte docMau Magnaguagno
* String#getbyte returns `nil` if `index` is out of range. * Add String#getbyte example with nil output. * Modify String#getbyte example to use negative index. Notes: Merged: https://github.com/ruby/ruby/pull/5586 Merged-By: nobu <[email protected]>
2022-02-26[DOC] Move String.new to allow non US-ASCII charactersNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5410
2022-02-25[DOC] Enhanced RDoc for some encoding methods (#5598)Burdette Lamar
In String, treats: #b #scrub #scrub! #unicode_normalize #unicode_normalize! #encode #encode! Also adds a note to IO.new (suggested by @jeremyevans). Notes: Merged-By: BurdetteLamar <[email protected]>
2022-02-23Rename the wrong variable name `beg` to `len`Shugo Maeda
2022-02-21rb_debug_rstring_null_ptr: add newlines in the message [ci skip]Nobuyoshi Nakada
The message should end with a newline, and break the long paragraph.
2022-02-19Add String#byteindex, String#byterindex, and MatchData#byteoffset (#5518)Shugo Maeda
* Add String#byteindex, String#byterindex, and MatchData#byteoffset [Feature #13110] Co-authored-by: NARUSE, Yui <[email protected]> Notes: Merged-By: shugo <[email protected]>
2022-02-12[DOC] Remove unnecessary `rdoc-ref:` schemesNobuyoshi Nakada
2022-02-12[DOC] Simplify operator method referencesNobuyoshi Nakada
2022-02-08Remove extraneous "." in String#+@ documentationPaarth Madan
Notes: Merged: https://github.com/ruby/ruby/pull/5522
2022-02-08[DOC] Fix broken links to operator methodsNobuyoshi Nakada
Once https://github.com/ruby/rdoc/pull/865 is merged, these hacks are no longer needed.
2022-02-08[DOC] Fix broken links to case_mapping.rdocNobuyoshi Nakada
2022-02-08[DOC] Fix broken links to literals.rdocNobuyoshi Nakada
2022-02-08[DOC] Simplify links to global methodsNobuyoshi Nakada
2022-02-07[DOC] Use RDoc link style for links in the same class/modulePeter Zhu
I used this regex: (?<=\[)#(?:class|module)-([A-Za-z]+)-label-([A-Za-z0-9\-\+]+) And performed a global find & replace for this: rdoc-ref:$1@$2 Notes: Merged: https://github.com/ruby/ruby/pull/5530
2022-02-07[DOC] Use RDoc link style for links to other classes/modulesPeter Zhu
I used this regex: ([A-Za-z]+)\.html#(?:class|module)-[A-Za-z]+-label-([A-Za-z0-9\-\+]+) And performed a global find & replace for this: rdoc-ref:$1@$2 Notes: Merged: https://github.com/ruby/ruby/pull/5530
2022-02-06Improve links to labels in string.c and struct.c (#5531)Burdette Lamar
Notes: Merged-By: BurdetteLamar <[email protected]>
2022-01-07Change termlen when changing encoding during concatenationPeter Zhu
After changing the encoding, we should update the terminator length. Notes: Merged: https://github.com/ruby/ruby/pull/5411
2022-01-07[DOC] Fix typos in a doxygen comment [ci skip]Nobuyoshi Nakada
2022-01-06Revert "Set encoding before concatenating to string"Peter Zhu
This reverts commit 44368b5f8bc21e19fa06a0fc0625923fc41293e6. Notes: Merged: https://github.com/ruby/ruby/pull/5406
2022-01-06Set correct termlen for frozen stringsPeter Zhu
Frozen strings should have the same termlen as the original string when copy_encoding is true. Notes: Merged: https://github.com/ruby/ruby/pull/5399
2022-01-06Set encoding before concatenating to stringPeter Zhu
If we set encoding after the call to rb_str_buf_cat, then rb_str_buf_cat will not set the correct terminator length. Notes: Merged: https://github.com/ruby/ruby/pull/5399
2021-12-26Remove tainted and trusted featuresNobuyoshi Nakada
Already these had been announced to be removed in 3.2. Notes: Merged: https://github.com/ruby/ruby/pull/5348
2021-12-19[DOC] How to get the longest last match [Bug #18415]Nobuyoshi Nakada
2021-12-17What's Here for Symbol (#5289)Burdette Lamar
* What's Here for Symbol Notes: Merged-By: BurdetteLamar <[email protected]>
2021-12-17Enhanced RDoc for case mapping (#5245)Burdette Lamar
Adds file doc/case_mapping.rdoc, which describes case mapping and provides a link target that methods doc can link to. Revises: String#capitalize String#capitalize! String#casecmp String#casecmp? String#downcase String#downcase! String#swapcase String#swapcase! String#upcase String#upcase! Symbol#capitalize Symbol#casecmp Symbol#casecmp? Symbol#downcase Symbol#swapcase Symbol#upcase Notes: Merged-By: BurdetteLamar <[email protected]>
2021-12-10Enhanced RDoc for String (#5234)Burdette Lamar
Treated: #to_i #to_f #to_s #inspect #dump #undump Notes: Merged-By: BurdetteLamar <[email protected]>
2021-12-08Enhanced RDoc for String (#5227)Burdette Lamar
Treats: #replace #clear #chr #getbyte #setbyte #byteslice #reverse #reverse! #include? Notes: Merged-By: BurdetteLamar <[email protected]>
2021-12-03Fix link (#5208)Burdette Lamar
Notes: Merged-By: BurdetteLamar <[email protected]>
2021-12-03Adding links to literals and Kernel (#5192)Burdette Lamar
* Adding links to literals and Kernel Notes: Merged-By: BurdetteLamar <[email protected]>
2021-11-26Improve performance of embedded string allocationPeter Zhu
Non-VWA embedded string allocation had a performance regression. This commit improves performance of non-VWA embedded string allocation. Notes: Merged: https://github.com/ruby/ruby/pull/5183
2021-11-23Speed up Ractors for Variable Width AllocationPeter Zhu
This commit adds a Ractor cache for every size pool. Previously, all VWA allocated objects used the slowpath and locked the VM. On a micro-benchmark that benchmarks String allocation: VWA turned off: 29.196591 0.889709 30.086300 ( 9.434059) VWA before this commit: 29.279486 41.477869 70.757355 ( 12.527379) VWA after this commit: 16.782903 0.557117 17.340020 ( 4.255603) Notes: Merged: https://github.com/ruby/ruby/pull/5151
2021-11-08[Feature #18290] Remove all usages of rb_gc_force_recyclePeter Zhu
This commit removes usages of rb_gc_force_recycle since it is a burden to maintain and makes changes to the GC difficult. Notes: Merged: https://github.com/ruby/ruby/pull/4363
2021-11-03string.c: Follow up to ae2359f602bb467ca755eef02d73d361d35eaed7Yusuke Endoh
* Mention `\0` * Make the example of hash replacement meaningful
2021-11-02Enhanced RDoc for String (#5060)Burdette Lamar
Treated: #slice! #sub #sub! #gsub #gsub! Notes: Merged-By: BurdetteLamar <[email protected]>
2021-10-28Cleanup some RDoc (#5050)Burdette Lamar
Mostly adding blank line before and after code segment, to improve compliance with doc\documentation_guide.rdoc. Notes: Merged-By: BurdetteLamar <[email protected]>
2021-10-29string.c: Add some comments about STR flagsYusuke Endoh
2021-10-25[Feature #18239] Implement VWA for stringsPeter Zhu
This commit adds support for embedded strings with variable capacity and uses Variable Width Allocation to allocate strings. Notes: Merged: https://github.com/ruby/ruby/pull/4933
2021-10-25[Feature #18239] Add struct for embedded stringsPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/4933
2021-10-15Update documentation for String and Symbol to discuss differencesJeremy Evans
Implements [Feature #14347]
2021-10-08Add tests for the edge caces of `String#end_with?`Nobuyoshi Nakada
Also, check if a suffix is empty, to guarantee the assumption of `onigenc_get_left_adjust_char_head` that `*s` is always accessible, even in the case of `SHARABLE_MIDDLE_SUBSTRING`.
2021-10-06* remove trailing spaces. [ci skip]git
2021-10-05Fix documentation for String#{<<,concat,prepend}Jeremy Evans
These methods mutate and return the receiver, they don't create and return a new string. Fixes [Bug #18241]
2021-10-05Adjust types to rb_enc_left_char_headNobuyoshi Nakada
I dislike unnatural casts.
2021-10-05Remove a redundant cast between the exact same typesNobuyoshi Nakada
2021-10-05rb_enc_left_char_head(): take void*卜部昌平
Nobu doesn't like (char*) cast. Notes: Merged: https://github.com/ruby/ruby/pull/4909
2021-10-05downcase_single/upcase_single: assume ASCII卜部昌平
These functions assume ASCII compatibility. That has to be ensured in their caller. Notes: Merged: https://github.com/ruby/ruby/pull/4909
2021-10-05include/ruby/encoding.h: convert macros into inline functions卜部昌平
Less macros == huge win. Notes: Merged: https://github.com/ruby/ruby/pull/4909
2021-10-05add undeclared variables卜部昌平
Why did they even exist? Notes: Merged: https://github.com/ruby/ruby/pull/4909
2021-10-01Skip broken strings as the locale encodingNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4915
2021-09-23[DOC] Use `unpack1` instead of `unpack(template)[0]` [ci skip]Kazuhiro NISHIYAMA