X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Faliasmanager.cpp;h=fceb7b4853e2f02dee632d1e69ea7a2283f0f8df;hp=05ef3c936267244ad3c978008dba6dbdfbc22254;hb=e30092afc1803d753914a7ab9fa88bba818de559;hpb=b65b9f7615165e8700a44d59b7275a55558dd45b diff --git a/src/common/aliasmanager.cpp b/src/common/aliasmanager.cpp index 05ef3c93..fceb7b48 100644 --- a/src/common/aliasmanager.cpp +++ b/src/common/aliasmanager.cpp @@ -128,11 +128,14 @@ void AliasManager::processInput(const BufferInfo &info, const QString &msg_, Com QString msg = msg_; // leading slashes indicate there's a command to call unless there is another one in the first section (like a path /proc/cpuinfo) + // For those habitally tied to irssi, "/ " also makes the rest of the line a literal message int secondSlashPos = msg.indexOf('/', 1); int firstSpacePos = msg.indexOf(' '); - if (!msg.startsWith('/') || (secondSlashPos != -1 && (secondSlashPos < firstSpacePos || firstSpacePos == -1))) { + if (!msg.startsWith('/') || firstSpacePos == 1 || (secondSlashPos != -1 && (secondSlashPos < firstSpacePos || firstSpacePos == -1))) { if (msg.startsWith("//")) - msg.remove(0, 1); // //asdf is transformed to /asdf + msg.remove(0, 1); // "//asdf" is transformed to "/asdf" + else if (msg.startsWith("/ ")) + msg.remove(0, 2); // "/ /asdf" is transformed to "/asdf" msg.prepend("/SAY "); // make sure we only send proper commands to the core } else { @@ -198,7 +201,7 @@ void AliasManager::expand(const QString &alias, const BufferInfo &bufferInfo, co while (!expandedCommands.isEmpty()) { QString command; - if (expandedCommands[0].trimmed().toLower().startsWith("/wait")) { + if (expandedCommands[0].trimmed().toLower().startsWith("/wait ")) { command = expandedCommands.join("; "); expandedCommands.clear(); }