Commit graph

1702 commits

Author SHA1 Message Date
Nobuyoshi Nakada
6e65e04186
[DOC] Remove unnecessary rdoc-ref: schemes 2022-02-12 12:38:37 +09:00
Nobuyoshi Nakada
50c972a1ae
[DOC] Simplify operator method references 2022-02-12 12:38:36 +09:00
Paarth Madan
2a30ddd9f3 Remove extraneous "." in String#+@ documentation 2022-02-08 10:33:49 +09:00
Nobuyoshi Nakada
8ca7b0b68a
[DOC] Fix broken links to operator methods
Once https://github.com/ruby/rdoc/pull/865 is merged, these hacks
are no longer needed.
2022-02-08 01:39:37 +09:00
Nobuyoshi Nakada
07bf65858d
[DOC] Fix broken links to case_mapping.rdoc 2022-02-08 01:28:08 +09:00
Nobuyoshi Nakada
16fdc1ff46
[DOC] Fix broken links to literals.rdoc 2022-02-08 01:27:52 +09:00
Nobuyoshi Nakada
bc5662d9d8
[DOC] Simplify links to global methods 2022-02-08 01:18:56 +09:00
Peter Zhu
a32e5e1b97 [DOC] Use RDoc link style for links in the same class/module
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
2022-02-07 09:52:06 -05:00
Peter Zhu
f9a2802bc5 [DOC] Use RDoc link style for links to other classes/modules
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
2022-02-07 09:52:06 -05:00
Burdette Lamar
a07fa198a6
Improve links to labels in string.c and struct.c (#5531) 2022-02-06 09:44:40 -06:00
Peter Zhu
be68b3a490 Change termlen when changing encoding during concatenation
After changing the encoding, we should update the terminator length.
2022-01-07 10:50:03 -05:00
Nobuyoshi Nakada
3f9af8a9dc
[DOC] Fix typos in a doxygen comment [ci skip] 2022-01-07 23:55:59 +09:00
Peter Zhu
ae0d67d762 Revert "Set encoding before concatenating to string"
This reverts commit 44368b5f8b.
2022-01-06 17:23:05 -05:00
Peter Zhu
5f55b03716 Set correct termlen for frozen strings
Frozen strings should have the same termlen as the original string when
copy_encoding is true.
2022-01-06 14:33:35 -05:00
Peter Zhu
44368b5f8b Set encoding before concatenating to string
If we set encoding after the call to rb_str_buf_cat, then rb_str_buf_cat
will not set the correct terminator length.
2022-01-06 14:33:35 -05:00
Nobuyoshi Nakada
39bc5de833
Remove tainted and trusted features
Already these had been announced to be removed in 3.2.
2021-12-26 23:28:54 +09:00
Nobuyoshi Nakada
e2ec97c4b8
[DOC] How to get the longest last match [Bug #18415] 2021-12-19 20:27:31 +09:00
Burdette Lamar
5588aa79d4
What's Here for Symbol (#5289)
* What's Here for Symbol
2021-12-17 17:02:12 -06:00
Burdette Lamar
f7e266e6d2
Enhanced RDoc for case mapping (#5245)
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
2021-12-17 06:05:31 -06:00
Burdette Lamar
e5ff030f60
Enhanced RDoc for String (#5234)
Treated:

    #to_i
    #to_f
    #to_s
    #inspect
    #dump
    #undump
2021-12-10 10:50:13 -06:00
Burdette Lamar
9a2ecddf32
Enhanced RDoc for String (#5227)
Treats:

    #replace
    #clear
    #chr
    #getbyte
    #setbyte
    #byteslice
    #reverse
    #reverse!
    #include?
2021-12-08 12:29:56 -06:00
Burdette Lamar
7fc9d83bd1
Fix link (#5208) 2021-12-03 10:46:35 -06:00
Burdette Lamar
28fb6d6b9e
Adding links to literals and Kernel (#5192)
* Adding links to literals and Kernel
2021-12-03 07:12:28 -06:00
Peter Zhu
7cfacbcad2 Improve performance of embedded string allocation
Non-VWA embedded string allocation had a performance regression. This
commit improves performance of non-VWA embedded string allocation.
2021-11-26 13:27:32 -05:00
Peter Zhu
9aded89f40 Speed up Ractors for Variable Width 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)
2021-11-23 10:51:27 -05:00
Peter Zhu
aeae6e2842 [Feature #18290] Remove all usages of rb_gc_force_recycle
This commit removes usages of rb_gc_force_recycle since it is a burden
to maintain and makes changes to the GC difficult.
2021-11-08 14:05:54 -05:00
Yusuke Endoh
4b248e7994 string.c: Follow up to ae2359f602
* Mention `\0`
* Make the example of hash replacement meaningful
2021-11-03 03:52:28 +09:00
Burdette Lamar
ae2359f602
Enhanced RDoc for String (#5060)
Treated:

    #slice!
    #sub
    #sub!
    #gsub
    #gsub!
2021-11-02 13:04:58 -05:00
Burdette Lamar
3e743d3147
Cleanup some RDoc (#5050)
Mostly adding blank line before and after code segment, to improve compliance with doc\documentation_guide.rdoc.
2021-10-28 17:01:49 -05:00
Yusuke Endoh
acb2f86caa string.c: Add some comments about STR flags 2021-10-29 01:57:29 +09:00
Peter Zhu
a5b6598192 [Feature #18239] Implement VWA for strings
This commit adds support for embedded strings with variable capacity and
uses Variable Width Allocation to allocate strings.
2021-10-25 13:26:23 -04:00
Peter Zhu
46b66eb9e8 [Feature #18239] Add struct for embedded strings 2021-10-25 13:26:23 -04:00
Jeremy Evans
2a5c3a4d0f Update documentation for String and Symbol to discuss differences
Implements [Feature #14347]
2021-10-15 13:54:03 -07:00
Nobuyoshi Nakada
78ff9b719c
Add tests for the edge caces of String#end_with?
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-08 14:08:03 +09:00
git
1bf3f3f4da * remove trailing spaces. [ci skip] 2021-10-06 00:40:54 +09:00
Jeremy Evans
c6706f15af Fix documentation for String#{<<,concat,prepend}
These methods mutate and return the receiver, they don't create
and return a new string.

Fixes [Bug #18241]
2021-10-05 08:39:27 -07:00
Nobuyoshi Nakada
cd182c5ee1
Adjust types to rb_enc_left_char_head
I dislike unnatural casts.
2021-10-05 17:14:29 +09:00
Nobuyoshi Nakada
5a961c3768
Remove a redundant cast between the exact same types 2021-10-05 15:56:34 +09:00
卜部昌平
f032c09bca rb_enc_left_char_head(): take void*
Nobu doesn't like (char*) cast.
2021-10-05 14:18:23 +09:00
卜部昌平
499660b04f downcase_single/upcase_single: assume ASCII
These functions assume ASCII compatibility.  That has to be ensured in
their caller.
2021-10-05 14:18:23 +09:00
卜部昌平
5112a54846 include/ruby/encoding.h: convert macros into inline functions
Less macros == huge win.
2021-10-05 14:18:23 +09:00
卜部昌平
e42c8c160d add undeclared variables
Why did they even exist?
2021-10-05 14:18:23 +09:00
Nobuyoshi Nakada
842b0008c1 Skip broken strings as the locale encoding 2021-10-01 20:28:44 +09:00
Kazuhiro NISHIYAMA
e0c6e8c64a
[DOC] Use unpack1 instead of unpack(template)[0] [ci skip] 2021-09-23 09:20:00 +09:00
Nobuyoshi Nakada
cbbda3e648
Adjust indent in string.c [ci skip] 2021-09-16 23:49:16 +09:00
S.H
b8c3a84bdd
Refactor and Using RBOOL macro 2021-09-15 08:11:05 +09:00
Nobuyoshi Nakada
cd829bb078 Remove printf family from the mjit header
Linking printf family functions makes mjit objects to link
unnecessary code.
2021-09-11 08:41:32 +09:00
卜部昌平
091faca99c include/ruby/internal/intern/string.h: add doygen
Must not be a bad idea to improve documents. [ci skip]
2021-09-10 20:00:06 +09:00
Peter Zhu
5d81554281 [Bug #18154] Fix memory leak in String#initialize
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.
2021-09-08 10:20:12 -04:00
Nobuyoshi Nakada
edf01d4e82
Treat NULL fake string as an empty string
And the NULL string must be of size 0.
2021-08-17 18:45:36 +09:00