From 6950c953a1d2c88cfda4ea9966634faf6b7c99c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Tue, 22 Aug 2023 09:21:00 +0200 Subject: [PATCH] script: adjust scroll after command `/script go N` --- ChangeLog.adoc | 1 + src/plugins/script/script-command.c | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index a39d7c3cb..fd8eb0b6b 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -50,6 +50,7 @@ Bug fixes:: * logger: remove trailing empty line in display of backlog (issue #2002) * perl: fix display of non-ASCII chars after load of a script with Perl >= 5.38 (issue #1996) * relay: synchronize nick modes with IRC client upon connection (issue #1984) + * script: adjust scroll after command `/script go N` * script: fix cursor position after `/script list -i` or `/script list -il` * script: fix buffer used by command `/script list -i|-il|-o|-ol` * scripts: fix function string_parse_size on 32-bit systems (python and ruby) (issue #1999) diff --git a/src/plugins/script/script-command.c b/src/plugins/script/script-command.c index 1cc028f27..ef9804afb 100644 --- a/src/plugins/script/script-command.c +++ b/src/plugins/script/script-command.c @@ -144,20 +144,6 @@ script_command_script (const void *pointer, void *data, return WEECHAT_RC_OK; } - if (weechat_strcmp (argv[1], "go") == 0) - { - if ((argc > 2) && script_buffer && !script_buffer_detail_script) - { - error = NULL; - value = strtol (argv[2], &error, 10); - if (error && !error[0]) - { - script_buffer_set_current_line (value); - } - } - return WEECHAT_RC_OK; - } - if (weechat_strcmp (argv[1], "search") == 0) { if (scripts_repo) @@ -216,6 +202,21 @@ script_command_script (const void *pointer, void *data, return WEECHAT_RC_OK; } + if (weechat_strcmp (argv[1], "go") == 0) + { + if ((argc > 2) && script_buffer && !script_buffer_detail_script) + { + error = NULL; + value = strtol (argv[2], &error, 10); + if (error && !error[0]) + { + script_buffer_set_current_line (value); + script_buffer_check_line_outside_window (); + } + } + return WEECHAT_RC_OK; + } + if (weechat_strcmp (argv[1], "up") == 0) { if (script_buffer)