https://gitlab.synchro.net/main/sbbs/-/commit/ab5117e38a0cf2cccaae008f
Modified Files:
src/syncterm/wren_bind.c wren_host.c wren_host_internal.h
Log Message:
SyncTERM: add filtered Wren hook variants (C-side match)
Hook.onKey(key, fn), Hook.onInput(byte, fn), Hook.onMouse(event, fn)
register a callable that fires only when the event's discriminator
matches. The match check is in the C dispatcher: filtered entries
whose filter != value are skipped before any Wren slot is touched, so
the per-event hot path stays cheap.
Filtered and unfiltered hooks share one per-event array
(struct wren_hook_entry { fn, filter, filtered }), preserving
registration order across both forms.
Co-Authored-By: Claude Opus 4.7 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net