--- a/mcabber/src/commands.c Sun Jul 24 15:01:24 2005 +0100
+++ b/mcabber/src/commands.c Sun Jul 24 15:13:53 2005 +0100
@@ -514,6 +514,8 @@
gpointer bud;
if (!strcasecmp(arg, "abort")) {
+ if (scr_get_multimode())
+ scr_LogPrint("Leaving multi-line message mode");
scr_set_multimode(FALSE);
return;
} else if ((!strcasecmp(arg, "begin")) || (!strcasecmp(arg, "verbatim"))) {
--- a/mcabber/src/main.c Sun Jul 24 15:01:24 2005 +0100
+++ b/mcabber/src/main.c Sun Jul 24 15:13:53 2005 +0100
@@ -127,8 +127,8 @@
mcabber_disconnect("Killed by SIGINT");
LastSigtermTime = now;
signal(SIGINT, sig_handler);
+ scr_handle_sigint();
scr_LogPrint("Hit Ctrl-C twice to leave mcabber");
- scr_handle_sigint();
} else {
ut_WriteLog("Caught signal: %d\n", signum);
}
--- a/mcabber/src/screen.c Sun Jul 24 15:01:24 2005 +0100
+++ b/mcabber/src/screen.c Sun Jul 24 15:13:53 2005 +0100
@@ -1399,7 +1399,8 @@
void scr_handle_sigint(void)
{
- scr_LogPrint("In screen. completion_started=%d", completion_started);
+ // Leave multi-line mode
+ process_command("/msay abort");
// Same as Ctrl-g, now
scr_cancel_current_completion();
scr_end_current_completion();