diff --git a/NEWS.md b/NEWS.md index 81e859c4..bb6ab43f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,6 @@ +Version 0.8.2 For Dev-C++ 7 Beta + - fix: highlighter can't correctly find the end of ANSI C-style Comments + Version 0.8.1 For Dev-C++ 7 Beta - fix: ConsolePaurser.exe only exits when press ENTER - fix: input/output/expected textedit in the problem view shouldn't autowrap lines diff --git a/RedPandaIDE/compiler/compilermanager.cpp b/RedPandaIDE/compiler/compilermanager.cpp index 819f55c6..9c680f9e 100644 --- a/RedPandaIDE/compiler/compilermanager.cpp +++ b/RedPandaIDE/compiler/compilermanager.cpp @@ -216,10 +216,14 @@ void CompilerManager::run(const QString &filename, const QString &arguments, con consoleFlag |= RPF_REDIRECT_INPUT; if (pSettings->executor().pauseConsole()) consoleFlag |= RPF_PAUSE_CONSOLE; - QString newArguments = QString(" %1 \"%2\" %3") - .arg(consoleFlag) - .arg(toLocalPath(filename)).arg(arguments); - execRunner = new ExecutableRunner(includeTrailingPathDelimiter(pSettings->dirs().app())+"ConsolePauser.exe",newArguments,workDir); + if (consoleFlag!=0) { + QString newArguments = QString(" %1 \"%2\" %3") + .arg(consoleFlag) + .arg(toLocalPath(filename)).arg(arguments); + execRunner = new ExecutableRunner(includeTrailingPathDelimiter(pSettings->dirs().app())+"ConsolePauser.exe",newArguments,workDir); + } else { + execRunner = new ExecutableRunner(filename,arguments,workDir); + } execRunner->setStartConsole(true); } else { execRunner = new ExecutableRunner(filename,arguments,workDir); diff --git a/RedPandaIDE/compiler/executablerunner.cpp b/RedPandaIDE/compiler/executablerunner.cpp index 23c7d9b9..72ed47c1 100644 --- a/RedPandaIDE/compiler/executablerunner.cpp +++ b/RedPandaIDE/compiler/executablerunner.cpp @@ -87,11 +87,9 @@ void ExecutableRunner::run() [&](){ errorOccurred= true; }); -// qDebug() << mFilename; -// qDebug() << QProcess::splitCommand(mArguments); - if (!redirectInput()) { - process.closeWriteChannel(); - } +// if (!redirectInput()) { +// process.closeWriteChannel(); +// } process.start(); process.waitForStarted(5000); if (process.state()==QProcess::Running && redirectInput()) { diff --git a/RedPandaIDE/qsynedit/highlighter/cpp.cpp b/RedPandaIDE/qsynedit/highlighter/cpp.cpp index cd01392f..9452f280 100644 --- a/RedPandaIDE/qsynedit/highlighter/cpp.cpp +++ b/RedPandaIDE/qsynedit/highlighter/cpp.cpp @@ -313,6 +313,7 @@ void SynEditCppHighlighter::ansiCProc() } else { mRange.state = RangeState::rsUnknown; } + finishProcess = true; } else mRun+=1; break;