| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
After changing the encoding, we should update the terminator length.
|
| |
|
|
|
|
| |
This reverts commit 44368b5f8bc21e19fa06a0fc0625923fc41293e6.
|
|
|
|
|
| |
Frozen strings should have the same termlen as the original string when
copy_encoding is true.
|
|
|
|
|
| |
If we set encoding after the call to rb_str_buf_cat, then rb_str_buf_cat
will not set the correct terminator length.
|
|
|
|
| |
Already these had been announced to be removed in 3.2.
|
| |
|
|
|
|
| |
* What's Here for Symbol
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
Treated:
#to_i
#to_f
#to_s
#inspect
#dump
#undump
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Treats:
#replace
#clear
#chr
#getbyte
#setbyte
#byteslice
#reverse
#reverse!
#include?
|
| |
|
|
|
|
| |
* Adding links to literals and Kernel
|
|
|
|
|
| |
Non-VWA embedded string allocation had a performance regression. This
commit improves performance of non-VWA embedded string allocation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
This commit removes usages of rb_gc_force_recycle since it is a burden
to maintain and makes changes to the GC difficult.
|
|
|
|
|
| |
* Mention `\0`
* Make the example of hash replacement meaningful
|
|
|
|
|
|
|
|
|
|
| |
Treated:
#slice!
#sub
#sub!
#gsub
#gsub!
|
|
|
| |
Mostly adding blank line before and after code segment, to improve compliance with doc\documentation_guide.rdoc.
|
| |
|
|
|
|
|
| |
This commit adds support for embedded strings with variable capacity and
uses Variable Width Allocation to allocate strings.
|
| |
|
|
|
|
| |
Implements [Feature #14347]
|
|
|
|
|
|
| |
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`.
|
| |
|
|
|
|
|
|
|
| |
These methods mutate and return the receiver, they don't create
and return a new string.
Fixes [Bug #18241]
|
|
|
|
| |
I dislike unnatural casts.
|
| |
|
|
|
|
| |
Nobu doesn't like (char*) cast.
|
|
|
|
|
| |
These functions assume ASCII compatibility. That has to be ensured in
their caller.
|
|
|
|
| |
Less macros == huge win.
|
|
|
|
| |
Why did they even exist?
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Linking printf family functions makes mjit objects to link
unnecessary code.
|
|
|
|
| |
Must not be a bad idea to improve documents. [ci skip]
|
|
|
|
|
| |
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.
|
|
|
|
| |
And the NULL string must be of size 0.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
| |
7 spaces were used for 2 levels of indentation. This commit changes it
to use 8 spaces.
|
|
|
| |
Descriptions for return values of -1 and 1 were reversed.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
At compilation time with RUBY_DEBUG enabled, check if the removal
version has been reached.
|
| |
|
|
|
|
|
|
| |
We came across a bug in our code because we assumed `String#hash` to be consistent across Ruby processes, which was incorrect.
Our search lead us to `Object#hash` which has the right warning that `String#hash` doesn't. We also noticed that a previous version of the documentation for `String#hash` pointed to `Object#hash` that was removed by https://github.com/ruby/ruby/pull/3565.
We think this removal might not be intended and just got missed amidst other changes.
|