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

@@ -10,10 +10,25 @@
language="Lua"
purpose="Toggleable numpad movement, with Ctrl for up-movement and Ctrl+Alt for down-movement."
requires="4.82"
version="1.0"
version="1.1"
>
</plugin>
<!-- Aliases -->
<aliases>
<alias
match="toggle_numpad"
enabled="y"
script="toggle_numpad"
omit_from_output="y"
omit_from_log="y"
omit_from_command_history="y"
send_to="12"
sequence="100"
>
</alias>
</aliases>
<!-- Script -->
<script>
<![CDATA[