113 Commits

Author SHA1 Message Date
gingerBill
039c438af2 Fix possible utf16 out of bounds issue 2026-04-02 12:54:07 +01:00
gingerBill
55f398b734 Add #no_bounds_check to appropriate procedures 2026-03-15 16:00:40 +00:00
StudebakerGuy
d3a71c5dc6 string_to_proplist_property returns error
string_to_proplist_property was being used with an or_return but
did not return an error. The function now returns an error when
it cannot identify a property.
2026-03-09 19:32:27 -04:00
StudebakerGuy
20b4d5757f Corrected type name Prop_List_Property 2026-03-09 19:25:00 -04:00
Jeroen van Rijn
d880404b84 Style 2026-03-09 19:48:28 +01:00
Jeroen van Rijn
df0d74efbe Simplify table writer 2026-03-09 19:48:27 +01:00
Jeroen van Rijn
7928d1b92c Simplify 2026-03-09 19:48:26 +01:00
Jeroen van Rijn
7b79f28522 Allow compiling with -vet -vet-tabs -strict-style -vet-style -vet-cast -warnings-as-errors -disallow-do
Support the same strict flags as used throughout the CI tests.
2026-03-09 19:48:25 +01:00
Jeroen van Rijn
3f330752cd Replace iterators; fixes line ending handling 2026-03-09 19:48:24 +01:00
StudebakerGuy
1d0510d27f is_graphic now uses the generated Unicode tables
unicode.is_graphic has been modified to use the generted Unicode
tables. The tables Me, Mn, Mc, and Zs were add as needed by is_graphic.
2026-03-09 19:48:23 +01:00
StudebakerGuy
65d0e5c82f is_symbol uses generated Unicode tables
Tables for Sm, Sc, Sk, So are now being generated. These tables
are now being searched by is_symbol
2026-03-09 19:48:22 +01:00
StudebakerGuy
8f5f1ee1cc is_punct now searches generated tables 2026-03-09 19:48:20 +01:00
StudebakerGuy
3bfa01d4a8 Generate Unicode Punctuation Tables 2026-03-09 19:48:20 +01:00
StudebakerGuy
9b38bdf849 Refactor to remove the us of if do 2026-03-09 19:48:18 +01:00
StudebakerGuy
e9943e6145 is_letter now uses generated tables
unicode.is_letter has been modified to use the generated unicode tables.
2026-03-09 19:48:18 +01:00
StudebakerGuy
69c04b696a islower now used the generated tables 2026-03-09 19:48:16 +01:00
StudebakerGuy
b4d70d3c5b Corrected issue with PropList.txt ranges 2026-03-09 19:48:15 +01:00
StudebakerGuy
090dedda1b is_number now searches generate tables 2026-03-09 19:48:14 +01:00
StudebakerGuy
e5b1f1bf94 Add procedure is_decimal
This adds the function `is_decimal` to `core/unicode`
2026-03-09 19:48:13 +01:00
StudebakerGuy
263bc8cc7e Added comment to is_digit 2026-03-09 19:48:12 +01:00
StudebakerGuy
673adf30c3 Add searing of generated tables, Fixed in_digit
This adds the functino `unicode.in_range` to search for a run in
the `Range` type used in `core/unicode/generated.odin`.

This also modifies `unicode.binary_search` so it will support searching
types other than i32 by making it support implicit parametric polymorphism.

`unicode.in_digit` has been modified to use the generated tables.
2026-03-09 19:48:11 +01:00
StudebakerGuy
9d038b23ec Add generated tables to core/unicode 2026-03-09 19:48:09 +01:00
StudebakerGuy
8f579d1f3b Added program to generate Unicode Table
This adds a program that will generate tables for use by the `core/unicode`
package. The table generated file will be `core/unicode/generated.odin`

It may be better to incorporate this into `generate_entity_table.odin`.
This can easily be accomplised if desired.
2026-03-09 19:48:09 +01:00
Jeroen van Rijn
82b3917300 Update unicode.xml to 17 2026-02-21 14:02:41 +01:00
Jeroen van Rijn
98b65f2c2e Update unicode generator + test 2026-02-21 01:54:17 +01:00
Krzesimir Nowak
a90f2ad3a0 Print errors in tools and examples to stderr 2026-02-17 23:08:32 +01:00
Krzesimir Nowak
47775214d6 Fix some tools and examples after core:os update and using-stmt feature 2026-02-17 21:58:08 +01:00
Wrath
06b10f9ae8 Add #optional_allocator_error 2026-02-16 14:40:37 -05:00
wrathdoesthat
f0912ce4c2 Merge branch 'odin-lang:master' into master 2026-02-16 14:38:22 -05:00
Wrath
5c5e337172 Propagate allocator errors from certain unicode functions 2026-02-15 22:27:30 -05:00
DuchGhast
c1df42d991 Fix utf8 validation 2026-02-15 14:49:50 +00:00
Jeroen van Rijn
e7dbabf668 core:os -> core:os/old && core:os/os2 -> core:os 2026-02-09 15:50:21 +01:00
Jeroen van Rijn
8b3ae667f4 More conflicts during rebase 2026-02-08 12:50:19 +01:00
Jeroen van Rijn
3a7c4994ac Fix #6204
Use temporary stack buffers and some global scratch space to remove the need for any allocator.
2026-02-02 13:11:23 +01:00
gingerBill
db26fb8a21 Add missing @(require_results) to procedures 2026-01-28 13:39:51 +00:00
gingerBill
625e17212d Correct 2 rune printing 2026-01-18 12:13:03 +00:00
gingerBill
23198f7917 Move html escaping calls and fix existing generator 2026-01-18 11:45:40 +00:00
Dusty Miller
cb98a83f77 Update letter.odin
Fix MAX_RUNE to include planes up to 16.
2025-12-22 20:16:24 -06:00
gingerBill
78e9a22ffa Fix track_graphemes 2025-10-13 15:47:35 +01:00
gingerBill
2bc7344f27 Add Grapheme_Iterator 2025-10-13 15:28:23 +01:00
Jeroen van Rijn
7a9ea3ee6d Further overhaul of package line comments. 2025-10-09 23:05:29 +02:00
gingerBill
b8fdd91c9f Merge pull request #5776 from connnnal/utf8-1-bounds
Disable bounds check for the first utf8 byte
2025-10-09 18:33:24 +01:00
gingerBill
c3d4b1f0b5 Add doc line to core:unicode/utf8/utf8string 2025-10-09 13:37:22 +01:00
gingerBill
857c78c22b Add doc lins to unicode packages 2025-10-09 12:37:18 +01:00
connnnal
ee063e708a Disable bounds check for the first utf8 byte
Known safe from prior `n < 1` check
2025-10-09 11:38:22 +01:00
thetarnav
3317a1f0e9 Add #no_bounds_check to procedures in core:unicode 2025-10-08 22:00:44 +02:00
gingerBill
5a12ccef44 Add unicode.simple_fold; Finish (strings|bytes).equal_fold 2025-10-07 09:40:54 +01:00
gingerBill
bb4bc316a4 for in string16; Support string16 across core 2025-08-02 12:20:35 +01:00
gingerBill
2561427dd3 Add string16 and cstring16 (UTF-16 based strings) 2025-08-02 11:00:15 +01:00
Karl Zylinski
36b958c120 Fix for using utf8string.at with last rune index returning wrong rune. 2024-10-30 11:10:36 +01:00