Fix Accelerator function-call bindings and jump-to-end false triggers

Accelerator(key, text) always sends text as a literal typed command -
it only calls a Lua function if a matching <alias> routes it there
(the pattern GagManager already used correctly). Several bindings
added this session skipped that step and were silently sending
gibberish to the MUD instead of running: Ctrl+S (save_state_func) in
CosmicRage.xml, Ctrl+Alt+J (toggle_jump_to_end) in output_functions.xml,
and Alt+Enter (toggle_numpad) in NumpadMovement.xml. Added the missing
aliases for all three.

Separately, poll_output_focus's jump-to-end was firing repeatedly even
while focus never changed: it compared Alien pointer returns with
"==", which is unreliable for Alien's userdata-wrapped pointers (two
separate calls returning the same real HWND don't reliably compare
equal). Switched to comparing tostring() output instead, which is
address-based. Debug log confirmed SmartAppendToNotepad's own
restore logic was correct throughout - this poll was the sole cause
of the "jumps to end when new text arrives" complaint.
This commit is contained in:
OlegTheSnowman
2026-07-11 00:28:07 +03:00
parent 6b7a71009d
commit 450fdf0fe2
3 changed files with 44 additions and 2 deletions

View File

@@ -392,6 +392,17 @@ match="^\$sphook\s+(?P<action>[\w]+):(?P<path>[-\w./\\\s]+):(?P<volume>[\w]+):(?
<aliases>
<alias
match="save_state_func"
enabled="y"
script="save_state_func"
omit_from_output="y"
omit_from_log="y"
omit_from_command_history="y"
send_to="12"
sequence="100"
>
</alias>
<alias
match="f11_stop"
enabled="y"