Commit Graph

8090 Commits

Author SHA1 Message Date
Jeroen van Rijn
6d5dbdce13 Merge pull request #7274 from karl-zylinski/claude/grapheme-clusters-text-field-e36817
Add `text` field to `utf8.Grapheme`, fix caret translation by grapheme
2026-08-10 13:30:53 +02:00
Alexander Zhura
59b09aa559 Impl fix simd arm neon table lookup on be 2026-08-10 14:07:05 +03:00
Karl Zylinski
1f9b4c4555 Add text field to utf8.Grapheme, fix caret translation by grapheme
`decode_grapheme_iterate` already computed the text of each grapheme
cluster, but `decode_grapheme_clusters` discarded it, forcing callers to
reconstruct each cluster's range by looking ahead to the next grapheme's
`byte_index`. Store it on `Grapheme` instead; it is a slice of the input
string, so no allocation is involved.

`core:text/edit` was using `Grapheme.width` -- the number of monospace
cells -- as a byte count when moving the caret by grapheme, so it landed
in the middle of a cluster for anything wider than one byte per cell. Use
`len(Grapheme.text)`, and add a test package for the translations.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 12:27:31 +02:00
Jeroen van Rijn
d6d16b1e58 Merge pull request #7265 from harold-b/hb.fix-parser-attrib-misisng-end
Fix unparenthesized attributes missing end position in its AST node
2026-08-09 19:49:08 +02:00
Harold Brenes
046db295a6 Fix unparenthesized attributes missing end position in its AST node 2026-08-09 13:30:04 -04:00
Lucas Czerny
3ea27c6979 Update user32.odin 2026-08-09 16:49:37 +02:00
Fernando Nunes
3020cecd08 core/odin/tokenizer: fix broken double-checked lock in init 2026-08-08 20:25:52 -03:00
Alex
1b14ce9453 Impl simd arm neon table lookup 2026-08-08 18:59:07 +03:00
Alexander Zhura
62afbd45f8 Impl simd arm neon table lookup 2026-08-08 18:49:08 +03:00
Jeroen van Rijn
512e33e633 Merge pull request #7255 from mororo18/perf/bytes-index-any-bitset
core/bytes: optimize `index_any` with a byte bitset
2026-08-08 16:54:05 +02:00
Victor Mororó
11c9d6a3dd core/bytes: optimize index_any with a byte bitset 2026-08-08 11:05:20 -03:00
Jeroen van Rijn
1f5c523844 Merge pull request #7203 from maxrabin/fix/simd-grammar
Fix grammar in simd.odin doc comment
2026-08-08 01:58:27 +02:00
gingerBill
b5f5b02bfb Merge pull request #7247 from michtesar/fix/thread_pool_docs
Clarify completed task handling in thread pools
2026-08-07 19:12:37 +02:00
jack gleeson
2162e7605e core/unicode/utf8: Fix truncated text for grapheme clusters 2026-08-07 10:36:14 -06:00
Michael Tesař
713c7017b6 Clarify completed task handling in thread pools 2026-08-07 15:09:08 +02:00
Jeroen van Rijn
902106fc64 Merge pull request #7216 from alexthed1rk/impl-simd-arm-neon-bit-manip
Impl simd arm neon bit manipulation
2026-08-06 14:42:51 +02:00
Jeroen van Rijn
1daec0865c Merge pull request #7234 from michtesar/fix/net-percent-encode
Fix percent encoding for bytes < 0x10
2026-08-06 13:54:36 +02:00
Michael Tesař
56d8293ae0 Restore formatting and remove unused import 2026-08-05 23:58:33 +02:00
Michael Tesař
c7af2576f5 Zero-pad percent_encode escapes to two uppercase hex digits 2026-08-05 23:45:34 +02:00
Victor Mororó
7ff00d39bd os: resolve relative path before SHFileOperationW in remove_all (windows) 2026-08-05 08:45:01 -03:00
Yawning Angel
65450b78ab core/crypto/mlkem: Fix compiler error on key_size(&Encapsualtion_Key) 2026-08-05 18:26:44 +09:00
Yawning Angel
a51cdd43bf core/crypto/kmac: Early reject pathologically short tags in verify 2026-08-05 18:07:32 +09:00
Yawning Angel
97b38169de core/crypto/chacha20: Explicitly allow the one final block
Only affects the incremental use case where the internal counter is
exactly the maximum.
2026-08-05 18:04:06 +09:00
Yawning Angel
3bdb32949b core/crypto/noise: Reject encrypt/decrypt when n == 2^64 - 1
Spec defines the maximal value of `n` as reserved.
2026-08-05 17:33:31 +09:00
Yawning Angel
6e682a768e core/crypto/pbkdf2: Ensure non-zero iteration count 2026-08-05 17:31:31 +09:00
Alexander Zhura
1fd3cbb0b5 Impl simd arm neon bit manipulation 2026-08-04 23:50:47 +03:00
Yawning Angel
e57af19fcd core/crypto/_fiat: Fix coditional in ensure
Callers in core also check so there is no user visible impact.
2026-08-04 20:07:19 +09:00
gingerBill
6c2bb94ceb Merge pull request #7206 from ssenthilnathan3/fix/os-glob-clone
Fix os.glob not cloning pattern when no meta characters present
2026-08-04 10:52:43 +02:00
Senthilnathan
b838b1bf25 fixes os.glob not cloning pattern when no meta characters present 2026-08-04 12:19:03 +05:30
Alexander Zhura
cc71be2a5b Impl fix simd arm sha arch 2026-08-04 00:19:32 +03:00
Max Rabin
e9cb1e7019 Fix grammar in simd.odin doc comment 2026-08-03 22:26:18 +03:00
A1029384756
1ac0b9bcdc [debug/trace] sync allocator with core:mem 2026-08-03 10:09:39 -04:00
Phil
3e24e2601c zero tracking_allocator.allocation_map and tracking_allocator.bad_free_array in destroy. Allows for re-using the struct again after an init. Otherwise, there would be dangling references. e.g. to tracking_allocator.allocation_map.data 2026-08-02 14:26:19 -07:00
gingerBill
541563d472 Merge pull request #7187 from Riyyi/master
Update stale os.flags file doc
2026-08-02 14:53:10 +02:00
Jeroen van Rijn
7c4dd2ea53 Merge pull request #7176 from GPotoshin/scanner_octal_escape
Fix octal escape parsing by core:text/scanner
2026-08-02 13:17:27 +02:00
Riyyi
47de593690 Update stale os.flags file doc 2026-08-02 03:15:30 +02:00
gingerBill
fa706198ba Merge pull request #7180 from BradLewis/fix/parser-field-specialization-end
Correct end position for fields with a specialization
2026-08-01 16:16:51 +02:00
Alexander Zhura
659ba07cf3 Impl simd arm pmull 2026-08-01 16:22:15 +03:00
George Potoshin
8f3418c914 support every quote 2026-08-01 15:05:45 +02:00
Jeroen van Rijn
cfd0c4dc69 Revert "Impl simd arm pmull" 2026-08-01 14:04:22 +02:00
Jeroen van Rijn
15a45897ab Merge pull request #7181 from alexthed1rk/impl-simd-arm-pmull
Impl simd arm pmull
2026-08-01 13:50:24 +02:00
Alexander Zhura
c2bb93ea59 Impl simd arm pmull 2026-08-01 14:20:19 +03:00
Brad Lewis
e1dead4ce3 Correct end position for fields with a specialization 2026-08-01 19:42:01 +10:00
Robert Stefanic
2bcf11e677 compress/gzip: Fix example code
I tried to compile this example and received the following error:

