diff --git a/README b/README
index a4b805e70adf1ef49aa33fb371876b6c3b4c3147..c4b93b3133dbc3e9726b895b80e0e333fc78853a 100644
--- a/README
+++ b/README
@@ -21,3 +21,13 @@ we thank the authors who made this possible:
   Roberto Raggi <roberto.raggi@gmail.com>
   QtCreator/src/shared/cplusplus
 
+Compiling Qt Creator
+====================
+You need Qt 4.5 to build Qt Creator.
+We recommend that you build Qt Creator not in the source directory, but in a separate directory.
+To do that, use the following commands:
+mkdir $BUILD_DIRECTORY
+cd $BUILD_DIRECTORY
+qmake $SOURCE_DIRECTORY/qtcreator.pro
+make (or mingw32-make or nmake, depending on your platform)
+
diff --git a/src/libs/utils/filesearch.cpp b/src/libs/utils/filesearch.cpp
index 877c859be27932c7841c7f822cecf686bfcae2b3..f1fe026cacf230e6a052c85710bc523de49a6267 100644
--- a/src/libs/utils/filesearch.cpp
+++ b/src/libs/utils/filesearch.cpp
@@ -28,6 +28,7 @@
 **************************************************************************/
 
 #include "filesearch.h"
+#include <cctype>
 
 #include <QtCore/QFile>
 #include <QtCore/QDir>
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index 63a1808e3d7938a8afad717760d54773354068d9..3ca1db880995ff0101cf697fea9a741c0766a13e 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -231,7 +231,7 @@ QString CppToolsPlugin::correspondingHeaderOrSourceI(const QString &fileName) co
         return QString();
 
     const QDir absoluteDir = fi.absoluteDir();
-    const QString baseName = fi.baseName();
+    const QString baseName = fi.completeBaseName();
     const QStringList suffixes = matchingCandidateSuffixes(mimeDatase, type);
 
     const QString privateHeaderSuffix = QLatin1String("_p");
diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index 0d3dbcf7dc4edd1b6041054880edbad7d2b0e586..9f25943705fd5eb431419083a5362fb06874504b 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -1053,7 +1053,12 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
         m_opcount = m_mvcount;
         m_mvcount.clear();
         m_submode = DeleteSubMode;
-    } else if (key == 'd' && m_visualMode == VisualLineMode) {
+   } else if ((key == 'd' || key == 'x') && m_visualMode == VisualCharMode) { 
+        recordBeginGroup();
+        leaveVisualMode();
+        m_submode = DeleteSubMode;
+        finishMovement();
+   } else if ((key == 'd' || key == 'x') && m_visualMode == VisualLineMode) {
         leaveVisualMode();
         int beginLine = lineForPosition(m_marks['<']);
         int endLine = lineForPosition(m_marks['>']);
@@ -1321,7 +1326,7 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
             m_moveType = MoveExclusive;
         }
         finishMovement("W");
-    } else if (key == 'x') { // = "dl"
+    } else if (key == 'x' && m_visualMode == NoVisualMode) { // = "dl"
         m_moveType = MoveExclusive;
         if (atEndOfLine())
             moveLeft();
@@ -1393,7 +1398,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
             finishMovement();
         }
     } else {
-        qDebug() << "IGNORED IN COMMAND MODE: " << key << text;
+        qDebug() << "IGNORED IN COMMAND MODE: " << key << text
+            << " VISUAL: " << m_visualMode;
         handled = EventUnhandled;
     }
 
diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp
index 8d88fbfa54840351e4263c714c86239d53f3dd13..d3eb7d810c5b7e3c2844ec1ade1a95b704a9f01e 100644
--- a/src/plugins/projectexplorer/dependenciespanel.cpp
+++ b/src/plugins/projectexplorer/dependenciespanel.cpp
@@ -43,9 +43,9 @@
 namespace ProjectExplorer {
 namespace Internal {
 
-///
-/// DependenciesModel
-///
+//
+// DependenciesModel
+//
 
 class DependenciesModel : public QAbstractListModel
 {
@@ -137,9 +137,9 @@ Qt::ItemFlags DependenciesModel::flags(const QModelIndex &index) const
     return rc;
 }
 
-///
-/// DependenciesWidget
-///
+//
+// DependenciesWidget
+//
 
 class DependenciesWidget : public QWidget
 {
@@ -165,9 +165,9 @@ DependenciesWidget::DependenciesWidget(SessionManager *session,
     m_ui.dependenciesView->setHeaderHidden(true);
 }
 
-///
-/// DependenciesPanel
-///
+//
+// DependenciesPanel
+//
 
 DependenciesPanel::DependenciesPanel(SessionManager *session, Project *project)
     : PropertiesPanel()
@@ -190,9 +190,9 @@ QWidget *DependenciesPanel::widget()
     return m_widget;
 }
 
-///
-/// DependenciesPanelFactory
-///
+//
+// DependenciesPanelFactory
+//
 
 DependenciesPanelFactory::DependenciesPanelFactory(SessionManager *session)
     : m_session(session)