diff --git a/src/libs/extensionsystem/pluginview_p.h b/src/libs/extensionsystem/pluginview_p.h
index 4c5682d293dc058cf36217b5a12b46a30e29d130..e9565c1384f958a8bbd46edfa8b86bbe131eefb0 100644
--- a/src/libs/extensionsystem/pluginview_p.h
+++ b/src/libs/extensionsystem/pluginview_p.h
@@ -49,4 +49,4 @@ public:
 } // namespace Internal
 } // namespace ExtensionSystem
 
-#endif PLUGINVIEW_P_H
+#endif // PLUGINVIEW_P_H
diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index 4f72a2066cd4a03cc4321442e4e0ce3638169d0a..19bbd6fc631cc32030c2bbb5c4f7b69ebc90db43 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1153,7 +1153,7 @@ void EditorManager::updateActions()
 
     m_d->m_duplicateAction->setEnabled(curEditor != 0 && curEditor->duplicateSupported());
 
-    m_d->m_openInExternalEditorAction->setEnabled(curEditor != 0);
+    m_d->m_openInExternalEditorAction->setEnabled(curEditor != 0 && !m_d->m_externalEditor.isEmpty());
 }
 
 QList<IEditor*> EditorManager::openedEditors() const
@@ -1489,6 +1489,9 @@ QString EditorManager::externalEditorHelpText() const
 
 void EditorManager::openInExternalEditor()
 {
+    if (m_d->m_externalEditor.isEmpty())
+        return;
+
     IEditor *editor = currentEditor();
     if (!editor)
         return;
@@ -1500,7 +1503,6 @@ void EditorManager::openInExternalEditor()
             return;
     }
 
-
     QRect rect = editor->widget()->rect();
     QFont font = editor->widget()->font();
     QFontMetrics fm(font);
diff --git a/src/plugins/cpptools/rpp/pp-engine.cpp b/src/plugins/cpptools/rpp/pp-engine.cpp
index 5128b4ce37d4c1a2550c2a06c517a7af2b95adaa..a061b2942a97141a11de81678ef00ab26f83a980 100644
--- a/src/plugins/cpptools/rpp/pp-engine.cpp
+++ b/src/plugins/cpptools/rpp/pp-engine.cpp
@@ -515,8 +515,7 @@ void pp::operator()(const QByteArray &source, QByteArray *result)
     while (true) {
         if (env.currentLine != _dot->lineno) {
             if (env.currentLine > _dot->lineno) {
-                result->append('\n');
-                result->append('#');
+                result->append("\n# ");
                 result->append(QByteArray::number(_dot->lineno));
                 result->append(' ');
                 result->append('"');
@@ -564,16 +563,6 @@ void pp::operator()(const QByteArray &source, QByteArray *result)
         } else {
             if (_dot->joined)
                 result->append("\\\n");
-            else if (_dot->newline) {
-                result->append('\n');
-                result->append('#');
-                result->append(QByteArray::number(_dot->lineno));
-                result->append(' ');
-                result->append('"');
-                result->append(env.current_file);
-                result->append('"');
-                result->append('\n');
-            }
             else if (_dot->whitespace)
                 result->append(' ');
 
@@ -861,11 +850,14 @@ void pp::processDefine(TokenIterator firstToken, TokenIterator lastToken)
     if (isQtWord)
         macro.definition = macroId;
     else {
+        // ### make me fast!
         const char *startOfDefinition = startOfToken(*tk);
         const char *endOfDefinition = startOfToken(*lastToken);
         macro.definition.append(startOfDefinition,
                                 endOfDefinition - startOfDefinition);
         macro.definition.replace("\\\n", " ");
+        macro.definition.replace('\n', ' ');
+        macro.definition = macro.definition.trimmed();
     }
 
     env.bind(macro);
diff --git a/src/plugins/cpptools/rpp/pp-macro-expander.cpp b/src/plugins/cpptools/rpp/pp-macro-expander.cpp
index 0b224d8eea96c387d7796cbfdd6b0bf346f7e55d..6b569eb132feea2bbde069809ca9e293666be378 100644
--- a/src/plugins/cpptools/rpp/pp-macro-expander.cpp
+++ b/src/plugins/cpptools/rpp/pp-macro-expander.cpp
@@ -69,8 +69,7 @@ const char *MacroExpander::operator () (const char *__first, const char *__last,
     {
         if (*__first == '\n')
         {
-            __result->append('\n');
-            __result->append('#');
+            __result->append("\n# ");
             __result->append(QByteArray::number(env.currentLine));
             __result->append(' ');
             __result->append('"');