diff -r -U4 irssi-0.8.10/src/fe-common/core/chat-completion.c irssi-0.8.10+byte/src/fe-common/core/chat-completion.c --- irssi-0.8.10/src/fe-common/core/chat-completion.c 2005-10-19 03:13:20.000000000 +0100 +++ irssi-0.8.10+byte/src/fe-common/core/chat-completion.c 2006-02-15 13:49:08.000000000 +0000 @@ -41,9 +41,9 @@ static int keep_privates_count, keep_publics_count; static int completion_lowercase; static const char *completion_char, *cmdchars; static GSList *global_lastmsgs; -static int completion_auto, completion_strict; +static int completion_auto, completion_strict, completion_from_blank_line; #define SERVER_LAST_MSG_ADD(server, nick) \ last_msg_add(&((MODULE_SERVER_REC *) MODULE_DATA(server))->lastmsgs, \ nick, TRUE, keep_privates_count) @@ -642,8 +642,9 @@ if (server == NULL || !server->connected) return; if (*linestart == '\0' && *word == '\0') { + if (!completion_from_blank_line) return; /* pressed TAB at the start of line - add /MSG */ prefix = g_strdup_printf("%cmsg", *cmdchars); *list = completion_msg(server, NULL, "", prefix); if (*list == NULL) @@ -1101,8 +1102,9 @@ completion_char = settings_get_str("completion_char"); cmdchars = settings_get_str("cmdchars"); completion_auto = settings_get_bool("completion_auto"); completion_strict = settings_get_bool("completion_strict"); + completion_from_blank_line = settings_get_bool("completion_from_blank_line"); if (*completion_char == '\0') { /* this would break.. */ completion_auto = FALSE; @@ -1116,8 +1118,9 @@ settings_add_int("completion", "completion_keep_publics", 50); settings_add_int("completion", "completion_keep_privates", 10); settings_add_bool("completion", "completion_nicks_lowercase", FALSE); settings_add_bool("completion", "completion_strict", FALSE); + settings_add_bool("completion", "completion_from_blank_line", TRUE); settings_add_bool("lookandfeel", "expand_escapes", FALSE); read_settings();