```
Error: Cannot assign value 'os.stdin.stream' of type 'File_Stream' to 'Stream' in a structure literal
        input = os.stdin.stream,
                ^~~~~~~~~~~~~~^
```

The example was fixed by passing the File_Stream to `os.to_stream`.

Signed-off-by: Robert Stefanic <rstefanic72@gmail.com>
2026-07-31 21:47:02 -04:00
Jeroen van Rijn
6996445834 Merge pull request #7172 from mocompute/fix-argon2id-constant-typo
Fix typo in constant name and a different comment
2026-08-01 00:35:12 +02:00
George Potoshin
487648d7fa fix octal escape parsing 2026-07-31 18:47:46 +02:00
Alexander Zhura
91e62c4187 Impl simd arm crc32 2026-07-31 16:17:27 +03:00
mo
8e4611fb74 Fix typo in constant name and a different comment 2026-07-31 22:38:54 +12:00
gingerBill
cbb10d8ee7 Merge pull request #7168 from odin-lang/bill/rexcode
rexcode/x86: label addressing for RIP-relative disp and movabs imm
2026-07-30 23:30:47 +02:00
Flāvius
0f472409c4 rexcode/x86: label addressing for RIP-relative disp and movabs imm
Add mem_rip_label(label_id) so a RIP-relative memory operand can
reference a label: the encoder writes a placeholder disp32 and emits a
REL32 relocation (addend 0) at the field's byte offset, mirroring the
existing .RELATIVE jump/call path. This expresses lea reg, [rip + <label>]
(position-independent data addressing).

Add op_imm_label(label_id) for movabs reg, <label>: the imm stays kind
.IMMEDIATE (form matching unchanged) but is flagged so the encoder emits
an ABS64 relocation for the imm64 instead of a literal; imm_matches_inline
forces the full IMM64 form so a small id can't collapse to mov r64, imm32.

Both labeled forms bypass the contextless recipe fast-path (which cannot
append relocations) and fall back to the interpreter. Flags reuse spare
bits in Memory (disp_is_label) and Operand_Flags (imm_is_label) -- no
struct growth. Section 11 tests cover resolved/unresolved disp, the ABS64
movabs, and an end-to-end executed lea+load.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-30 15:05:16 -04:00