summaryrefslogtreecommitdiff
path: root/string.c
AgeCommit message (Collapse)Author
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 <BurdetteLamar@Yahoo.com>
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 <BurdetteLamar@Yahoo.com>
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 <BurdetteLamar@Yahoo.com>
2021-12-10Enhanced RDoc for String (#5234)Burdette Lamar
Treated: #to_i #to_f #to_s #inspect #dump #undump Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-12-08Enhanced RDoc for String (#5227)Burdette Lamar
Treats: #replace #clear #chr #getbyte #setbyte #byteslice #reverse #reverse! #include? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-12-03Fix link (#5208)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-12-03Adding links to literals and Kernel (#5192)Burdette Lamar
* Adding links to literals and Kernel Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
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 <BurdetteLamar@Yahoo.com>
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 <BurdetteLamar@Yahoo.com>
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
2021-09-16Adjust indent in string.c [ci skip]Nobuyoshi Nakada
2021-09-15Refactor and Using RBOOL macroS.H
Notes: Merged: https://github.com/ruby/ruby/pull/4837 Merged-By: nobu <nobu@ruby-lang.org>
2021-09-11Remove printf family from the mjit headerNobuyoshi Nakada
Linking printf family functions makes mjit objects to link unnecessary code. Notes: Merged: https://github.com/ruby/ruby/pull/4820
2021-09-10include/ruby/internal/intern/string.h: add doygen卜部昌平
Must not be a bad idea to improve documents. [ci skip] Notes: Merged: https://github.com/ruby/ruby/pull/4815
2021-09-08[Bug #18154] Fix memory leak in String#initializePeter Zhu
String#initialize can leak memory when called on a string that is marked with STR_NOFREE because it does not unset the STR_NOFREE flag. Notes: Merged: https://github.com/ruby/ruby/pull/4814
2021-08-17Treat NULL fake string as an empty stringNobuyoshi Nakada
And the NULL string must be of size 0.
2021-08-11Term fill in String#{,l,r}strip! even when SHARABLE_MIDDLE_SUBSTRINGJeremy Evans
Each of these methods calls str_modify_keep_cr before term filling, which should ensure the backing string uses private memory, and therefore term filling should not affect other strings. Skipping the term filling was added in a707ab4bc8a29241440f56696098efa2f7f3ff45. Fixes [Bug #12540] Notes: Merged: https://github.com/ruby/ruby/pull/4731