diff --git a/src/core/commands.c b/src/core/commands.c index 1dfd8b71..a2c92ef1 100644 --- a/src/core/commands.c +++ b/src/core/commands.c @@ -387,6 +387,10 @@ static void parse_outgoing(const char *line, SERVER_REC *server, void *item) if (strchr(cmdchars, *line) == NULL) return; /* handle only /commands here */ line++; + if (*line == ' ') { + /* "/ text" = same as sending "text" to active channel. */ + return; + } /* //command ignores aliases */ if (strchr(cmdchars, *line) != NULL) { diff --git a/src/fe-common/irc/completion.c b/src/fe-common/irc/completion.c index 444a3a06..b710dd67 100644 --- a/src/fe-common/irc/completion.c +++ b/src/fe-common/irc/completion.c @@ -305,8 +305,13 @@ static void event_command(gchar *line, IRC_SERVER_REC *server, WI_IRC_REC *item) if (!irc_item_check(item)) return; - if (strchr(settings_get_str("cmdchars"), *line) != NULL) - return; + if (strchr(settings_get_str("cmdchars"), *line) != NULL) { + if (line[1] != ' ') + return; + + /* "/ text" = same as sending "text" to active channel. */ + line += 2; + } line = g_strdup(line);