diff options
| author | glepnir <glephunter@gmail.com> | 2026-02-12 12:29:57 +0800 |
|---|---|---|
| committer | glepnir <glephunter@gmail.com> | 2026-02-17 18:55:39 +0800 |
| commit | 444c195edb33571cc0b653d4e2ef0fd3519cf0fd (patch) | |
| tree | 7ef7f2ed7559ad14c0f6473b5fce0a6351161e04 /test/functional/vimscript/executable_spec.lua | |
| parent | 886efcb8535e77c685f73d62fa9138f59121c241 (diff) | |
fix(highlight): blend underline check and use struct key for attr cache
Problem: hl_blend_attrs() through-blend path only checked HL_UNDERLINE | HL_UNDERCURL
for sp_color blending, missing underdotted, combine/blend attr cache used (a << 16) + b
as map key which could overflow if attr IDs ever exceed 16 bits.
Solution: Use HL_UNDERLINE_MASK in the through-blend path to match all underline
styles. Use uint64_t with (a << 32) | b as map key via HlAttrKey macro so each
attr ID gets its full 32-bit range. Use HLATTRS_INIT in hl_get_underline() to
avoid duplicating default field values.
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions
