[mono/monodevelop] [3 commits] 407fc7b0: [Icons] New pad management icons

"Vaclav Vancura ([email protected])" <[email protected]>
Newsgroups gmane.comp.gnome.mono.patches,gmane.spam.detected
Message-ID <00000142162f2817-9d938033-d32b-4c6c-ac70-70393777b47e-000000@email.amazonses.com>
   Branch: refs/heads/retina
     Home: https://github.com/mono/monodevelop
  Compare: https://github.com/mono/monodevelop/compare/e3b105777f46...7ff4f96e86c1

   Commit: 407fc7b0f42c1dbcf6aada44e93b42fb5ef5d468
   Author: Vaclav Vancura <[email protected]> (vancura)
     Date: 2013-11-01 17:58:32 GMT
      URL: https://github.com/mono/monodevelop/commit/407fc7b0f42c1dbcf6aada44e93b42fb5ef5d468

[Icons] New pad management icons

Changed paths:
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockItemTitleTab.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj
Added paths:
  A main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/pad-close-9.png
  A main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/[email protected]
  A main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/pad-dock-9.png
  A main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/[email protected]
  A main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/pad-minimize-9.png
  A main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/[email protected]
Removed paths:
  D main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-auto-hide.png
  D main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-close-12.png
  D main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-dock.png

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockItemTitleTab.cs
===================================================================
@@ -69,9 +69,9 @@ class DockItemTitleTab: Gtk.EventBox
 
 		static DockItemTitleTab ()
 		{
-			pixClose = Xwt.Drawing.Image.FromResource ("stock-close-12.png");
-			pixAutoHide = Xwt.Drawing.Image.FromResource ("stock-auto-hide.png");
-			pixDock = Xwt.Drawing.Image.FromResource ("stock-dock.png");
+			pixClose = Xwt.Drawing.Image.FromResource ("pad-close-9.png");
+			pixAutoHide = Xwt.Drawing.Image.FromResource ("pad-minimize-9.png");
+			pixDock = Xwt.Drawing.Image.FromResource ("pad-dock-9.png");
 		}
 		
 		public DockItemTitleTab (DockItem item, DockFrame frame)

Added: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/pad-close-9.png
===================================================================


Added: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/[email protected]
===================================================================


Added: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/pad-dock-9.png
===================================================================


Added: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/[email protected]
===================================================================


Added: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/pad-minimize-9.png
===================================================================


Added: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/[email protected]
===================================================================


Removed: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-auto-hide.png
===================================================================


Removed: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-close-12.png
===================================================================


Removed: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-dock.png
===================================================================


Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj
===================================================================
@@ -635,20 +635,23 @@
     <EmbeddedResource Include="icons-components\MonoDevelop.Components.PropertyGrid.SortByCat.png">
       <LogicalName>MonoDevelop.Components.PropertyGrid.SortByCat.png</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="MonoDevelop.Components.Docking\stock-auto-hide.png">
-      <LogicalName>stock-auto-hide.png</LogicalName>
+    <EmbeddedResource Include="MonoDevelop.Components.Docking\pad-minimize-9.png">
+      <LogicalName>pad-minimize-9.png</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="MonoDevelop.Components.Docking\stock-close-12.png">
-      <LogicalName>stock-close-12.png</LogicalName>
+    <EmbeddedResource Include="MonoDevelop.Components.Docking\pad-minimize-7%402x.png">
+      <LogicalName>[email protected]</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="MonoDevelop.Components.Docking\stock-dock.png">
-      <LogicalName>stock-dock.png</LogicalName>
+    <EmbeddedResource Include="MonoDevelop.Components.Docking\pad-close-9.png">
+      <LogicalName>pad-close-9.png</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="MonoDevelop.Components.Docking\stock-menu-left-12.png">
-      <LogicalName>stock-menu-left-12.png</LogicalName>
+    <EmbeddedResource Include="MonoDevelop.Components.Docking\pad-close-7%402x.png">
+      <LogicalName>[email protected]</LogicalName>
     </EmbeddedResource>
-    <EmbeddedResource Include="MonoDevelop.Components.Docking\stock-menu-right-12.png">
-      <LogicalName>stock-menu-right-12.png</LogicalName>
+    <EmbeddedResource Include="MonoDevelop.Components.Docking\pad-dock-9.png">
+      <LogicalName>pad-dock-9.png</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MonoDevelop.Components.Docking\pad-dock-7%402x.png">
+      <LogicalName>[email protected]</LogicalName>
     </EmbeddedResource>
     <EmbeddedResource Include="MonoDevelop.Ide.Gui.Pads.ProjectPad\ProjectPadContextMenu.addin.xml">
       <LogicalName>ProjectPadContextMenu.addin.xml</LogicalName>

   Commit: df596adf8a2af6c1e04c0901343d9acfa210e2c4
   Author: Vaclav Vancura <[email protected]> (vancura)
     Date: 2013-11-01 17:58:54 GMT
      URL: https://github.com/mono/monodevelop/commit/df596adf8a2af6c1e04c0901343d9acfa210e2c4

[Icons] Removing obsolete tab management icons

Removed paths:
  D main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-menu-left-12.png
  D main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-menu-right-12.png

Removed: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-menu-left-12.png
===================================================================


Removed: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/stock-menu-right-12.png
===================================================================


   Commit: 7ff4f96e86c1f5ce34d630124bc92cb4b85ebc3b
   Author: Vaclav Vancura <[email protected]> (vancura)
     Date: 2013-11-01 17:59:07 GMT
      URL: https://github.com/mono/monodevelop/commit/7ff4f96e86c1f5ce34d630124bc92cb4b85ebc3b

Merge branch 'retina' of github.com:mono/monodevelop into retina

Changed paths:
  M .gitattributes
  M .gitmodules
  M extras/AspNetEdit/AspNetEdit.addin.xml
  M extras/AspNetEdit/configure
  M extras/BooBinding/BooBinding.addin.xml
  M extras/BooBinding/configure
  M extras/GeckoWebBrowser/MonoDevelop.WebBrowsers.GeckoWebBrowser.addin.xml
  M extras/GeckoWebBrowser/configure
  M extras/GtkSourceViewEditor/MonoDevelop.SourceEditor.addin.xml
  M extras/JavaBinding/JavaBinding.addin.xml
  M extras/JavaBinding/configure
  M extras/LuaBinding/LuaBinding.addin.xml
  M extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.addin.xml
  M extras/MonoDevelop.AddinAuthoring/configure
  M extras/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis.Gendarme/MonoDevelop.CodeAnalysis.Gendarme.addin.xml
  M extras/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis.Smokey/MonoDevelop.CodeAnalysis.Smokey.addin.xml
  M extras/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.CodeGenerator/MonoDevelop.Database.CodeGenerator.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Components/MonoDevelop.Database.Components.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.ConnectionManager/MonoDevelop.Database.ConnectionManager.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Designer/MonoDevelop.Database.Designer.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Query/MonoDevelop.Database.Query.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Firebird/MonoDevelop.Database.Sql.Firebird.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.MySql/MonoDevelop.Database.Sql.MySql.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Npgsql/MonoDevelop.Database.Sql.Npgsql.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Odbc/MonoDevelop.Database.Sql.Odbc.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Oracle/MonoDevelop.Database.Sql.Oracle.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.SqlServer/MonoDevelop.Database.Sql.SqlServer.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Sqlite/MonoDevelop.Database.Sql.Sqlite.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Sybase/MonoDevelop.Database.Sql.Sybase.addin.xml
  M extras/MonoDevelop.Database/MonoDevelop.Database.Sql/MonoDevelop.Database.Sql.addin.xml
  M extras/MonoDevelop.Database/configure.in
  M extras/MonoDevelop.Debugger.Gdb/Manifest.addin.xml
  M extras/MonoDevelop.Debugger.Gdb/configure
  M extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Backend.Mdb.AspNet/Manifest.addin.xml
  M extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Backend.Mdb/Manifest.addin.xml
  M extras/MonoDevelop.Debugger.Mdb/configure
  M extras/MonoDevelop.MeeGo/MonoDevelop.MeeGo.addin.xml
  M extras/MonoDevelop.MeeGo/configure
  M extras/MonoDevelop.Profiling/MonoDevelop.Profiling.HeapBuddy/MonoDevelop.Profiling.HeapBuddy.addin.xml
  M extras/MonoDevelop.Profiling/MonoDevelop.Profiling.HeapShot/MonoDevelop.Profiling.HeapShot.addin.xml
  M extras/MonoDevelop.Profiling/MonoDevelop.Profiling/MonoDevelop.Profiling.addin.xml
  M extras/MonoDevelop.Profiling/configure.in
  M extras/NemerleBinding/NemerleBinding.addin.xml
  M extras/OpenOfficeSamples/OpenOfficeSamples.addin.xml
  M extras/PyBinding/PyBinding/PyBinding.addin.xml
  M extras/PyBinding/configure
  M extras/ValaBinding/ValaBinding.addin.xml
  M extras/ValaBinding/configure.in
  M extras/WebKitWebBrowser/MonoDevelop.WebBrowsers.WebKitWebBrowser.addin.xml
  M extras/WebKitWebBrowser/configure
  M main/Main.sln
  M main/configure.in
  M main/external/debugger-libs
  M main/external/guiunit
  M main/external/ngit
  M main/external/nrefactory
  M main/external/xwt
  M main/src/addins/CBinding/CBinding.addin.xml
  M main/src/addins/CSharpBinding/Autotools/CSharpAutotoolsSetup.cs
  M main/src/addins/CSharpBinding/CSharpBinding.addin.xml
  M main/src/addins/CSharpBinding/MonoDevelop.CSharp.Completion/CSharpCompletionTextEditorExtension.cs
  M main/src/addins/CSharpBinding/MonoDevelop.CSharp.Highlighting/CSharpSyntaxMode.cs
  M main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CSharpCompilerParameters.cs
  M main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CodeGenerationPanel.cs
  M main/src/addins/CSharpBinding/MonoDevelop.CSharp.Refactoring.CodeActions/MDRefactoringContext.cs
  M main/src/addins/CSharpBinding/MonoDevelop.CSharp.Tooltips/LanguageItemTooltipProvider.cs
  M main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs
  M main/src/addins/CSharpBinding/gtk-gui/MonoDevelop.CSharp.Project.CodeGenerationPanelWidget.cs
  M main/src/addins/CSharpBinding/gtk-gui/gui.stetic
  M main/src/addins/Deployment/MonoDevelop.Deployment.Linux/MonoDevelop.Deployment.Linux.addin.xml
  M main/src/addins/Deployment/MonoDevelop.Deployment/MonoDevelop.Deployment.addin.xml
  M main/src/addins/ILAsmBinding/AddinInfo.cs
  M main/src/addins/ILAsmBinding/Gui/CompilerParametersPanelWidget.cs
  M main/src/addins/ILAsmBinding/ILAsmCompilerManager.cs
  M main/src/addins/ILAsmBinding/ILAsmLanguageBinding.cs
  M main/src/addins/ILAsmBinding/Project/ILAsmCompilerParameters.cs
  M main/src/addins/MacPlatform/MacInterop/Carbon.cs
  M main/src/addins/MacPlatform/MacInterop/Keychain.cs
  M main/src/addins/MacPlatform/MacPlatform.cs
  M main/src/addins/MonoDevelop.CodeMetrics/MonoDevelop.CodeMetrics.addin.xml
  M main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/Manifest.addin.xml
  M main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.Moonlight/Manifest.addin.xml
  M main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/Manifest.addin.xml
  M main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerSession.cs
  M main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorObjectAdaptor.cs
  M main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32.addin.xml
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests.TestApp/Main.cs
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests.TestApp/MonoDevelop.Debugger.Tests.TestApp.csproj
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/DebugTests.cs
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/EvaluationTests.cs
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/MonoDevelop.Debugger.Tests.csproj
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/SdbEvaluationTests.cs
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/SdbStackFrameTests.cs
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/StackFrameTests.cs
  M main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.addin.xml
  M main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/CustomDescriptor.cs
  M main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.addin.xml
  M main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore/WidgetParser.cs
  M main/src/addins/MonoDevelop.GtkCore2/MonoDevelop.GtkCore2.addin.xml
  M main/src/addins/MonoDevelop.Moonlight/MonoDevelop.Moonlight.addin.xml
  M main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeIssues/CodeAnalysisRunner.cs
  M main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring.Rename/RenameRefactoring.cs
  M main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ImportSymbolHandler.cs
  M main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/RefactoryCommands.cs
  M main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/ColorShemeEditor.cs
  M main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/HighlightingPanel.cs
  M main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/NewColorShemeDialog.cs
  M main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs
  M main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/StyledSourceEditorOptions.cs
  M main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml
  M main/src/addins/MonoDeveloperExtensions/MonoDeveloperExtensions.addin.xml
  M main/src/addins/NUnit/Gui/TestResultsPad.cs
  M main/src/addins/NUnit/MonoDevelopNUnit.addin.xml
  M main/src/addins/NUnit/Services/NUnitAssemblyTestSuite.cs
  M main/src/addins/NUnit/Services/NUnitProjectTestSuite.cs
  M main/src/addins/NUnit/Services/TcpTestListener.cs
  M main/src/addins/TextTemplating/MonoDevelop.TextTemplating/MonoDevelop.TextTemplating.addin.xml
  M main/src/addins/VBNetBinding/VBNetBinding.addin.xml
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git.addin.xml
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/CredentialsDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/EditBranchDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/EditRemoteDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitClient.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtensionWidget.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitConfigurationDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCredentials.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitNodeBuilderExtension.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitOptionsPanel.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitOptionsPanelWidget.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitSupportFeature.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitVersionControl.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/MergeDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/MyersDiff.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/NewStashDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/PushDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/StashManagerDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/UserGitConfigDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/UserInfoConflictDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.CredentialsDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.EditBranchDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.EditRemoteDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.GitCommitDialogExtensionWidget.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.GitConfigurationDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.GitOptionsPanelWidget.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.MergeDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.NewStashDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.PushDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.StashManagerDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.UserInfoConflictDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/gui.stetic
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/AssemblyInfo.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix.addin.xml
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibApr.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibSvnClient.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibSvnClient0.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibSvnClient1.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/SvnClient.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/AssemblyInfo.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/ClientCertificateDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/ClientCertificatePasswordDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/SslServerTrustDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/UserPasswordDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.addin.xml
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificateDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificatePasswordDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.SslServerTrustDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.UserPasswordDialog.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/gui.stetic
  M main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/LogWidget.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/Repository.cs
  M main/src/addins/VersionControl/MonoDevelop.VersionControl/VersionControl.addin.xml
  M main/src/addins/VersionControl/Subversion.Win32/Manifest.addin.xml
  M main/src/addins/VersionControl/Subversion.Win32/Properties/AssemblyInfo.cs
  M main/src/addins/VersionControl/Subversion.Win32/SvnSharpClient.cs
  M main/src/addins/WindowsPlatform/Makefile.am
  M main/src/addins/WindowsPlatform/WindowsPlatform.addin.xml
  M main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/ColorScheme.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxMode.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor.Utils/TextFileUtility.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor.Vi/ViKeyNotation.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor.Vi/ViMode.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor.Vi/ViStatusArea.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor/Actions/DeleteActions.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor/Document/LineSplitter.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextArea.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextViewMargin.cs
  M main/src/core/Mono.Texteditor/Mono.TextEditor/HeightTree.cs
  M main/src/core/Mono.Texteditor/SyntaxModes/FSharpSyntaxMode.xml
  M main/src/core/MonoDevelop.Core/BuildVariables.cs
  M main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj
  M main/src/core/MonoDevelop.Core/MonoDevelop.Core/FileService.cs
  M main/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs
  M main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Extensions/DotNetProjectSubtypeNode.cs
  M main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs
  M main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindInFilesDialog.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/ReferencesFinder.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/SearchCollector.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/TypeSystemService.cs
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj
  M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs
  M main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/ClipboardTests.cs
  M main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/HtmlWriterTests.cs
  M main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/RtfWriterTests.cs
  M main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/TextFileReaderTests.cs
  M main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/VirtualIndentModeTests.cs
  M main/tests/Makefile.am
  M main/tests/TestRunner/MonoDevelop.TestRunner.addin.xml
  M main/tests/TestRunner/Runner.cs
  M main/tests/TestRunner/TestRunner.csproj
  M main/tests/UnitTests/MonoDevelop.CSharpBinding/CSharpTextEditorIndentationTests.cs
  M main/tests/UnitTests/MonoDevelop.Projects/LocalCopyTests.cs
  M main/wintest.sh
  M version-checks
Added paths:
  A README.md
  A main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/CorEvaluationTests.cs
  A main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/CorStackFrameTests.cs
  A main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchInSolutionSearchCategory.cs
Removed paths:
  D README
  D main/external/maccore

Modified: .gitattributes
===================================================================
@@ -17,6 +17,15 @@
 # sln is always CRLF, even on linux, so don't convert
 *.sln	-crlf
 
+# configure and makefiles should be lf only
+configure
+configure.in
+configure.ac
+configure.sh
+Makefile
+Makefile.am
+Makefile.include
+
 # These files can be converted, since they're new
 .gitattributes	crlf
 .gitignore	crlf

Modified: .gitmodules
===================================================================
@@ -1,9 +1,7 @@
 [submodule "main/external/cecil"]
 	path = main/external/cecil
 	url = git://github.com/mono/cecil.git
-[submodule "main/external/maccore"]
-	path = main/external/maccore
-	url = git://github.com/mono/maccore.git
+	branch = mono-3.0
 [submodule "main/external/mono-tools"]
 	path = main/external/mono-tools
 	url = git://github.com/mono/mono-tools.git
@@ -40,3 +38,4 @@
 [submodule "main/external/raygun4net"]
 	path = main/external/raygun4net
 	url = git://github.com/mono/raygun4net.git
+	branch = xshacks

Removed: README
===================================================================
@@ -1,107 +0,0 @@
-
-MonoDevelop is a full-featured integrated development environment (IDE) for mono
-and Gtk#. See http://www.monodevelop.com for more info.  
-
-Directory organization
-----------------------
-
-	There are two main directories:
-
-	  * main: The core MonoDevelop assemblies and add-ins (all in a single
-	    tarball/package).
-	  * extras: Additional add-ins (each add-in has its own
-	    tarball/package).
-
-Compiling
----------
-
-	If you are building from Git, make sure that you initialize the submodules
-	that are part of MonoDevelop, to do this execute:
-
-	git submodule update --init --recursive
-
-	To compile execute:
-
-	./configure
-	make
-
-	There are two variables you can set when running 'configure':
-
-	  --prefix=/path/to/prefix: To set the install prefix.
-
-	    you can use --prefix=`pkg-config --variable=prefix mono` to get MD
-	    installed with the rest of mono/gtk-sharp/etc.
-
-	  --profile=profile-name: To choose one build profile.
-	
-	There are some predefined profiles:
-
-	  * stable: builds the MonoDevelop core and some stable extra add-ins.
-	  * core: builds the MonoDevelop core only.
-	  * all: builds everything
-
-	You can create your own profiles if you need to. To create a profile you
-	only have to add a file to the profiles directory containing a list
-	of the directories to build.
-
-	You can run MonoDevelop from the build directory without having to
-	install it by executing:
-
-	make run
-
-Installing
-----------
-
-	Installing is currently optional.
-	(Use make run to use MonoDevelop without installing.)
-
-	make install
-
-	(It's possible that you need to install for your locale to be
-	correctly set.)
-
-Packaging for OSX
------------------
-
-	To package MonoDevelop for OSX in a convenient MonoDevelop.app
-	file, just do this after MonoDevelop has finished building (with
-	make):
-
-		cd main/build/MacOSX
-		make MonoDevelop.app
-
-Dependencies
-------------
-
-	Mono >= 2.10
-	Gtk# >= 2.12.8
-	monodoc >= 1.0
-	mono-addins >= 0.6
-	
-References
-----------
-
-	MonoDevelop web site
-	http://www.monodevelop.com
-
-	Gnome Human Interface Guidelines (HIG)
-	http://developer.gnome.org/projects/gup/hig/1.0/
-	
-	freedesktop.org standards
-	http://freedesktop.org/Standards/
-	
-	Integrating with GNOME (a little out of date)
-	http://developers.sun.com/solaris/articles/integrating_gnome.html
-	
-	Bugzilla
-	http://bugzilla.mozilla.org/bugwritinghelp.html
-	http://bugzilla.mozilla.org/page.cgi?id=etiquette.html
-	
-Discussion, Bugs, Patches
--------------------------
-
-	[email protected] (questions and discussion)
-	[email protected] (track commits to MonoDevelop)
-	[email protected] (track MonoDevelop bugzilla component)
-	http://bugzilla.xamarin.com (submit bugs and patches here)
-

Added: README.md
===================================================================
@@ -0,0 +1,117 @@
+**MonoDevelop** is a full-featured integrated development environment (IDE) for mono
+using Gtk#.
+
+See http://www.monodevelop.com for more info.  
+
+Directory organization
+----------------------
+
+There are two main directories:
+
+ * `main`: The core MonoDevelop assemblies and add-ins (all in a single
+    tarball/package).
+ * `extras`: Additional add-ins (each add-in has its own
+    tarball/package).
+
+Compiling
+---------
+
+If you are building from Git, make sure that you initialize the submodules
+that are part of this repository by executing:
+`git submodule update --init --recursive`
+
+To compile execute:
+`./configure ; make`
+
+There are two variables you can set when running `configure`:
+
+* The install prefix: `--prefix=/path/to/prefix`
+
+  * To install with the rest of the assemblies, use:
+  `--prefix="pkg-config --variable=prefix mono"`
+
+* The build profile: `--profile=profile-name`
+
+  * `stable`: builds the MonoDevelop core and some stable extra add-ins.
+  * `core`: builds the MonoDevelop core only.
+  * `all`: builds everything
+  * You can also create your own profile by adding a file to the profiles
+directory containing a list of the directories to build.
+
+Running
+-------
+
+You can run MonoDevelop from the build directory by executing:
+`make run`
+
+Installing *(Optional)*
+----------
+
+You can install MonoDevelop by running:
+`make install`
+
+*(It's possible that you need to install for your locale to be
+correctly set.)*
+
+Packaging for OSX
+-----------------
+
+To package MonoDevelop for OSX in a convenient MonoDevelop.app
+file, just do this after MonoDevelop has finished building (with
+`make`):
+`cd main/build/MacOSX ; make MonoDevelop.app`
+
+Dependencies
+------------
+
+	Mono >= 3.0.4
+	Gtk# >= 2.12.8
+	monodoc >= 1.0
+	mono-addins >= 0.6
+
+Special Environment Variables
+-----------------------------
+
+**BUILD_REVISION**
+
+	If this environment variable exists we assume we are compiling inside wrench.
+	We use this to enable raygun only for 'release' builds and not for normal
+	developer builds compiled on a dev machine with 'make && make run'.
+
+
+References
+----------
+
+**MonoDevelop website**
+
+http://www.monodevelop.com
+
+**Gnome Human Interface Guidelines (HIG)**
+
+http://developer.gnome.org/projects/gup/hig/1.0/
+
+**freedesktop.org standards**
+
+http://freedesktop.org/Standards/
+
+**Integrating with GNOME** *(a little out of date)*
+
+http://developers.sun.com/solaris/articles/integrating_gnome.html
+
+**Bugzilla**
+
+http://bugzilla.mozilla.org/bugwritinghelp.html
+
+http://bugzilla.mozilla.org/page.cgi?id=etiquette.html
+
+Discussion, Bugs, Patches
+-------------------------
+
[email protected] *(questions and discussion)*
+
[email protected] *(track commits to MonoDevelop)*
+
[email protected] *(track MonoDevelop bugzilla component)*
+
+http://bugzilla.xamarin.com *(submit bugs and patches here)*
+

Modified: extras/AspNetEdit/AspNetEdit.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://www.monodevelop.com/"
        description = "Visual Designer for ASP.NET Web Forms."
        category    = "Web Development"
-       version     = "4.1.7">
+       version     = "4.1.13">
 	
 	<Runtime>
 		<Import assembly = "AspNetEdit.dll"/>
@@ -14,11 +14,11 @@
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Deployment" version="4.1.7" />
-		<Addin id="AspNet" version="4.1.7" />
-		<Addin id="DesignerSupport" version="4.1.7" />
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Deployment" version="4.1.13" />
+		<Addin id="AspNet" version="4.1.13" />
+		<Addin id="DesignerSupport" version="4.1.13" />
 	</Dependencies>
 	
 	<Extension path = "/MonoDevelop/Ide/DisplayBindings">

Modified: extras/AspNetEdit/configure
===================================================================
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=aspnetedit
 prefix=/usr/local
 config=DEBUG

Modified: extras/BooBinding/BooBinding.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://boo.codehaus.org"
        description = "Boo Language Binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
   <Runtime>
     <Import assembly = "BooBinding.dll"/>
@@ -16,8 +16,8 @@
   <Localizer type="Gettext" catalog="monodevelop-boo"/>
   
   <Dependencies>
-    <Addin id="Core" version="4.1.7"/>
-    <Addin id="Ide" version="4.1.7"/>
+    <Addin id="Core" version="4.1.13"/>
+    <Addin id="Ide" version="4.1.13"/>
     <Assembly name="Boo.Lang.Compiler, Version=1.0.0.0" package="Boo" />
   </Dependencies>
 

Modified: extras/BooBinding/configure
===================================================================
@@ -1,10 +1,10 @@
 #!/bin/bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=monodevelop-boo
 prefix=/usr/local
 config=DEBUG
 configurations=" RELEASE DEBUG"
-common_packages="gtk-sharp-2.0;2.12.8 monodevelop;4.1.7 mono-addins;0.3 glib-sharp-2.0;2.12.8 monodevelop-core-addins;2.7 boo;0.7.9.2659"
+common_packages="gtk-sharp-2.0;2.12.8 monodevelop;4.1.13 mono-addins;0.3 glib-sharp-2.0;2.12.8 monodevelop-core-addins;2.7 boo;0.7.9.2659"
 
 
 usage ()

Modified: extras/GeckoWebBrowser/MonoDevelop.WebBrowsers.GeckoWebBrowser.addin.xml
===================================================================
@@ -6,10 +6,10 @@
        url         = "http://www.monodevelop.com"
        description = "Mozilla Web Browser component using GeckoSharp and GtkMozEmbed"
        category    = "Platform Support"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id = "Ide" version = "4.1.7"/>
+		<Addin id = "Ide" version = "4.1.13"/>
 	</Dependencies>
 	
 	<Extension path = "/MonoDevelop/Core/WebBrowsers">

Modified: extras/GeckoWebBrowser/configure
===================================================================
@@ -1,10 +1,10 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=geckowebbrowser
 prefix=/usr/local
 config=DEBUG
 configurations=" RELEASE DEBUG"
-common_packages=" glib-sharp-2.0;2.12.8 gtk-sharp-2.0;2.12.8 gecko-sharp-2.0;0.12 monodevelop;4.1.7"
+common_packages=" glib-sharp-2.0;2.12.8 gtk-sharp-2.0;2.12.8 gecko-sharp-2.0;0.12 monodevelop;4.1.13"
 
 
 usage ()

Modified: extras/GtkSourceViewEditor/MonoDevelop.SourceEditor.addin.xml
===================================================================
@@ -6,15 +6,15 @@
        url         = ""
        description = "Provides a text editor for the MonoDevelop IDE based on GtkSourceView 2"
        category    = "MonoDevelop Core"
-       version     = "4.1.7">
+       version     = "4.1.13">
 	
 	<Runtime>
 		<Import assembly="MonoDevelop.SourceEditor.dll"/>
 	</Runtime>
 
 	<Dependencies>
-	    <Addin id="Core" version="4.1.7"/>
-	    <Addin id="Ide" version="4.1.7"/>
+	    <Addin id="Core" version="4.1.13"/>
+	    <Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 
 	<!-- Extension points -->

Modified: extras/JavaBinding/JavaBinding.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://www.monodevelop.com"
        description = "Java Language Binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
   <Runtime>
     <Import assembly = "JavaBinding.dll"/>
@@ -15,8 +15,8 @@
   <Localizer type="Gettext" catalog="monodevelop-java"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 	
   <Extension path = "/MonoDevelop/Ide/FileFilters">

Modified: extras/JavaBinding/configure
===================================================================
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=monodevelop-java
 prefix=/usr/local
 config=DEBUG

Modified: extras/LuaBinding/LuaBinding.addin.xml
===================================================================
@@ -6,15 +6,15 @@
        url         = "http://www.monodevelop.com"
        description = "Lua Language Binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly = "LuaBinding.dll"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/FileFilters">

Modified: extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.addin.xml
===================================================================
@@ -5,12 +5,12 @@
         copyright   = "MIT X11"
         url         = "http://www.monodevelop.com"
         description = "This add-in provides utilities for creating Mono.Addins based libraries and applications"
-        version     = "4.1.7">
+        version     = "4.1.13">
  
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="VersionControl" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="VersionControl" version="4.1.13"/>
 	</Dependencies>
 
 	<!-- Extension Points -->

Modified: extras/MonoDevelop.AddinAuthoring/configure
===================================================================
@@ -1,10 +1,10 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=monodevelop_addinauthoring
 prefix=/usr/local
 config=DEBUG
 configurations=" RELEASE DEBUG"
-common_packages=" monodevelop;4.1.7 gtk-sharp-2.0;2.12.8 mono-addins-setup;0.4 mono-addins;0.5"
+common_packages=" monodevelop;4.1.13 gtk-sharp-2.0;2.12.8 mono-addins-setup;0.4 mono-addins;0.5"
 
 
 usage ()

Modified: extras/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis.Gendarme/MonoDevelop.CodeAnalysis.Gendarme.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url         = "http://code.google.com/p/md-codeanalysis"
 	description = "MonoDevelop CodeAnalysis addin"
 	category    = "Code Analysis"
-	version     = "4.1.7">
+	version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="MonoDevelop.CodeAnalysis.dll"/>

Modified: extras/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis.Smokey/MonoDevelop.CodeAnalysis.Smokey.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url         = "http://code.google.com/p/md-codeanalysis"
 	description = "MonoDevelop CodeAnalysis addin"
 	category    = "Code Analysis"
-	version     = "4.1.7">
+	version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="MonoDevelop.CodeAnalysis.dll"/>

Modified: extras/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis/MonoDevelop.CodeAnalysis.addin.xml
===================================================================
@@ -6,11 +6,11 @@
 	url         = "http://code.google.com/p/md-codeanalysis"
 	description = "MonoDevelop CodeAnalysis addin"
 	category    = "Code Analysis"
-	version     = "4.1.7">
+	version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path="/MonoDevelop/Ide/Commands">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.CodeGenerator/MonoDevelop.Database.CodeGenerator.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database CodeGenerator Module"
 	category	= "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.CodeGenerator.dll"/>
@@ -15,11 +15,11 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Query" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Query" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/Commands">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Components/MonoDevelop.Database.Components.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Components Module"
 	category	= "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Components.dll"/>
@@ -15,10 +15,10 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="SourceEditor2" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<ExtensionPoint path = "/MonoDevelop/Database/DataGrid/Renderers" name = "DataGrid renderers">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.ConnectionManager/MonoDevelop.Database.ConnectionManager.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database ConnectionManager Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.ConnectionManager.dll"/>
@@ -15,12 +15,12 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Query" version="4.1.7"/>
-		<Addin id="Database.Designer" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Query" version="4.1.13"/>
+		<Addin id="Database.Designer" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/Pads">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Designer/MonoDevelop.Database.Designer.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Designer Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Designer.dll"/>
@@ -15,9 +15,9 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
 	</Dependencies>
 
 </Addin>

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Query/MonoDevelop.Database.Query.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Query Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Query.dll"/>
@@ -15,10 +15,10 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
 	</Dependencies>
 
 	<ExtensionPoint path = "/MonoDevelop/Database/ToolBar/SqlQueryView">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Firebird/MonoDevelop.Database.Sql.Firebird.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.Firebird.dll"/>
@@ -15,7 +15,7 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Database.Sql" version="4.1.7"/>
+		<Addin id="MonoDevelop.Database.Sql" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/Mono/Data/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.MySql/MonoDevelop.Database.Sql.MySql.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.MySql.dll"/>
@@ -15,12 +15,12 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Designer" version="4.1.7"/>
-		<Addin id="SourceEditor2" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Designer" version="4.1.13"/>
+		<Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Database/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Npgsql/MonoDevelop.Database.Sql.Npgsql.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.Npgsql.dll"/>
@@ -15,12 +15,12 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Designer" version="4.1.7"/>
-		<Addin id="SourceEditor2" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Designer" version="4.1.13"/>
+		<Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Database/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Odbc/MonoDevelop.Database.Sql.Odbc.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.Odbc.dll"/>
@@ -15,11 +15,11 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Designer" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Designer" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Database/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Oracle/MonoDevelop.Database.Sql.Oracle.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.Oracle.dll"/>
@@ -15,11 +15,11 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Designer" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Designer" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Database/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.SqlServer/MonoDevelop.Database.Sql.SqlServer.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.SqlServer.dll"/>
@@ -15,12 +15,12 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Designer" version="4.1.7"/>
-		<Addin id="SourceEditor2" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Designer" version="4.1.13"/>
+		<Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Database/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Sqlite/MonoDevelop.Database.Sql.Sqlite.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.Sqlite.dll"/>
@@ -15,12 +15,12 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Database.Sql" version="4.1.7"/>
-		<Addin id="Database.Components" version="4.1.7"/>
-		<Addin id="Database.Designer" version="4.1.7"/>
-		<Addin id="SourceEditor2" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Database.Sql" version="4.1.13"/>
+		<Addin id="Database.Components" version="4.1.13"/>
+		<Addin id="Database.Designer" version="4.1.13"/>
+		<Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Database/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql.Sybase/MonoDevelop.Database.Sql.Sybase.addin.xml
===================================================================
@@ -6,7 +6,7 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category    = "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.Sybase.dll"/>
@@ -15,7 +15,7 @@
   	<Localizer type="Gettext" catalog="monodevelop-database"/>
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Database.Sql" version="4.1.7"/>
+		<Addin id="MonoDevelop.Database.Sql" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/Mono/Data/Sql">

Modified: extras/MonoDevelop.Database/MonoDevelop.Database.Sql/MonoDevelop.Database.Sql.addin.xml
===================================================================
@@ -6,14 +6,14 @@
 	url		= "http://www.monodevelop.com"
 	description	= "Database Module"
 	category	= "Database"
-	version		= "4.1.7">
+	version		= "4.1.13">
     
 	<Runtime>
 		<Import assembly="MonoDevelop.Database.Sql.dll"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
 	</Dependencies>
 
   	<Localizer type="Gettext" catalog="monodevelop-database"/>

Modified: extras/MonoDevelop.Database/configure.in
===================================================================
@@ -1,9 +1,9 @@
-AC_INIT([monodevelop-database], 4.1.7, [[email protected]])
+AC_INIT([monodevelop-database], 4.1.13, [[email protected]])
 AC_PREREQ(2.53)
 AM_INIT_AUTOMAKE([1.9 tar-ustar])
 AM_MAINTAINER_MODE
 
-ASSEMBLY_VERSION=4.1.7.0
+ASSEMBLY_VERSION=4.0.0.0
 
 AC_PATH_PROG(MONO, mono)
 AC_PATH_PROG(MCS, dmcs)
@@ -52,7 +52,7 @@ fi
 
 dnl hard dependencies
 MONOADDINS_REQUIRED_VERSION=0.4
-MONODEVELOP_REQUIRED_VERSION=4.1.7
+MONODEVELOP_REQUIRED_VERSION=4.1.13
 GTKSHARP_REQUIRED_VERSION=2.12.8
 
 PKG_CHECK_MODULES(MONO_ADDINS, mono-addins >= $MONOADDINS_REQUIRED_VERSION)

Modified: extras/MonoDevelop.Debugger.Gdb/Manifest.addin.xml
===================================================================
@@ -5,12 +5,12 @@
        description = "GNU Debugger support for Mono.Debugging"
        copyright   = "MIT X11"
        category = "Debugging"
-       version   = "4.1.7">
+       version   = "4.1.13">
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Core" version="4.1.7"/>
-		<Addin id="MonoDevelop.Ide" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger" version="4.1.7"/>
+		<Addin id="MonoDevelop.Core" version="4.1.13"/>
+		<Addin id="MonoDevelop.Ide" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger" version="4.1.13"/>
 	</Dependencies>
 	
 	<Extension path="/MonoDevelop/Debugging/DebuggerEngines">

Modified: extras/MonoDevelop.Debugger.Gdb/configure
===================================================================
@@ -1,10 +1,10 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=monodevelop-debugger-gdb
 prefix=/usr/local
 config=DEBUG
 configurations=" RELEASE DEBUG"
-common_packages=" monodevelop;4.1.7"
+common_packages=" monodevelop;4.1.13"
 
 
 usage ()

Modified: extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Backend.Mdb.AspNet/Manifest.addin.xml
===================================================================
@@ -5,14 +5,14 @@
        description = "Managed Debugging Engine support for MDB"
        copyright   = "MIT X11"
        category = "Debugging"
-       version   = "4.1.7">
+       version   = "4.1.13">
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Core" version="4.1.7"/>
-		<Addin id="MonoDevelop.Ide" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger.Mdb" version="4.1.7"/>
-		<Addin id="MonoDevelop.AspNet" version="4.1.7"/>
+		<Addin id="MonoDevelop.Core" version="4.1.13"/>
+		<Addin id="MonoDevelop.Ide" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger.Mdb" version="4.1.13"/>
+		<Addin id="MonoDevelop.AspNet" version="4.1.13"/>
 	</Dependencies>
 	
 	<Extension path="/MonoDevelop/Debugging/DebuggerEngines">

Modified: extras/MonoDevelop.Debugger.Mdb/Mono.Debugging.Backend.Mdb/Manifest.addin.xml
===================================================================
@@ -5,12 +5,12 @@
        description = "Managed Debugging Engine support for MDB"
        copyright   = "MIT X11"
        category = "Debugging"
-       version   = "4.1.7">
+       version   = "4.1.13">
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Core" version="4.1.7"/>
-		<Addin id="MonoDevelop.Ide" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger" version="4.1.7"/>
+		<Addin id="MonoDevelop.Core" version="4.1.13"/>
+		<Addin id="MonoDevelop.Ide" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger" version="4.1.13"/>
 	</Dependencies>
 	
 	<Extension path="/MonoDevelop/Debugging/DebuggerEngines">

Modified: extras/MonoDevelop.Debugger.Mdb/configure
===================================================================
@@ -1,10 +1,10 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=monodevelop-debugger-mdb
 prefix=/usr/local
 config=DEBUG
 configurations=" RELEASE DEBUG"
-common_packages=" mono-addins;0.3 mono-debugger;2.0 monodevelop;4.1.7 monodevelop-core-addins;2.7"
+common_packages=" mono-addins;0.3 mono-debugger;2.0 monodevelop;4.1.13 monodevelop-core-addins;2.7"
 
 
 usage ()

Modified: extras/MonoDevelop.MeeGo/MonoDevelop.MeeGo.addin.xml
===================================================================
@@ -6,19 +6,19 @@
        url         = "http://monodevelop.com/"
        description = "Support for developing and deploying MeeGo applications using Mono."
        category    = "Mobile Development"
-       version     = "4.1.7">
+       version     = "4.1.13">
 	
 	<Runtime>
 		<Import file = "Templates/MeeGoGtkProject.xpt.xml"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Debugger" version="4.1.7"/>
-		<Addin id="Debugger.Soft" version="4.1.7"/>
-		<Addin id="GtkCore" version="4.1.7"/>
-		<Addin id="CSharpBinding" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Debugger" version="4.1.13"/>
+		<Addin id="Debugger.Soft" version="4.1.13"/>
+		<Addin id="GtkCore" version="4.1.13"/>
+		<Addin id="CSharpBinding" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/ProjectTemplates">

Modified: extras/MonoDevelop.MeeGo/configure
===================================================================
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 prefix=/usr/local
-common_packages=" mono-addins;0.3 monodevelop;4.1.7 monodevelop-core-addins;2.7"
+common_packages=" mono-addins;0.3 monodevelop;4.1.13 monodevelop-core-addins;2.7"
 
 usage ()
 {

Modified: extras/MonoDevelop.Profiling/MonoDevelop.Profiling.HeapBuddy/MonoDevelop.Profiling.HeapBuddy.addin.xml
===================================================================
@@ -6,16 +6,16 @@
 	url         = "http://www.monodevelop.com"
 	description = "HeapBuddy Profiler Add-in"
 	category    = "Profiling"
-	version     = "4.1.7">
+	version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="MonoDevelop.Profiling.HeapBuddy.dll"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Profiling" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Profiling" version="4.1.13"/>
 	</Dependencies>
 
 	<ExtensionPoint path = "/MonoDevelop/Profiling/ContextMenu/ProfilingPad/HeapBuddyProfilingSnapshotNode" name = "HeapBuddy snapshot node context menu">


Modified: extras/MonoDevelop.Profiling/MonoDevelop.Profiling.HeapShot/MonoDevelop.Profiling.HeapShot.addin.xml
===================================================================
@@ -6,16 +6,16 @@
 	url         = "http://www.monodevelop.com"
 	description = "HeapShot Profiler Add-in"
 	category    = "Profiling"
-	version     = "4.1.7">
+	version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="MonoDevelop.Profiling.HeapShot.dll"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Profiling" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Profiling" version="4.1.13"/>
 	</Dependencies>
 
 	<ExtensionPoint path = "/MonoDevelop/Profiling/ContextMenu/ProfilingPad/HeapShotProfilingSnapshotNode" name = "HeapShot snapshot node context menu">


Modified: extras/MonoDevelop.Profiling/MonoDevelop.Profiling/MonoDevelop.Profiling.addin.xml
===================================================================
@@ -6,15 +6,15 @@
 	url         = "http://www.monodevelop.com"
 	description = "MonoDevelop Profiling Addin"
 	category    = "Profiling"
-	version     = "4.1.7">
+	version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="MonoDevelop.Profiling.dll"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 
 	<ExtensionPoint path = "/MonoDevelop/Profiling/ToolBar/ProfilingPad" name = "Profiling pad toolbar">


Modified: extras/MonoDevelop.Profiling/configure.in
===================================================================
@@ -1,9 +1,9 @@
-AC_INIT([monodevelop-profiling], 4.1.7, [[email protected]])
+AC_INIT([monodevelop-profiling], 4.1.13, [[email protected]])
 AC_PREREQ(2.53)
 AM_INIT_AUTOMAKE([1.9 tar-ustar])
 AM_MAINTAINER_MODE
 
-ASSEMBLY_VERSION=4.1.7.0
+ASSEMBLY_VERSION=4.0.0.0
 
 AC_PATH_PROG(MONO, mono)
 AC_PATH_PROG(MCS, dmcs)
@@ -42,7 +42,7 @@ fi
 
 dnl hard dependencies
 MONOADDINS_REQUIRED_VERSION=0.3
-MONODEVELOP_REQUIRED_VERSION=4.1.7
+MONODEVELOP_REQUIRED_VERSION=4.1.13
 GTKSHARP_REQUIRED_VERSION=2.12.8
 
 PKG_CHECK_MODULES(MONO_ADDINS, mono-addins >= $MONOADDINS_REQUIRED_VERSION)

Modified: extras/NemerleBinding/NemerleBinding.addin.xml
===================================================================
@@ -6,15 +6,15 @@
        url         = "http://www.monodevelop.com"
        description = "Nemerle Language Binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
   <Runtime>
     <Import assembly = "NemerleBinding.dll"/>
   </Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 	
   <Extension path = "/MonoDevelop/ProjectModel/Ambiences">

Modified: extras/OpenOfficeSamples/OpenOfficeSamples.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://www.monodevelop.com/"
        description = "Samples for automating OpenOffice using Mono."
        category    = "Templates"
-       version     = "4.1.7">
+       version     = "4.1.13">
 	
 	<Runtime>
 		<Import file = "OpenOfficeSpreadsheetSample.xpt.xml"/>
@@ -18,8 +18,8 @@
 	</Runtime>
 
 	<Dependencies>
-		<Addin id = "Ide" version="4.1.7"/>
-		<Addin id = "CSharpBinding" version = "4.1.7" />
+		<Addin id = "Ide" version="4.1.13"/>
+		<Addin id = "CSharpBinding" version = "4.1.13" />
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/ProjectTemplates">

Modified: extras/PyBinding/PyBinding/PyBinding.addin.xml
===================================================================
@@ -6,16 +6,16 @@
        url         = "http://www.monodevelop.com"
        description = "Python Language binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
     <Runtime>
         <Import assembly = "PyBinding.dll"/>
     </Runtime>
 
     <Dependencies>
-        <Addin id = "Core"          version = "4.1.7"/>
-        <Addin id = "Ide"           version = "4.1.7"/>
-        <Addin id = "SourceEditor2" version = "4.1.7"/>
+        <Addin id = "Core"          version = "4.1.13"/>
+        <Addin id = "Ide"           version = "4.1.13"/>
+        <Addin id = "SourceEditor2" version = "4.1.13"/>
     </Dependencies>
     
     <Extension path = "/MonoDevelop/Core/StockIcons">

Modified: extras/PyBinding/configure
===================================================================
@@ -1,10 +1,10 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=monodevelop-python
 prefix=/usr/local
 config=DEBUG
 configurations=" RELEASE DEBUG"
-common_packages=" gtk-sharp-2.0;2.12.8 mono-addins;0.3 monodevelop;4.1.7 monodevelop-core-addins;2.7"
+common_packages=" gtk-sharp-2.0;2.12.8 mono-addins;0.3 monodevelop;4.1.13 monodevelop-core-addins;2.7"
 
 
 usage ()

Modified: extras/ValaBinding/ValaBinding.addin.xml
===================================================================
@@ -6,14 +6,14 @@
        url         = "http://www.monodevelop.com"
        description = "Vala Language binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id = "Core" version = "4.1.7"/>
-		<Addin id = "Ide" version = "4.1.7"/>
-		<Addin id = "Deployment" version = "4.1.7"/>
-		<Addin id = "Deployment.Linux" version = "4.1.7"/>
-		<Addin id = "Autotools" version = "4.1.7"/>
+		<Addin id = "Core" version = "4.1.13"/>
+		<Addin id = "Ide" version = "4.1.13"/>
+		<Addin id = "Deployment" version = "4.1.13"/>
+		<Addin id = "Deployment.Linux" version = "4.1.13"/>
+		<Addin id = "Autotools" version = "4.1.13"/>
 	</Dependencies>
 	
 	<Extension path = "/MonoDevelop/Core/StockIcons">

Modified: extras/ValaBinding/configure.in
===================================================================
@@ -1,9 +1,9 @@
-AC_INIT([monodevelop-vala], 4.1.7, [[email protected]])
+AC_INIT([monodevelop-vala], 4.1.13, [[email protected]])
 AC_PREREQ(2.53)
 AM_INIT_AUTOMAKE(1.9 tar-ustar)
 AM_MAINTAINER_MODE
 
-ASSEMBLY_VERSION=4.1.7.0
+ASSEMBLY_VERSION=4.0.0.0
 
 AC_PATH_PROG(MONO, mono)
 AC_PATH_PROG(MCS, dmcs)
@@ -52,7 +52,7 @@ fi
 dnl hard dependencies
 MONOADDINS_REQUIRED_VERSION=0.3
 GTKSHARP_REQUIRED_VERSION=2.12.8
-MONODEVELOP_REQUIRED_VERSION=4.1.7
+MONODEVELOP_REQUIRED_VERSION=4.1.13
 LIBVALA_REQUIRED_VERSION=0.12.0
 
 PKG_CHECK_MODULES(MONO_ADDINS, mono-addins >= $MONOADDINS_REQUIRED_VERSION)

Modified: extras/WebKitWebBrowser/MonoDevelop.WebBrowsers.WebKitWebBrowser.addin.xml
===================================================================
@@ -6,10 +6,10 @@
        url         = "http://www.monodevelop.com"
        description = "WebKit Web Browser component"
        category    = "Platform Support"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id = "Ide" version = "4.1.7"/>
+		<Addin id = "Ide" version = "4.1.13"/>
 	</Dependencies>
 	
 	<Extension path = "/MonoDevelop/Core/WebBrowsers">

Modified: extras/WebKitWebBrowser/configure
===================================================================
@@ -1,10 +1,10 @@
 #!/usr/bin/env bash
-VERSION=4.1.7
+VERSION=4.1.13
 PACKAGE=webkitwebbrowser
 prefix=/usr/local
 config=DEBUG
 configurations=" RELEASE DEBUG"
-common_packages=" glade-sharp-2.0;2.12.8 glib-sharp-2.0;2.12.8 gtk-sharp-2.0;2.12.8 monodevelop;4.1.7 webkit-sharp-1.0;0.2"
+common_packages=" glade-sharp-2.0;2.12.8 glib-sharp-2.0;2.12.8 gtk-sharp-2.0;2.12.8 monodevelop;4.1.13 webkit-sharp-1.0;0.2"
 
 
 usage ()

Modified: main/Main.sln
===================================================================
@@ -288,12 +288,13 @@ Global
 		{0413DB7D-8B35-423F-9752-D75C9225E7DE}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
 		{0413DB7D-8B35-423F-9752-D75C9225E7DE}.DebugWin32|Any CPU.Build.0 = Debug|Any CPU
 		{0413DB7D-8B35-423F-9752-D75C9225E7DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
-		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
-		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
-		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.Debug|Any CPU.ActiveCfg = Debug|x86
+		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.Debug|Any CPU.Build.0 = Debug|x86
+		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.DebugMac|Any CPU.ActiveCfg = Debug|x86
+		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.DebugMac|Any CPU.Build.0 = Debug|x86
+		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.DebugWin32|Any CPU.ActiveCfg = Debug|x86
+		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.DebugWin32|Any CPU.Build.0 = Debug|x86
+		{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}.Release|Any CPU.ActiveCfg = Release|x86
 		{07CC7654-27D6-421D-A64C-0FFA40456FA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{07CC7654-27D6-421D-A64C-0FFA40456FA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{07CC7654-27D6-421D-A64C-0FFA40456FA2}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
@@ -351,6 +352,7 @@ Global
 		{174E6044-DD3A-49AB-9A5C-2A1F341B7B4F}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
 		{174E6044-DD3A-49AB-9A5C-2A1F341B7B4F}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
 		{174E6044-DD3A-49AB-9A5C-2A1F341B7B4F}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
+		{174E6044-DD3A-49AB-9A5C-2A1F341B7B4F}.DebugWin32|Any CPU.Build.0 = Debug|Any CPU
 		{174E6044-DD3A-49AB-9A5C-2A1F341B7B4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{183E084F-2C3B-4A6D-A8CE-6CDF3DC499AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{183E084F-2C3B-4A6D-A8CE-6CDF3DC499AC}.Debug|Any CPU.Build.0 = Debug|Any CPU


Modified: main/configure.in
===================================================================
@@ -1,4 +1,4 @@
-AC_INIT([monodevelop], 4.1.7, [[email protected]])
+AC_INIT([monodevelop], 4.1.13, [[email protected]])
 AC_PREREQ(2.53)
 AM_INIT_AUTOMAKE([1.10 tar-ustar])
 AM_MAINTAINER_MODE
@@ -6,13 +6,13 @@ AM_MAINTAINER_MODE
 #capture aclocal flags for autoreconf
 AC_SUBST(ACLOCAL_FLAGS)
 
-ASSEMBLY_VERSION=4.1.7.0
+ASSEMBLY_VERSION=4.0.0.0
 
 # This is parsed in BuildVariables.cs. Keep the format consistent to avoid breaking
 # the C# side of things. It should be one of the following two formats:
 # 1) "VERSION_NUMBER"					"2.0"
 # 2) "VERSION_NUMBER BUILD_TYPE BUILD_NUMBER"		"2.0 Alpha 1"
-PACKAGE_VERSION_LABEL="4.1.7"
+PACKAGE_VERSION_LABEL="4.1.13"
 
 COMPAT_ADDIN_VERSION=4.0
 
@@ -97,7 +97,6 @@ if test "x$MSGMERGE" = "xno"; then
         AC_MSG_ERROR([You need to install msgmerge from intltool])
 fi
 
-MONO_REQUIRED_VERSION=2.8
 PKG_CHECK_MODULES(UNMANAGED_DEPENDENCIES_MONO,mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
 
 if test "x$has_mono" = "xfalse"; then

Modified: main/external/debugger-libs
===================================================================
@@ -1 +1 @@
-Subproject commit 8c6cdc6a77abaf1a6ee75498c62c46474794a2b7
+Subproject commit dc63536bdeba18737d922bcf4731d3dd2e7a74a6

Modified: main/external/guiunit
===================================================================
@@ -1 +1 @@
-Subproject commit aaf2b9650baad6c5c9f06f5f431958803f386135
+Subproject commit 1fe9c1e7f5675a1cbdd9d8cc8c9b93df070501b6

Removed: main/external/maccore
===================================================================
@@ -1 +0,0 @@
-Subproject commit c56ff209497cf0fbbfeff3f5696eda58670facf7

Modified: main/external/ngit
===================================================================
@@ -1 +1 @@
-Subproject commit 4f3290d81529f5ebc5b0b51d1bb7a1eb727537ac
+Subproject commit 278c05fd8e31c09bce840d348a8677e36f246ab4

Modified: main/external/nrefactory
===================================================================
@@ -1 +1 @@
-Subproject commit 37f7f49e89db32b4fa5eab0a6a7bdea54154e313
+Subproject commit a01f5b37b0ddcb072b63a55b0fa4b91cbcd716c1

Modified: main/external/xwt
===================================================================
@@ -1 +1 @@
-Subproject commit 6800aa6ec6363805e012b8c882c4a2fd6f64d73f
+Subproject commit dfc729dd856d1cceff7853a2648468d4f68d044e

Modified: main/src/addins/CBinding/CBinding.addin.xml
===================================================================
@@ -6,16 +6,16 @@
        url         = "http://www.monodevelop.com"
        description = "C/C++ Language binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id = "Core" version = "4.1.7"/>
-		<Addin id = "Ide" version = "4.1.7"/>
-		<Addin id = "Deployment" version = "4.1.7"/>
-		<Addin id = "Deployment.Linux" version = "4.1.7"/>
-		<Addin id = "SourceEditor2" version = "4.1.7" />
-		<Addin id = "DesignerSupport" version = "4.1.7" />
-		<Addin id = "Refactoring" version = "4.1.7" />
+		<Addin id = "Core" version = "4.1.13"/>
+		<Addin id = "Ide" version = "4.1.13"/>
+		<Addin id = "Deployment" version = "4.1.13"/>
+		<Addin id = "Deployment.Linux" version = "4.1.13"/>
+		<Addin id = "SourceEditor2" version = "4.1.13" />
+		<Addin id = "DesignerSupport" version = "4.1.13" />
+		<Addin id = "Refactoring" version = "4.1.13" />
 	</Dependencies>
 	
 	<Extension path = "/MonoDevelop/Core/StockIcons">
@@ -241,7 +241,7 @@
 	    </Runtime>
 	    
 		<Dependencies>
-			<Addin id = "MonoDevelop.Autotools" version = "4.1.7"/>
+			<Addin id = "MonoDevelop.Autotools" version = "4.1.13"/>
 		</Dependencies>
 		
 		<Extension path = "/Autotools/SimpleSetups">

Modified: main/src/addins/CSharpBinding/Autotools/CSharpAutotoolsSetup.cs
===================================================================
@@ -75,11 +75,7 @@ public string GetCompilerFlags ( Project project, string configuration )
 				if (!hasDebugDefine)
 					writer.Write (" -define:DEBUG");
 			}
-			
-			if (!string.IsNullOrEmpty (parameters.AdditionalArguments)) {
-				writer.Write (" " + parameters.AdditionalArguments + " ");
-			}
-			
+
 			switch (parameters.LangVersion) {
 			case LangVersion.Default:
 				break;

Modified: main/src/addins/CSharpBinding/CSharpBinding.addin.xml
===================================================================
@@ -273,7 +273,7 @@
 	        <Import assembly="MonoDevelop.CSharpBinding.Autotools.dll"/>
 	    </Runtime>
 		<Dependencies>
-			<Addin id="Autotools" version="4.1.7"/>
+			<Addin id="Autotools" version="4.1.13"/>
 		</Dependencies>
 		<Extension path = "/MonoDevelop/Autotools/SimpleSetups">
 			<Class class="CSharpBinding.Autotools.CSharpAutotoolsSetup" />
@@ -285,7 +285,7 @@
 			<Import assembly="MonoDevelop.CSharpBinding.AspNet.dll"/>
 		</Runtime>
 		<Dependencies>
-			<Addin id="AspNet" version="4.1.7"/>
+			<Addin id="AspNet" version="4.1.13"/>
 		</Dependencies>
 		<Extension path = "/MonoDevelop/Asp/CompletionBuilders">
 			<Class class = "MonoDevelop.CSharp.Completion.AspLanguageBuilder" />

Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp.Completion/CSharpCompletionTextEditorExtension.cs
===================================================================
@@ -1111,6 +1111,7 @@ public ImportSymbolCompletionData (CSharpCompletionTextEditorExtension ext, bool
 					this.ext = ext;
 					this.useFullName = useFullName;
 					this.type = type;
+					this.DisplayFlags |= ICSharpCode.NRefactory.Completion.DisplayFlags.IsImportCompletion;
 				}
 
 				public override TooltipInformation CreateTooltipInformation (bool smartWrap)
@@ -1194,10 +1195,7 @@ public override string GetDisplayDescription (bool isSelected)
 
 				public override string Description {
 					get {
-						Initialize ();
-						if (generateUsing)
-							return type.Namespace;
-						return null;
+						return type.Namespace;
 					}
 				}
 
@@ -1208,19 +1206,6 @@ public override string GetDisplayDescription (bool isSelected)
 				}
 				#endregion
 
-				public override int CompareTo (object obj)
-				{
-					var result = base.CompareTo (obj);
-					if (result == 0) {
-						var isd = obj as ImportSymbolCompletionData;
-						if (isd != null) {
-							result = StringComparer.OrdinalIgnoreCase.Compare (Description, isd.Description);
-						} else {
-							return 1;
-						}
-					}
-					return result;
-				}
 
 				List<CompletionData> overloads;
 

Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp.Highlighting/CSharpSyntaxMode.cs
===================================================================
@@ -73,9 +73,6 @@ class CSharpSyntaxMode : SyntaxMode, IQuickTaskProvider, IDisposable
 	{
 		readonly Document guiDocument;
 
-		SyntaxTree unit;
-//		CSharpUnresolvedFile parsedFile;
-//		ICompilation compilation;
 		CSharpAstResolver resolver;
 		CancellationTokenSource src;
 
@@ -169,11 +166,9 @@ void HandleDocumentParsed (object sender, EventArgs e)
 							var newResolver = newResolverTask.Result;
 							if (newResolver == null)
 								return;
-							unit = newResolver.RootNode as SyntaxTree;
-//							parsedFile = newResolver.UnresolvedFile;
 							var visitor = new QuickTaskVisitor (newResolver, cancellationToken);
 							try {
-								unit.AcceptVisitor (visitor);
+								newResolver.RootNode.AcceptVisitor (visitor);
 							} catch (Exception ex) {
 								LoggingService.LogError ("Error while analyzing the file for the semantic highlighting.", ex);
 								return;
@@ -695,9 +690,10 @@ protected override void AddRealChunk (Chunk chunk)
 					try {
 						HighlightingVisitior visitor;
 						if (!csharpSyntaxMode.lineSegments.TryGetValue (line, out visitor)) {
-							visitor = new HighlightingVisitior (csharpSyntaxMode.resolver, default (CancellationToken), lineNumber, base.line.Offset, line.Length);
+							var resolver = csharpSyntaxMode.resolver;
+							visitor = new HighlightingVisitior (resolver, default (CancellationToken), lineNumber, base.line.Offset, line.Length);
 							visitor.tree.InstallListener (doc);
-							csharpSyntaxMode.unit.AcceptVisitor (visitor);
+							resolver.RootNode.AcceptVisitor (visitor);
 							csharpSyntaxMode.lineSegments[line] = visitor;
 						}
 						string style;

Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CSharpCompilerParameters.cs
===================================================================
@@ -71,9 +71,6 @@ public class CSharpCompilerParameters: ConfigurationParameters
 		[ProjectPathItemProperty ("DocumentationFile")]
 		FilePath documentationFile;
 		
-		[ItemProperty ("additionalargs", DefaultValue = "")]
-		string additionalArgs = string.Empty;
-		
 		[ItemProperty ("LangVersion", DefaultValue = "Default")]
 		string langVersion = "Default";
 		
@@ -146,11 +143,7 @@ protected override void OnEndLoad ()
 			}
 		}
 	
-		public string AdditionalArguments {
-			get { return additionalArgs; }
-			set { additionalArgs = value ?? string.Empty; }
-		}
-		
+
 		public LangVersion LangVersion {
 			get {
 				var val = TryLangVersionFromString (langVersion);

Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CodeGenerationPanel.cs
===================================================================
@@ -59,7 +59,6 @@ public void Load (DotNetProjectConfiguration configuration)
 			generateOverflowChecksCheckButton.Active   = compilerParameters.GenerateOverflowChecks;
 			warningsAsErrorsCheckButton.Active         = compilerParameters.TreatWarningsAsErrors;
 			warningLevelSpinButton.Value               = compilerParameters.WarningLevel;
-			additionalArgsEntry.Text                   = compilerParameters.AdditionalArguments;
 			ignoreWarningsEntry.Text                   = compilerParameters.NoWarnings;
 			
 			int i = CSharpLanguageBinding.SupportedPlatforms.IndexOf (compilerParameters.PlatformTarget);
@@ -91,7 +90,6 @@ public void Store ()
 			compilerParameters.GenerateOverflowChecks = generateOverflowChecksCheckButton.Active;
 			compilerParameters.TreatWarningsAsErrors  = warningsAsErrorsCheckButton.Active;
 			compilerParameters.WarningLevel           = warningLevelSpinButton.ValueAsInt;
-			compilerParameters.AdditionalArguments    = additionalArgsEntry.Text;
 			compilerParameters.NoWarnings             = ignoreWarningsEntry.Text;
 			compilerParameters.PlatformTarget         = CSharpLanguageBinding.SupportedPlatforms [comboPlatforms.Active];
 

Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp.Refactoring.CodeActions/MDRefactoringContext.cs
===================================================================
@@ -70,7 +70,7 @@ public class MDRefactoringContext : RefactoringContext, IRefactoringContext
 		public SyntaxTree Unit {
 			get {
 				Debug.Assert (!IsInvalid);
-				return ParsedDocument.GetAst<SyntaxTree> ();
+				return Resolver.RootNode as SyntaxTree;
 			}
 		}
 

Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp.Tooltips/LanguageItemTooltipProvider.cs
===================================================================
@@ -45,6 +45,7 @@
 using MonoDevelop.CSharp.Completion;
 using MonoDevelop.Components;
 using MonoDevelop.Projects;
+using Mono.Cecil.Cil;
 
 namespace MonoDevelop.SourceEditor
 {
@@ -301,7 +302,7 @@ TooltipInformation CreateTooltip (ToolTipData data, int offset, Ambience ambienc
 					doc.GetFormattingPolicy (),
 					member, 
 					false);
-				}else if (result is NamespaceResolveResult) {
+				} else if (result is NamespaceResolveResult) {
 					var tooltipInfo = new TooltipInformation ();
 					var resolver = (doc.ParsedDocument.ParsedFile as CSharpUnresolvedFile).GetResolver (doc.Compilation, doc.Editor.Caret.Location);
 					var sig = new SignatureMarkupCreator (resolver, doc.GetFormattingPolicy ().CreateOptions ());
@@ -313,6 +314,19 @@ TooltipInformation CreateTooltip (ToolTipData data, int offset, Ambience ambienc
 						return new TooltipInformation ();
 					}
 					return tooltipInfo;
+				} else if (result is OperatorResolveResult) {
+					var or = result as OperatorResolveResult;
+					var tooltipInfo = new TooltipInformation ();
+					var resolver = (doc.ParsedDocument.ParsedFile as CSharpUnresolvedFile).GetResolver (doc.Compilation, doc.Editor.Caret.Location);
+					var sig = new SignatureMarkupCreator (resolver, doc.GetFormattingPolicy ().CreateOptions ());
+					sig.BreakLineAfterReturnType = false;
+					try {
+						tooltipInfo.SignatureMarkup = sig.GetMarkup (or.UserDefinedOperatorMethod);
+					} catch (Exception e) {
+						LoggingService.LogError ("Got exception while creating markup for :" + ((NamespaceResolveResult)result).Namespace, e);
+						return new TooltipInformation ();
+					}
+					return tooltipInfo;
 				} else {
 					return MemberCompletionData.CreateTooltipInformation (
 					doc.Compilation,

Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs
===================================================================
@@ -313,9 +313,6 @@ public static BuildResult Compile (ProjectItemCollection projectItems, DotNetPro
 			if (!compilerParameters.DocumentationFile.IsNullOrEmpty) 
 				AppendQuoted (sb, "/doc:", compilerParameters.DocumentationFile);
 			
-			if (!string.IsNullOrEmpty (compilerParameters.AdditionalArguments)) 
-				sb.AppendLine (compilerParameters.AdditionalArguments);
-			
 			if (!string.IsNullOrEmpty (compilerParameters.NoWarnings)) 
 				AppendQuoted (sb, "/nowarn:", compilerParameters.NoWarnings);
 

Modified: main/src/addins/CSharpBinding/gtk-gui/MonoDevelop.CSharp.Project.CodeGenerationPanelWidget.cs
===================================================================
@@ -1,426 +1,383 @@
-
-// This file has been generated by the GUI designer. Do not modify.
-namespace MonoDevelop.CSharp.Project
-{
-	internal partial class CodeGenerationPanelWidget
-	{
-		private global::Gtk.VBox vbox62;
-		private global::Gtk.Label label82;
-		private global::Gtk.HBox hbox56;
-		private global::Gtk.Label label81;
-		private global::Gtk.VBox vbox65;
-		private global::Gtk.Table table1;
-		private global::Gtk.CheckButton enableOptimizationCheckButton;
-		private global::Gtk.CheckButton generateOverflowChecksCheckButton;
-		private global::Gtk.HBox hbox1;
-		private global::Gtk.ComboBox comboPlatforms;
-		private global::Gtk.HBox hbox2;
-		private global::Gtk.ComboBox comboDebug;
-		private global::Gtk.HBox hbox4;
-		private global::Gtk.CheckButton generateXmlOutputCheckButton;
-		private global::MonoDevelop.Components.FileEntry xmlDocsEntry;
-		private global::Gtk.Label label1;
-		private global::Gtk.Label label2;
-		private global::Gtk.Label label87;
-		private global::Gtk.Entry symbolsEntry;
-		private global::Gtk.Label label93;
-		private global::Gtk.HBox hbox48;
-		private global::Gtk.Label label73;
-		private global::Gtk.VBox vbox67;
-		private global::Gtk.HBox hbox60;
-		private global::Gtk.Label label85;
-		private global::Gtk.SpinButton warningLevelSpinButton;
-		private global::Gtk.HBox hbox3;
-		private global::Gtk.Label label86;
-		private global::Gtk.Entry ignoreWarningsEntry;
-		private global::Gtk.CheckButton warningsAsErrorsCheckButton;
-		private global::Gtk.Label label94;
-		private global::Gtk.HBox hbox5;
-		private global::Gtk.Label label74;
-		private global::Gtk.HBox hbox6;
-		private global::Gtk.Label label88;
-		private global::Gtk.Entry additionalArgsEntry;
-
-		protected virtual void Build ()
-		{
-			global::Stetic.Gui.Initialize (this);
-			// Widget MonoDevelop.CSharp.Project.CodeGenerationPanelWidget
-			global::Stetic.BinContainer.Attach (this);
-			this.Name = "MonoDevelop.CSharp.Project.CodeGenerationPanelWidget";
-			// Container child MonoDevelop.CSharp.Project.CodeGenerationPanelWidget.Gtk.Container+ContainerChild
-			this.vbox62 = new global::Gtk.VBox ();
-			this.vbox62.Name = "vbox62";
-			this.vbox62.Spacing = 12;
-			this.vbox62.BorderWidth = ((uint)(6));
-			// Container child vbox62.Gtk.Box+BoxChild
-			this.label82 = new global::Gtk.Label ();
-			this.label82.Name = "label82";
-			this.label82.Xalign = 0F;
-			this.label82.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>General Options</b>");
-			this.label82.UseMarkup = true;
-			this.vbox62.Add (this.label82);
-			global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.label82]));
-			w1.Position = 0;
-			w1.Expand = false;
-			w1.Fill = false;
-			// Container child vbox62.Gtk.Box+BoxChild
-			this.hbox56 = new global::Gtk.HBox ();
-			this.hbox56.Name = "hbox56";
-			// Container child hbox56.Gtk.Box+BoxChild
-			this.label81 = new global::Gtk.Label ();
-			this.label81.WidthRequest = 18;
-			this.label81.Name = "label81";
-			this.hbox56.Add (this.label81);
-			global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox56 [this.label81]));
-			w2.Position = 0;
-			w2.Expand = false;
-			w2.Fill = false;
-			// Container child hbox56.Gtk.Box+BoxChild
-			this.vbox65 = new global::Gtk.VBox ();
-			this.vbox65.Name = "vbox65";
-			this.vbox65.Spacing = 6;
-			// Container child vbox65.Gtk.Box+BoxChild
-			this.table1 = new global::Gtk.Table (((uint)(6)), ((uint)(2)), false);
-			this.table1.Name = "table1";
-			this.table1.RowSpacing = ((uint)(6));
-			this.table1.ColumnSpacing = ((uint)(6));
-			// Container child table1.Gtk.Table+TableChild
-			this.enableOptimizationCheckButton = new global::Gtk.CheckButton ();
-			this.enableOptimizationCheckButton.CanFocus = true;
-			this.enableOptimizationCheckButton.Name = "enableOptimizationCheckButton";
-			this.enableOptimizationCheckButton.Label = global::Mono.Unix.Catalog.GetString ("Enable _optimizations");
-			this.enableOptimizationCheckButton.DrawIndicator = true;
-			this.enableOptimizationCheckButton.UseUnderline = true;
-			this.table1.Add (this.enableOptimizationCheckButton);
-			global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.enableOptimizationCheckButton]));
-			w3.TopAttach = ((uint)(1));
-			w3.BottomAttach = ((uint)(2));
-			w3.RightAttach = ((uint)(2));
-			w3.XOptions = ((global::Gtk.AttachOptions)(4));
-			w3.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.generateOverflowChecksCheckButton = new global::Gtk.CheckButton ();
-			this.generateOverflowChecksCheckButton.CanFocus = true;
-			this.generateOverflowChecksCheckButton.Name = "generateOverflowChecksCheckButton";
-			this.generateOverflowChecksCheckButton.Label = global::Mono.Unix.Catalog.GetString ("_Generate overflow checks");
-			this.generateOverflowChecksCheckButton.DrawIndicator = true;
-			this.generateOverflowChecksCheckButton.UseUnderline = true;
-			this.table1.Add (this.generateOverflowChecksCheckButton);
-			global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.generateOverflowChecksCheckButton]));
-			w4.RightAttach = ((uint)(2));
-			w4.XOptions = ((global::Gtk.AttachOptions)(4));
-			w4.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.hbox1 = new global::Gtk.HBox ();
-			this.hbox1.Name = "hbox1";
-			this.hbox1.Spacing = 6;
-			// Container child hbox1.Gtk.Box+BoxChild
-			this.comboPlatforms = global::Gtk.ComboBox.NewText ();
-			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("Any CPU"));
-			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("x86"));
-			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("x64"));
-			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("Itanium"));
-			this.comboPlatforms.Name = "comboPlatforms";
-			this.comboPlatforms.Active = 0;
-			this.hbox1.Add (this.comboPlatforms);
-			global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.comboPlatforms]));
-			w5.Position = 0;
-			w5.Expand = false;
-			w5.Fill = false;
-			this.table1.Add (this.hbox1);
-			global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.hbox1]));
-			w6.TopAttach = ((uint)(5));
-			w6.BottomAttach = ((uint)(6));
-			w6.LeftAttach = ((uint)(1));
-			w6.RightAttach = ((uint)(2));
-			w6.XOptions = ((global::Gtk.AttachOptions)(4));
-			w6.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.hbox2 = new global::Gtk.HBox ();
-			this.hbox2.Name = "hbox2";
-			this.hbox2.Spacing = 6;
-			// Container child hbox2.Gtk.Box+BoxChild
-			this.comboDebug = global::Gtk.ComboBox.NewText ();
-			this.comboDebug.AppendText (global::Mono.Unix.Catalog.GetString ("Full"));
-			this.comboDebug.AppendText (global::Mono.Unix.Catalog.GetString ("Symbols only"));
-			this.comboDebug.AppendText (global::Mono.Unix.Catalog.GetString ("None"));
-			this.comboDebug.Name = "comboDebug";
-			this.comboDebug.Active = 0;
-			this.hbox2.Add (this.comboDebug);
-			global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.comboDebug]));
-			w7.Position = 0;
-			w7.Expand = false;
-			w7.Fill = false;
-			this.table1.Add (this.hbox2);
-			global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.table1 [this.hbox2]));
-			w8.TopAttach = ((uint)(3));
-			w8.BottomAttach = ((uint)(4));
-			w8.LeftAttach = ((uint)(1));
-			w8.RightAttach = ((uint)(2));
-			w8.XOptions = ((global::Gtk.AttachOptions)(4));
-			w8.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.hbox4 = new global::Gtk.HBox ();
-			this.hbox4.Name = "hbox4";
-			this.hbox4.Spacing = 6;
-			// Container child hbox4.Gtk.Box+BoxChild
-			this.generateXmlOutputCheckButton = new global::Gtk.CheckButton ();
-			this.generateXmlOutputCheckButton.CanFocus = true;
-			this.generateXmlOutputCheckButton.Name = "generateXmlOutputCheckButton";
-			this.generateXmlOutputCheckButton.Label = global::Mono.Unix.Catalog.GetString ("Generate _xml documentation:");
-			this.generateXmlOutputCheckButton.DrawIndicator = true;
-			this.generateXmlOutputCheckButton.UseUnderline = true;
-			this.hbox4.Add (this.generateXmlOutputCheckButton);
-			global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.generateXmlOutputCheckButton]));
-			w9.Position = 0;
-			w9.Expand = false;
-			w9.Fill = false;
-			// Container child hbox4.Gtk.Box+BoxChild
-			this.xmlDocsEntry = new global::MonoDevelop.Components.FileEntry ();
-			this.xmlDocsEntry.Name = "xmlDocsEntry";
-			this.xmlDocsEntry.DisplayAsRelativePath = false;
-			this.hbox4.Add (this.xmlDocsEntry);
-			global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.xmlDocsEntry]));
-			w10.Position = 1;
-			this.table1.Add (this.hbox4);
-			global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.table1 [this.hbox4]));
-			w11.TopAttach = ((uint)(2));
-			w11.BottomAttach = ((uint)(3));
-			w11.RightAttach = ((uint)(2));
-			w11.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.label1 = new global::Gtk.Label ();
-			this.label1.Name = "label1";
-			this.label1.Xalign = 0F;
-			this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Platform target:");
-			this.table1.Add (this.label1);
-			global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1 [this.label1]));
-			w12.TopAttach = ((uint)(5));
-			w12.BottomAttach = ((uint)(6));
-			w12.XOptions = ((global::Gtk.AttachOptions)(4));
-			w12.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.label2 = new global::Gtk.Label ();
-			this.label2.Name = "label2";
-			this.label2.Xalign = 0F;
-			this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Debug information:");
-			this.table1.Add (this.label2);
-			global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2]));
-			w13.TopAttach = ((uint)(3));
-			w13.BottomAttach = ((uint)(4));
-			w13.XOptions = ((global::Gtk.AttachOptions)(4));
-			w13.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.label87 = new global::Gtk.Label ();
-			this.label87.Name = "label87";
-			this.label87.Xalign = 0F;
-			this.label87.LabelProp = global::Mono.Unix.Catalog.GetString ("Define S_ymbols:");
-			this.label87.UseUnderline = true;
-			this.table1.Add (this.label87);
-			global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.table1 [this.label87]));
-			w14.TopAttach = ((uint)(4));
-			w14.BottomAttach = ((uint)(5));
-			w14.XOptions = ((global::Gtk.AttachOptions)(4));
-			w14.YOptions = ((global::Gtk.AttachOptions)(4));
-			// Container child table1.Gtk.Table+TableChild
-			this.symbolsEntry = new global::Gtk.Entry ();
-			this.symbolsEntry.CanFocus = true;
-			this.symbolsEntry.Name = "symbolsEntry";
-			this.symbolsEntry.IsEditable = true;
-			this.symbolsEntry.InvisibleChar = '●';
-			this.table1.Add (this.symbolsEntry);
-			global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.table1 [this.symbolsEntry]));
-			w15.TopAttach = ((uint)(4));
-			w15.BottomAttach = ((uint)(5));
-			w15.LeftAttach = ((uint)(1));
-			w15.RightAttach = ((uint)(2));
-			w15.YOptions = ((global::Gtk.AttachOptions)(4));
-			this.vbox65.Add (this.table1);
-			global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox65 [this.table1]));
-			w16.Position = 0;
-			w16.Expand = false;
-			w16.Fill = false;
-			this.hbox56.Add (this.vbox65);
-			global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.hbox56 [this.vbox65]));
-			w17.Position = 1;
-			this.vbox62.Add (this.hbox56);
-			global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.hbox56]));
-			w18.Position = 1;
-			w18.Expand = false;
-			w18.Fill = false;
-			// Container child vbox62.Gtk.Box+BoxChild
-			this.label93 = new global::Gtk.Label ();
-			this.label93.Name = "label93";
-			this.label93.Xalign = 0F;
-			this.label93.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Warnings</b>");
-			this.label93.UseMarkup = true;
-			this.label93.UseUnderline = true;
-			this.vbox62.Add (this.label93);
-			global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.label93]));
-			w19.Position = 2;
-			w19.Expand = false;
-			w19.Fill = false;
-			// Container child vbox62.Gtk.Box+BoxChild
-			this.hbox48 = new global::Gtk.HBox ();
-			this.hbox48.Name = "hbox48";
-			// Container child hbox48.Gtk.Box+BoxChild
-			this.label73 = new global::Gtk.Label ();
-			this.label73.WidthRequest = 18;
-			this.label73.Name = "label73";
-			this.hbox48.Add (this.label73);
-			global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.hbox48 [this.label73]));
-			w20.Position = 0;
-			w20.Expand = false;
-			w20.Fill = false;
-			// Container child hbox48.Gtk.Box+BoxChild
-			this.vbox67 = new global::Gtk.VBox ();
-			this.vbox67.Name = "vbox67";
-			this.vbox67.Spacing = 6;
-			// Container child vbox67.Gtk.Box+BoxChild
-			this.hbox60 = new global::Gtk.HBox ();
-			this.hbox60.Name = "hbox60";
-			this.hbox60.Spacing = 6;
-			// Container child hbox60.Gtk.Box+BoxChild
-			this.label85 = new global::Gtk.Label ();
-			this.label85.Name = "label85";
-			this.label85.LabelProp = global::Mono.Unix.Catalog.GetString ("_Warning Level:");
-			this.label85.UseUnderline = true;
-			this.hbox60.Add (this.label85);
-			global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.hbox60 [this.label85]));
-			w21.Position = 0;
-			w21.Expand = false;
-			w21.Fill = false;
-			// Container child hbox60.Gtk.Box+BoxChild
-			this.warningLevelSpinButton = new global::Gtk.SpinButton (0D, 4D, 1D);
-			this.warningLevelSpinButton.CanFocus = true;
-			this.warningLevelSpinButton.Name = "warningLevelSpinButton";
-			this.warningLevelSpinButton.Adjustment.PageIncrement = 1D;
-			this.warningLevelSpinButton.ClimbRate = 1D;
-			this.warningLevelSpinButton.Numeric = true;
-			this.warningLevelSpinButton.Value = 2D;
-			this.hbox60.Add (this.warningLevelSpinButton);
-			global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.hbox60 [this.warningLevelSpinButton]));
-			w22.Position = 1;
-			w22.Expand = false;
-			w22.Fill = false;
-			this.vbox67.Add (this.hbox60);
-			global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox67 [this.hbox60]));
-			w23.Position = 0;
-			w23.Expand = false;
-			w23.Fill = false;
-			// Container child vbox67.Gtk.Box+BoxChild
-			this.hbox3 = new global::Gtk.HBox ();
-			this.hbox3.Name = "hbox3";
-			this.hbox3.Spacing = 6;
-			// Container child hbox3.Gtk.Box+BoxChild
-			this.label86 = new global::Gtk.Label ();
-			this.label86.Name = "label86";
-			this.label86.LabelProp = global::Mono.Unix.Catalog.GetString ("_Ignore warnings:");
-			this.label86.UseUnderline = true;
-			this.hbox3.Add (this.label86);
-			global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.label86]));
-			w24.Position = 0;
-			w24.Expand = false;
-			w24.Fill = false;
-			// Container child hbox3.Gtk.Box+BoxChild
-			this.ignoreWarningsEntry = new global::Gtk.Entry ();
-			this.ignoreWarningsEntry.CanFocus = true;
-			this.ignoreWarningsEntry.Name = "ignoreWarningsEntry";
-			this.ignoreWarningsEntry.IsEditable = true;
-			this.ignoreWarningsEntry.InvisibleChar = '●';
-			this.hbox3.Add (this.ignoreWarningsEntry);
-			global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.ignoreWarningsEntry]));
-			w25.Position = 1;
-			this.vbox67.Add (this.hbox3);
-			global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.vbox67 [this.hbox3]));
-			w26.Position = 1;
-			w26.Expand = false;
-			w26.Fill = false;
-			// Container child vbox67.Gtk.Box+BoxChild
-			this.warningsAsErrorsCheckButton = new global::Gtk.CheckButton ();
-			this.warningsAsErrorsCheckButton.CanFocus = true;
-			this.warningsAsErrorsCheckButton.Name = "warningsAsErrorsCheckButton";
-			this.warningsAsErrorsCheckButton.Label = global::Mono.Unix.Catalog.GetString ("Treat warnings as _errors");
-			this.warningsAsErrorsCheckButton.DrawIndicator = true;
-			this.warningsAsErrorsCheckButton.UseUnderline = true;
-			this.vbox67.Add (this.warningsAsErrorsCheckButton);
-			global::Gtk.Box.BoxChild w27 = ((global::Gtk.Box.BoxChild)(this.vbox67 [this.warningsAsErrorsCheckButton]));
-			w27.Position = 2;
-			w27.Expand = false;
-			w27.Fill = false;
-			this.hbox48.Add (this.vbox67);
-			global::Gtk.Box.BoxChild w28 = ((global::Gtk.Box.BoxChild)(this.hbox48 [this.vbox67]));
-			w28.Position = 1;
-			this.vbox62.Add (this.hbox48);
-			global::Gtk.Box.BoxChild w29 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.hbox48]));
-			w29.Position = 3;
-			w29.Expand = false;
-			w29.Fill = false;
-			// Container child vbox62.Gtk.Box+BoxChild
-			this.label94 = new global::Gtk.Label ();
-			this.label94.Name = "label94";
-			this.label94.Xalign = 0F;
-			this.label94.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Additional Options</b>");
-			this.label94.UseMarkup = true;
-			this.label94.UseUnderline = true;
-			this.vbox62.Add (this.label94);
-			global::Gtk.Box.BoxChild w30 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.label94]));
-			w30.Position = 4;
-			w30.Expand = false;
-			w30.Fill = false;
-			// Container child vbox62.Gtk.Box+BoxChild
-			this.hbox5 = new global::Gtk.HBox ();
-			this.hbox5.Name = "hbox5";
-			this.hbox5.Spacing = 6;
-			// Container child hbox5.Gtk.Box+BoxChild
-			this.label74 = new global::Gtk.Label ();
-			this.label74.WidthRequest = 18;
-			this.label74.Name = "label74";
-			this.hbox5.Add (this.label74);
-			global::Gtk.Box.BoxChild w31 = ((global::Gtk.Box.BoxChild)(this.hbox5 [this.label74]));
-			w31.Position = 0;
-			w31.Expand = false;
-			w31.Fill = false;
-			// Container child hbox5.Gtk.Box+BoxChild
-			this.hbox6 = new global::Gtk.HBox ();
-			this.hbox6.Name = "hbox6";
-			this.hbox6.Spacing = 6;
-			// Container child hbox6.Gtk.Box+BoxChild
-			this.label88 = new global::Gtk.Label ();
-			this.label88.Name = "label88";
-			this.label88.LabelProp = global::Mono.Unix.Catalog.GetString ("_Additional arguments:");
-			this.label88.UseUnderline = true;
-			this.hbox6.Add (this.label88);
-			global::Gtk.Box.BoxChild w32 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.label88]));
-			w32.Position = 0;
-			w32.Expand = false;
-			w32.Fill = false;
-			// Container child hbox6.Gtk.Box+BoxChild
-			this.additionalArgsEntry = new global::Gtk.Entry ();
-			this.additionalArgsEntry.CanFocus = true;
-			this.additionalArgsEntry.Name = "additionalArgsEntry";
-			this.additionalArgsEntry.IsEditable = true;
-			this.additionalArgsEntry.InvisibleChar = '●';
-			this.hbox6.Add (this.additionalArgsEntry);
-			global::Gtk.Box.BoxChild w33 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.additionalArgsEntry]));
-			w33.Position = 1;
-			this.hbox5.Add (this.hbox6);
-			global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.hbox5 [this.hbox6]));
-			w34.Position = 1;
-			this.vbox62.Add (this.hbox5);
-			global::Gtk.Box.BoxChild w35 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.hbox5]));
-			w35.Position = 5;
-			w35.Expand = false;
-			w35.Fill = false;
-			this.Add (this.vbox62);
-			if ((this.Child != null)) {
-				this.Child.ShowAll ();
-			}
-			this.label87.MnemonicWidget = this.symbolsEntry;
-			this.label85.MnemonicWidget = this.warningLevelSpinButton;
-			this.label86.MnemonicWidget = this.warningLevelSpinButton;
-			this.label88.MnemonicWidget = this.warningLevelSpinButton;
-			this.Show ();
-		}
-	}
-}
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace MonoDevelop.CSharp.Project
+{
+	internal partial class CodeGenerationPanelWidget
+	{
+		private global::Gtk.VBox vbox62;
+		private global::Gtk.Label label82;
+		private global::Gtk.HBox hbox56;
+		private global::Gtk.Label label81;
+		private global::Gtk.VBox vbox65;
+		private global::Gtk.Table table1;
+		private global::Gtk.CheckButton enableOptimizationCheckButton;
+		private global::Gtk.CheckButton generateOverflowChecksCheckButton;
+		private global::Gtk.HBox hbox1;
+		private global::Gtk.ComboBox comboPlatforms;
+		private global::Gtk.HBox hbox2;
+		private global::Gtk.ComboBox comboDebug;
+		private global::Gtk.HBox hbox4;
+		private global::Gtk.CheckButton generateXmlOutputCheckButton;
+		private global::MonoDevelop.Components.FileEntry xmlDocsEntry;
+		private global::Gtk.Label label1;
+		private global::Gtk.Label label2;
+		private global::Gtk.Label label87;
+		private global::Gtk.Entry symbolsEntry;
+		private global::Gtk.Label label93;
+		private global::Gtk.HBox hbox48;
+		private global::Gtk.Label label73;
+		private global::Gtk.VBox vbox67;
+		private global::Gtk.HBox hbox60;
+		private global::Gtk.Label label85;
+		private global::Gtk.SpinButton warningLevelSpinButton;
+		private global::Gtk.HBox hbox3;
+		private global::Gtk.Label label86;
+		private global::Gtk.Entry ignoreWarningsEntry;
+		private global::Gtk.CheckButton warningsAsErrorsCheckButton;
+		private global::Gtk.HBox hbox5;
+		private global::Gtk.Label label74;
+
+		protected virtual void Build ()
+		{
+			global::Stetic.Gui.Initialize (this);
+			// Widget MonoDevelop.CSharp.Project.CodeGenerationPanelWidget
+			global::Stetic.BinContainer.Attach (this);
+			this.Name = "MonoDevelop.CSharp.Project.CodeGenerationPanelWidget";
+			// Container child MonoDevelop.CSharp.Project.CodeGenerationPanelWidget.Gtk.Container+ContainerChild
+			this.vbox62 = new global::Gtk.VBox ();
+			this.vbox62.Name = "vbox62";
+			this.vbox62.Spacing = 12;
+			this.vbox62.BorderWidth = ((uint)(6));
+			// Container child vbox62.Gtk.Box+BoxChild
+			this.label82 = new global::Gtk.Label ();
+			this.label82.Name = "label82";
+			this.label82.Xalign = 0F;
+			this.label82.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>General Options</b>");
+			this.label82.UseMarkup = true;
+			this.vbox62.Add (this.label82);
+			global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.label82]));
+			w1.Position = 0;
+			w1.Expand = false;
+			w1.Fill = false;
+			// Container child vbox62.Gtk.Box+BoxChild
+			this.hbox56 = new global::Gtk.HBox ();
+			this.hbox56.Name = "hbox56";
+			// Container child hbox56.Gtk.Box+BoxChild
+			this.label81 = new global::Gtk.Label ();
+			this.label81.WidthRequest = 18;
+			this.label81.Name = "label81";
+			this.hbox56.Add (this.label81);
+			global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox56 [this.label81]));
+			w2.Position = 0;
+			w2.Expand = false;
+			w2.Fill = false;
+			// Container child hbox56.Gtk.Box+BoxChild
+			this.vbox65 = new global::Gtk.VBox ();
+			this.vbox65.Name = "vbox65";
+			this.vbox65.Spacing = 6;
+			// Container child vbox65.Gtk.Box+BoxChild
+			this.table1 = new global::Gtk.Table (((uint)(6)), ((uint)(2)), false);
+			this.table1.Name = "table1";
+			this.table1.RowSpacing = ((uint)(6));
+			this.table1.ColumnSpacing = ((uint)(6));
+			// Container child table1.Gtk.Table+TableChild
+			this.enableOptimizationCheckButton = new global::Gtk.CheckButton ();
+			this.enableOptimizationCheckButton.CanFocus = true;
+			this.enableOptimizationCheckButton.Name = "enableOptimizationCheckButton";
+			this.enableOptimizationCheckButton.Label = global::Mono.Unix.Catalog.GetString ("Enable _optimizations");
+			this.enableOptimizationCheckButton.DrawIndicator = true;
+			this.enableOptimizationCheckButton.UseUnderline = true;
+			this.table1.Add (this.enableOptimizationCheckButton);
+			global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.enableOptimizationCheckButton]));
+			w3.TopAttach = ((uint)(1));
+			w3.BottomAttach = ((uint)(2));
+			w3.RightAttach = ((uint)(2));
+			w3.XOptions = ((global::Gtk.AttachOptions)(4));
+			w3.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.generateOverflowChecksCheckButton = new global::Gtk.CheckButton ();
+			this.generateOverflowChecksCheckButton.CanFocus = true;
+			this.generateOverflowChecksCheckButton.Name = "generateOverflowChecksCheckButton";
+			this.generateOverflowChecksCheckButton.Label = global::Mono.Unix.Catalog.GetString ("_Generate overflow checks");
+			this.generateOverflowChecksCheckButton.DrawIndicator = true;
+			this.generateOverflowChecksCheckButton.UseUnderline = true;
+			this.table1.Add (this.generateOverflowChecksCheckButton);
+			global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.generateOverflowChecksCheckButton]));
+			w4.RightAttach = ((uint)(2));
+			w4.XOptions = ((global::Gtk.AttachOptions)(4));
+			w4.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.hbox1 = new global::Gtk.HBox ();
+			this.hbox1.Name = "hbox1";
+			this.hbox1.Spacing = 6;
+			// Container child hbox1.Gtk.Box+BoxChild
+			this.comboPlatforms = global::Gtk.ComboBox.NewText ();
+			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("Any CPU"));
+			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("x86"));
+			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("x64"));
+			this.comboPlatforms.AppendText (global::Mono.Unix.Catalog.GetString ("Itanium"));
+			this.comboPlatforms.Name = "comboPlatforms";
+			this.comboPlatforms.Active = 0;
+			this.hbox1.Add (this.comboPlatforms);
+			global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.comboPlatforms]));
+			w5.Position = 0;
+			w5.Expand = false;
+			w5.Fill = false;
+			this.table1.Add (this.hbox1);
+			global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.hbox1]));
+			w6.TopAttach = ((uint)(5));
+			w6.BottomAttach = ((uint)(6));
+			w6.LeftAttach = ((uint)(1));
+			w6.RightAttach = ((uint)(2));
+			w6.XOptions = ((global::Gtk.AttachOptions)(4));
+			w6.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.hbox2 = new global::Gtk.HBox ();
+			this.hbox2.Name = "hbox2";
+			this.hbox2.Spacing = 6;
+			// Container child hbox2.Gtk.Box+BoxChild
+			this.comboDebug = global::Gtk.ComboBox.NewText ();
+			this.comboDebug.AppendText (global::Mono.Unix.Catalog.GetString ("Full"));
+			this.comboDebug.AppendText (global::Mono.Unix.Catalog.GetString ("Symbols only"));
+			this.comboDebug.AppendText (global::Mono.Unix.Catalog.GetString ("None"));
+			this.comboDebug.Name = "comboDebug";
+			this.comboDebug.Active = 0;
+			this.hbox2.Add (this.comboDebug);
+			global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.comboDebug]));
+			w7.Position = 0;
+			w7.Expand = false;
+			w7.Fill = false;
+			this.table1.Add (this.hbox2);
+			global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.table1 [this.hbox2]));
+			w8.TopAttach = ((uint)(3));
+			w8.BottomAttach = ((uint)(4));
+			w8.LeftAttach = ((uint)(1));
+			w8.RightAttach = ((uint)(2));
+			w8.XOptions = ((global::Gtk.AttachOptions)(4));
+			w8.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.hbox4 = new global::Gtk.HBox ();
+			this.hbox4.Name = "hbox4";
+			this.hbox4.Spacing = 6;
+			// Container child hbox4.Gtk.Box+BoxChild
+			this.generateXmlOutputCheckButton = new global::Gtk.CheckButton ();
+			this.generateXmlOutputCheckButton.CanFocus = true;
+			this.generateXmlOutputCheckButton.Name = "generateXmlOutputCheckButton";
+			this.generateXmlOutputCheckButton.Label = global::Mono.Unix.Catalog.GetString ("Generate _xml documentation:");
+			this.generateXmlOutputCheckButton.DrawIndicator = true;
+			this.generateXmlOutputCheckButton.UseUnderline = true;
+			this.hbox4.Add (this.generateXmlOutputCheckButton);
+			global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.generateXmlOutputCheckButton]));
+			w9.Position = 0;
+			w9.Expand = false;
+			w9.Fill = false;
+			// Container child hbox4.Gtk.Box+BoxChild
+			this.xmlDocsEntry = new global::MonoDevelop.Components.FileEntry ();
+			this.xmlDocsEntry.Name = "xmlDocsEntry";
+			this.xmlDocsEntry.DisplayAsRelativePath = false;
+			this.hbox4.Add (this.xmlDocsEntry);
+			global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.xmlDocsEntry]));
+			w10.Position = 1;
+			this.table1.Add (this.hbox4);
+			global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.table1 [this.hbox4]));
+			w11.TopAttach = ((uint)(2));
+			w11.BottomAttach = ((uint)(3));
+			w11.RightAttach = ((uint)(2));
+			w11.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.label1 = new global::Gtk.Label ();
+			this.label1.Name = "label1";
+			this.label1.Xalign = 0F;
+			this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Platform target:");
+			this.table1.Add (this.label1);
+			global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1 [this.label1]));
+			w12.TopAttach = ((uint)(5));
+			w12.BottomAttach = ((uint)(6));
+			w12.XOptions = ((global::Gtk.AttachOptions)(4));
+			w12.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.label2 = new global::Gtk.Label ();
+			this.label2.Name = "label2";
+			this.label2.Xalign = 0F;
+			this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Debug information:");
+			this.table1.Add (this.label2);
+			global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2]));
+			w13.TopAttach = ((uint)(3));
+			w13.BottomAttach = ((uint)(4));
+			w13.XOptions = ((global::Gtk.AttachOptions)(4));
+			w13.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.label87 = new global::Gtk.Label ();
+			this.label87.Name = "label87";
+			this.label87.Xalign = 0F;
+			this.label87.LabelProp = global::Mono.Unix.Catalog.GetString ("Define S_ymbols:");
+			this.label87.UseUnderline = true;
+			this.table1.Add (this.label87);
+			global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.table1 [this.label87]));
+			w14.TopAttach = ((uint)(4));
+			w14.BottomAttach = ((uint)(5));
+			w14.XOptions = ((global::Gtk.AttachOptions)(4));
+			w14.YOptions = ((global::Gtk.AttachOptions)(4));
+			// Container child table1.Gtk.Table+TableChild
+			this.symbolsEntry = new global::Gtk.Entry ();
+			this.symbolsEntry.CanFocus = true;
+			this.symbolsEntry.Name = "symbolsEntry";
+			this.symbolsEntry.IsEditable = true;
+			this.symbolsEntry.InvisibleChar = '●';
+			this.table1.Add (this.symbolsEntry);
+			global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.table1 [this.symbolsEntry]));
+			w15.TopAttach = ((uint)(4));
+			w15.BottomAttach = ((uint)(5));
+			w15.LeftAttach = ((uint)(1));
+			w15.RightAttach = ((uint)(2));
+			w15.YOptions = ((global::Gtk.AttachOptions)(4));
+			this.vbox65.Add (this.table1);
+			global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox65 [this.table1]));
+			w16.Position = 0;
+			w16.Expand = false;
+			w16.Fill = false;
+			this.hbox56.Add (this.vbox65);
+			global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.hbox56 [this.vbox65]));
+			w17.Position = 1;
+			this.vbox62.Add (this.hbox56);
+			global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.hbox56]));
+			w18.Position = 1;
+			w18.Expand = false;
+			w18.Fill = false;
+			// Container child vbox62.Gtk.Box+BoxChild
+			this.label93 = new global::Gtk.Label ();
+			this.label93.Name = "label93";
+			this.label93.Xalign = 0F;
+			this.label93.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Warnings</b>");
+			this.label93.UseMarkup = true;
+			this.label93.UseUnderline = true;
+			this.vbox62.Add (this.label93);
+			global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.label93]));
+			w19.Position = 2;
+			w19.Expand = false;
+			w19.Fill = false;
+			// Container child vbox62.Gtk.Box+BoxChild
+			this.hbox48 = new global::Gtk.HBox ();
+			this.hbox48.Name = "hbox48";
+			// Container child hbox48.Gtk.Box+BoxChild
+			this.label73 = new global::Gtk.Label ();
+			this.label73.WidthRequest = 18;
+			this.label73.Name = "label73";
+			this.hbox48.Add (this.label73);
+			global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.hbox48 [this.label73]));
+			w20.Position = 0;
+			w20.Expand = false;
+			w20.Fill = false;
+			// Container child hbox48.Gtk.Box+BoxChild
+			this.vbox67 = new global::Gtk.VBox ();
+			this.vbox67.Name = "vbox67";
+			this.vbox67.Spacing = 6;
+			// Container child vbox67.Gtk.Box+BoxChild
+			this.hbox60 = new global::Gtk.HBox ();
+			this.hbox60.Name = "hbox60";
+			this.hbox60.Spacing = 6;
+			// Container child hbox60.Gtk.Box+BoxChild
+			this.label85 = new global::Gtk.Label ();
+			this.label85.Name = "label85";
+			this.label85.LabelProp = global::Mono.Unix.Catalog.GetString ("_Warning Level:");
+			this.label85.UseUnderline = true;
+			this.hbox60.Add (this.label85);
+			global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.hbox60 [this.label85]));
+			w21.Position = 0;
+			w21.Expand = false;
+			w21.Fill = false;
+			// Container child hbox60.Gtk.Box+BoxChild
+			this.warningLevelSpinButton = new global::Gtk.SpinButton (0, 4, 1);
+			this.warningLevelSpinButton.CanFocus = true;
+			this.warningLevelSpinButton.Name = "warningLevelSpinButton";
+			this.warningLevelSpinButton.Adjustment.PageIncrement = 1;
+			this.warningLevelSpinButton.ClimbRate = 1;
+			this.warningLevelSpinButton.Numeric = true;
+			this.warningLevelSpinButton.Value = 2;
+			this.hbox60.Add (this.warningLevelSpinButton);
+			global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.hbox60 [this.warningLevelSpinButton]));
+			w22.Position = 1;
+			w22.Expand = false;
+			w22.Fill = false;
+			this.vbox67.Add (this.hbox60);
+			global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox67 [this.hbox60]));
+			w23.Position = 0;
+			w23.Expand = false;
+			w23.Fill = false;
+			// Container child vbox67.Gtk.Box+BoxChild
+			this.hbox3 = new global::Gtk.HBox ();
+			this.hbox3.Name = "hbox3";
+			this.hbox3.Spacing = 6;
+			// Container child hbox3.Gtk.Box+BoxChild
+			this.label86 = new global::Gtk.Label ();
+			this.label86.Name = "label86";
+			this.label86.LabelProp = global::Mono.Unix.Catalog.GetString ("_Ignore warnings:");
+			this.label86.UseUnderline = true;
+			this.hbox3.Add (this.label86);
+			global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.label86]));
+			w24.Position = 0;
+			w24.Expand = false;
+			w24.Fill = false;
+			// Container child hbox3.Gtk.Box+BoxChild
+			this.ignoreWarningsEntry = new global::Gtk.Entry ();
+			this.ignoreWarningsEntry.CanFocus = true;
+			this.ignoreWarningsEntry.Name = "ignoreWarningsEntry";
+			this.ignoreWarningsEntry.IsEditable = true;
+			this.ignoreWarningsEntry.InvisibleChar = '●';
+			this.hbox3.Add (this.ignoreWarningsEntry);
+			global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.ignoreWarningsEntry]));
+			w25.Position = 1;
+			this.vbox67.Add (this.hbox3);
+			global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.vbox67 [this.hbox3]));
+			w26.Position = 1;
+			w26.Expand = false;
+			w26.Fill = false;
+			// Container child vbox67.Gtk.Box+BoxChild
+			this.warningsAsErrorsCheckButton = new global::Gtk.CheckButton ();
+			this.warningsAsErrorsCheckButton.CanFocus = true;
+			this.warningsAsErrorsCheckButton.Name = "warningsAsErrorsCheckButton";
+			this.warningsAsErrorsCheckButton.Label = global::Mono.Unix.Catalog.GetString ("Treat warnings as _errors");
+			this.warningsAsErrorsCheckButton.DrawIndicator = true;
+			this.warningsAsErrorsCheckButton.UseUnderline = true;
+			this.vbox67.Add (this.warningsAsErrorsCheckButton);
+			global::Gtk.Box.BoxChild w27 = ((global::Gtk.Box.BoxChild)(this.vbox67 [this.warningsAsErrorsCheckButton]));
+			w27.Position = 2;
+			w27.Expand = false;
+			w27.Fill = false;
+			this.hbox48.Add (this.vbox67);
+			global::Gtk.Box.BoxChild w28 = ((global::Gtk.Box.BoxChild)(this.hbox48 [this.vbox67]));
+			w28.Position = 1;
+			this.vbox62.Add (this.hbox48);
+			global::Gtk.Box.BoxChild w29 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.hbox48]));
+			w29.Position = 3;
+			w29.Expand = false;
+			w29.Fill = false;
+			// Container child vbox62.Gtk.Box+BoxChild
+			this.hbox5 = new global::Gtk.HBox ();
+			this.hbox5.Name = "hbox5";
+			this.hbox5.Spacing = 6;
+			// Container child hbox5.Gtk.Box+BoxChild
+			this.label74 = new global::Gtk.Label ();
+			this.label74.WidthRequest = 18;
+			this.label74.Name = "label74";
+			this.hbox5.Add (this.label74);
+			global::Gtk.Box.BoxChild w30 = ((global::Gtk.Box.BoxChild)(this.hbox5 [this.label74]));
+			w30.Position = 0;
+			w30.Expand = false;
+			w30.Fill = false;
+			this.vbox62.Add (this.hbox5);
+			global::Gtk.Box.BoxChild w31 = ((global::Gtk.Box.BoxChild)(this.vbox62 [this.hbox5]));
+			w31.Position = 4;
+			w31.Expand = false;
+			w31.Fill = false;
+			this.Add (this.vbox62);
+			if ((this.Child != null)) {
+				this.Child.ShowAll ();
+			}
+			this.label87.MnemonicWidget = this.symbolsEntry;
+			this.label85.MnemonicWidget = this.warningLevelSpinButton;
+			this.label86.MnemonicWidget = this.warningLevelSpinButton;
+			this.Show ();
+		}
+	}
+}

Modified: main/src/addins/CSharpBinding/gtk-gui/gui.stetic
===================================================================
@@ -7,14 +7,13 @@
   <import>
     <widget-library name="../../../../build/bin/MonoDevelop.Ide.dll" />
     <widget-library name="../../../../build/bin/Mono.TextEditor.dll" />
-    <widget-library name="../../../../build/AddIns/MonoDevelop.Debugger/MonoDevelop.Debugger.dll" />
     <widget-library name="../../../../build/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll" />
     <widget-library name="../../../../build/AddIns/DisplayBindings/SourceEditor/MonoDevelop.SourceEditor2.dll" />
     <widget-library name="../../../../build/AddIns/MonoDevelop.Refactoring/MonoDevelop.Refactoring.dll" />
     <widget-library name="../../../../build/AddIns/NUnit/MonoDevelop.NUnit.dll" />
     <widget-library name="../../../../build/AddIns/BackendBindings/MonoDevelop.CSharpBinding.dll" internal="true" />
   </import>
-  <widget class="Gtk.Bin" id="MonoDevelop.CSharp.Project.CodeGenerationPanelWidget" design-size="428 412">
+  <widget class="Gtk.Bin" id="MonoDevelop.CSharp.Project.CodeGenerationPanelWidget" design-size="428 473">
     <property name="MemberName" />
     <property name="GeneratePublic">False</property>
     <child>
@@ -487,21 +486,6 @@ None</property>
           </packing>
         </child>
         <child>
-          <widget class="Gtk.Label" id="label94">
-            <property name="MemberName" />
-            <property name="Xalign">0</property>
-            <property name="LabelProp" translatable="yes">&lt;b&gt;Additional Options&lt;/b&gt;</property>
-            <property name="UseMarkup">True</property>
-            <property name="UseUnderline">True</property>
-          </widget>
-          <packing>
-            <property name="Position">4</property>
-            <property name="AutoSize">True</property>
-            <property name="Expand">False</property>
-            <property name="Fill">False</property>
-          </packing>
-        </child>
-        <child>
           <widget class="Gtk.HBox" id="hbox5">
             <property name="MemberName" />
             <property name="Spacing">6</property>
@@ -517,45 +501,9 @@ None</property>
                 <property name="Fill">False</property>
               </packing>
             </child>
-            <child>
-              <widget class="Gtk.HBox" id="hbox6">
-                <property name="MemberName" />
-                <property name="Spacing">6</property>
-                <child>
-                  <widget class="Gtk.Label" id="label88">
-                    <property name="MemberName" />
-                    <property name="LabelProp" translatable="yes">_Additional arguments:</property>
-                    <property name="UseUnderline">True</property>
-                    <property name="MnemonicWidget">warningLevelSpinButton</property>
-                  </widget>
-                  <packing>
-                    <property name="Position">0</property>
-                    <property name="AutoSize">True</property>
-                    <property name="Expand">False</property>
-                    <property name="Fill">False</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="Gtk.Entry" id="additionalArgsEntry">
-                    <property name="MemberName" />
-                    <property name="CanFocus">True</property>
-                    <property name="IsEditable">True</property>
-                    <property name="InvisibleChar">●</property>
-                  </widget>
-                  <packing>
-                    <property name="Position">1</property>
-                    <property name="AutoSize">True</property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="Position">1</property>
-                <property name="AutoSize">True</property>
-              </packing>
-            </child>
           </widget>
           <packing>
-            <property name="Position">5</property>
+            <property name="Position">4</property>
             <property name="AutoSize">True</property>
             <property name="Expand">False</property>
             <property name="Fill">False</property>

Modified: main/src/addins/Deployment/MonoDevelop.Deployment.Linux/MonoDevelop.Deployment.Linux.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://www.monodevelop.com"
        description = "Provides basic deployment services for Linux"
        category    = "Deployment"
-       version     = "4.1.7"
+       version     = "4.1.13"
        flags       = "Hidden"
        compatVersion = "4.0">
 
@@ -15,9 +15,9 @@
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="Deployment" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="Deployment" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/Commands">

Modified: main/src/addins/Deployment/MonoDevelop.Deployment/MonoDevelop.Deployment.addin.xml
===================================================================
@@ -6,14 +6,14 @@
        url         = "http://www.monodevelop.com"
        description = "Provides basic deployment services"
        category    = "Deployment"
-       version     = "4.1.7"
+       version     = "4.1.13"
        flags       = "Hidden"
        compatVersion = "4.0">
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="DesignerSupport" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="DesignerSupport" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/Commands">

Modified: main/src/addins/ILAsmBinding/AddinInfo.cs
===================================================================
@@ -1,7 +1,5 @@
 
-using System;
 using Mono.Addins;
-using Mono.Addins.Description;
 
 [assembly:Addin ("ILAsmBinding", 
         Namespace = "MonoDevelop",

Modified: main/src/addins/ILAsmBinding/Gui/CompilerParametersPanelWidget.cs
===================================================================
@@ -24,7 +24,6 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-using System;
 using MonoDevelop.Core;
 using MonoDevelop.Projects;
 using Gtk;
@@ -32,17 +31,17 @@
 namespace ILAsmBinding
 {
 	[System.ComponentModel.ToolboxItem(true)]
-	partial class CompilerParametersPanelWidget : Gtk.Bin
+	partial class CompilerParametersPanelWidget : Bin
 	{
 		public CompilerParametersPanelWidget()
 		{
 			this.Build();
 			
-			ListStore store = new ListStore (typeof (string));
+			var store = new ListStore (typeof (string));
 			store.AppendValues (GettextCatalog.GetString ("Executable"));
 			store.AppendValues (GettextCatalog.GetString ("Library"));
 			compileTargetCombo.Model = store;
-			CellRendererText cr = new CellRendererText ();
+			var cr = new CellRendererText ();
 			compileTargetCombo.PackStart (cr, true);
 			compileTargetCombo.AddAttribute (cr, "text", 0);
 		}
@@ -59,11 +58,7 @@ public void Load (DotNetProject project, DotNetProjectConfiguration configuratio
 		
 		public void Store ()
 		{
-			if (compileTargetCombo.Active == 0) {
-				project.CompileTarget = CompileTarget.Exe;
-			} else {
-				project.CompileTarget = CompileTarget.Library;
-			}
+			project.CompileTarget = compileTargetCombo.Active == 0 ? CompileTarget.Exe : CompileTarget.Library;
 			configuration.DebugMode = checkbuttonIncludeDebugInfo.Active;
 		}
 	}

Modified: main/src/addins/ILAsmBinding/ILAsmCompilerManager.cs
===================================================================
@@ -53,10 +53,10 @@ public static BuildResult Compile (ProjectItemCollection projectItems, DotNetPro
 //			ILAsmCompilerParameters compilerParameters = (ILAsmCompilerParameters)configuration.CompilationParameters ?? new ILAsmCompilerParameters ();
 			string outputName       = configuration.CompiledOutputName;
 			
-			StringBuilder sb = new StringBuilder ();
+			var sb = new StringBuilder ();
 			sb.AppendFormat ("\"/output:{0}\" ", outputName);
 			
-			List<string> gacRoots = new List<string> ();
+			var gacRoots = new List<string> ();
 			
 			
 			switch (configuration.CompileTarget) {
@@ -90,13 +90,13 @@ public static BuildResult Compile (ProjectItemCollection projectItems, DotNetPro
 			
 			string ilasm = configuration.TargetRuntime.GetToolPath (configuration.TargetFramework, "ilasm");
 			if (ilasm == null) {
-				BuildResult res = new BuildResult ();
+				var res = new BuildResult ();
 				res.AddError (GettextCatalog.GetString ("IL compiler (ilasm) not found."));
 				if (configuration.TargetRuntime is MsNetTargetRuntime)
 					res.AddError (GettextCatalog.GetString ("You may need to install the .NET SDK."));
 				return res;
 			}
-			string outstr = ilasm + " " + sb.ToString ();
+			string outstr = ilasm + " " + sb;
 			monitor.Log.WriteLine (outstr);
 			
 			string workingDir = ".";
@@ -110,7 +110,7 @@ public static BuildResult Compile (ProjectItemCollection projectItems, DotNetPro
 					workingDir = ".";
 			}
 
-			LoggingService.LogInfo ("ilasm " + sb.ToString ());
+			LoggingService.LogInfo ("ilasm " + sb);
 			
 			var envVars = configuration.TargetRuntime.GetToolsExecutionEnvironment (configuration.TargetFramework);
 			int exitCode = DoCompilation (outstr, workingDir, envVars, gacRoots, ref output, ref error);
@@ -134,11 +134,11 @@ public static BuildResult Compile (ProjectItemCollection projectItems, DotNetPro
 		
 		static BuildResult ParseOutput (string stdout, string stderr)
 		{
-			BuildResult result = new BuildResult ();
+			var result = new BuildResult ();
 			
-			StringBuilder compilerOutput = new StringBuilder ();
+			var compilerOutput = new StringBuilder ();
 			bool typeLoadException = false;
-			foreach (string s in new string[] { stdout, stderr }) {
+			foreach (string s in new [] { stdout, stderr }) {
 				StreamReader sr = File.OpenText (s);
 				while (true) {
 					if (typeLoadException) {
@@ -155,8 +155,8 @@ static BuildResult ParseOutput (string stdout, string stderr)
 					if (curLine.Length == 0) 
 						continue;
 					
-					if (curLine.StartsWith ("Unhandled Exception: System.TypeLoadException") || 
-					    curLine.StartsWith ("Unhandled Exception: System.IO.FileNotFoundException")) {
+					if (curLine.StartsWith ("Unhandled Exception: System.TypeLoadException", StringComparison.Ordinal) ||
+					    curLine.StartsWith ("Unhandled Exception: System.IO.FileNotFoundException", StringComparison.Ordinal)) {
 						result.ClearErrors ();
 						typeLoadException = true;
 					}
@@ -169,7 +169,7 @@ static BuildResult ParseOutput (string stdout, string stderr)
 				sr.Close();
 			}
 			if (typeLoadException) {
-				Regex reg  = new Regex (@".*WARNING.*used in (mscorlib|System),.*", RegexOptions.Multiline);
+				var reg  = new Regex (@".*WARNING.*used in (mscorlib|System),.*", RegexOptions.Multiline);
 				if (reg.Match (compilerOutput.ToString ()).Success)
 					result.AddError ("", 0, 0, "", "Error: A referenced assembly may be built with an incompatible CLR version. See the compilation output for more details.");
 				else
@@ -179,19 +179,19 @@ static BuildResult ParseOutput (string stdout, string stderr)
 			return result;
 		}
 		
-		static int DoCompilation (string outstr, string working_dir, ExecutionEnvironment envVars, List<string> gacRoots, ref string output, ref string error) 
+		static int DoCompilation (string outstr, string workingDir, ExecutionEnvironment envVars, List<string> gacRoots, ref string output, ref string error) 
 		{
 			output = Path.GetTempFileName();
 			error = Path.GetTempFileName();
 			
-			StreamWriter outwr = new StreamWriter (output);
-			StreamWriter errwr = new StreamWriter (error);
+			var outwr = new StreamWriter (output);
+			var errwr = new StreamWriter (error);
 			string[] tokens = outstr.Split (' ');
 			
 			outstr = outstr.Substring (tokens[0].Length+1);
 
-			ProcessStartInfo pinfo = new ProcessStartInfo (tokens[0], outstr);
-			pinfo.WorkingDirectory = working_dir;
+			var pinfo = new ProcessStartInfo (tokens[0], outstr);
+			pinfo.WorkingDirectory = workingDir;
 			
 			if (gacRoots.Count > 0) {
 				// Create the gac prefix string
@@ -208,7 +208,7 @@ static int DoCompilation (string outstr, string working_dir, ExecutionEnvironmen
 			pinfo.RedirectStandardOutput = true;
 			pinfo.RedirectStandardError = true;
 			
-			MonoDevelop.Core.Execution.ProcessWrapper pw = Runtime.ProcessService.StartProcess (pinfo, outwr, errwr, null);
+			ProcessWrapper pw = Runtime.ProcessService.StartProcess (pinfo, outwr, errwr, null);
 			pw.WaitForOutput();
 			int exitCode = pw.ExitCode;
 			outwr.Close();
@@ -217,21 +217,21 @@ static int DoCompilation (string outstr, string working_dir, ExecutionEnvironmen
 			return exitCode;
 		}
 
-		static Regex regexError = new Regex (@"^(\s*(?<file>.*?)\s?\((?<line>\d*)(,\s(?<column>\d*[\+]*))?\)\s(:|)\s+)*(?<level>\w+)\s*(:|(--))\s*(?<message>.*)", RegexOptions.Compiled | RegexOptions.ExplicitCapture);
-		static BuildError CreateErrorFromString (string error_string)
+		static readonly Regex regexError = new Regex (@"^(\s*(?<file>.*?)\s?\((?<line>\d*)(,\s(?<column>\d*[\+]*))?\)\s(:|)\s+)*(?<level>\w+)\s*(:|(--))\s*(?<message>.*)", RegexOptions.Compiled | RegexOptions.ExplicitCapture);
+		static BuildError CreateErrorFromString (string errorString)
 		{
 			// When IncludeDebugInformation is true, prevents the debug symbols stats from breaking this.
-			if (error_string.StartsWith ("WROTE SYMFILE") ||
-			    error_string.StartsWith ("OffsetTable") ||
-			    error_string.StartsWith ("Compilation succeeded") ||
-			    error_string.StartsWith ("Compilation failed"))
+			if (errorString.StartsWith ("WROTE SYMFILE", StringComparison.Ordinal) ||
+			    errorString.StartsWith ("OffsetTable", StringComparison.Ordinal) ||
+			    errorString.StartsWith ("Compilation succeeded", StringComparison.Ordinal) ||
+			    errorString.StartsWith ("Compilation failed", StringComparison.Ordinal))
 				return null;
 			
-			Match match = regexError.Match(error_string);
+			Match match = regexError.Match(errorString);
 			if (!match.Success) 
 				return null;
 			
-			BuildError error = new BuildError ();
+			var error = new BuildError ();
 			error.FileName = match.Result ("${file}") ?? "";
 			
 			string line = match.Result ("${line}");

Modified: main/src/addins/ILAsmBinding/ILAsmLanguageBinding.cs
===================================================================
@@ -49,7 +49,7 @@ class ILAsmLanguageBinding : IDotNetLanguageBinding
 		
 		public bool IsSourceCodeFile (FilePath fileName)
 		{
-			return string.Compare (Path.GetExtension (fileName), ".il", true) == 0;
+			return String.Compare (Path.GetExtension (fileName), ".il", StringComparison.OrdinalIgnoreCase) == 0;
 		}
 		
 		public BuildResult Compile (ProjectItemCollection projectItems, DotNetProjectConfiguration configuration, ConfigurationSelector configSelector, IProgressMonitor monitor)
@@ -83,7 +83,7 @@ public FilePath GetFileName (FilePath baseName)
 		
 		public ClrVersion[] GetSupportedClrVersions ()
 		{
-			return new ClrVersion[] { 
+			return new [] { 
 				ClrVersion.Net_1_1, 
 				ClrVersion.Net_2_0,
 				ClrVersion.Clr_2_1,

Modified: main/src/addins/ILAsmBinding/Project/ILAsmCompilerParameters.cs
===================================================================
@@ -24,8 +24,6 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-using System;
-
 namespace ILAsmBinding
 {
 	class ILAsmCompilerParameters : MonoDevelop.Projects.ConfigurationParameters

Modified: main/src/addins/MacPlatform/MacInterop/Carbon.cs
===================================================================
@@ -570,7 +570,7 @@ struct OSType {
 		int value;
 		
 		public int Value {
-			get { return Value; }
+			get { return value; }
 		}
 		
 		public OSType (int value)

Modified: main/src/addins/MacPlatform/MacInterop/Keychain.cs
===================================================================
@@ -40,47 +40,9 @@ public static class Keychain
 	{
 		const string CoreFoundationLib = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation";
 		const string SecurityLib = "/System/Library/Frameworks/Security.framework/Security";
-//		const string SystemLib = "/usr/lib/libSystem.dylib";
 
 		internal static IntPtr CurrentKeychain = IntPtr.Zero;
 
-//		static IntPtr kCFTypeDictionaryValueCallbacks;
-//		static IntPtr kCFTypeDictionaryKeyCallbacks;
-//
-//		static IntPtr kSecReturnAttributes;
-//		static IntPtr kSecMatchLimitAll;
-//		static IntPtr kSecMatchLimit;
-//		static IntPtr kSecClass;
-//
-//		static IntPtr kCFBooleanFalse;
-//		static IntPtr kCFBooleanTrue;
-//
-//		static Keychain ()
-//		{
-//			var lib = dlopen (CoreFoundationLib, 0);
-//			try {
-//				kCFTypeDictionaryValueCallbacks = dlsym (lib, "kCFTypeDictionaryValueCallBacks");
-//				kCFTypeDictionaryKeyCallbacks = dlsym (lib, "kCFTypeDictionaryKeyCallBacks");
-//				kCFBooleanFalse = dlsym (lib, "kCFBooleanFalse");
-//				kCFBooleanTrue = dlsym (lib, "kCFBooleanTrue");
-//			} finally {
-//				dlclose (lib);
-//			}
-//		}
-//
-//		#region Dynamic Symbol Loading
-//
-//		[DllImport (SystemLib)]
-//		static extern IntPtr dlsym (IntPtr handle, string symbol);
-//
-//		[DllImport (SystemLib)]
-//		static extern IntPtr dlopen (string path, int mode);
-//
-//		[DllImport (SystemLib)]
-//		static extern int dlclose (IntPtr handle);
-//
-//		#endregion
-
 		[DllImport (CoreFoundationLib, EntryPoint="CFRelease")]
 		static extern void CFReleaseInternal (IntPtr cfRef);
 
@@ -90,42 +52,6 @@ static void CFRelease (IntPtr cfRef)
 				CFReleaseInternal (cfRef);
 		}
 
-		#region Managing Certificates
-
-		[DllImport (SecurityLib)]
-		static extern OSStatus SecCertificateAddToKeychain (IntPtr certificate, IntPtr keychain);
-
-		[DllImport (SecurityLib)]
-		static extern IntPtr SecCertificateCreateWithData (IntPtr allocator, IntPtr data);
-
-		[DllImport (SecurityLib)]
-		static extern IntPtr SecCertificateCopyData (IntPtr certificate);
-
-		[DllImport (SecurityLib)]
-		static extern OSStatus SecCertificateCopyCommonName (IntPtr certificate, out IntPtr commonName);
-
-		#endregion
-
-		#region Managing Identities
-
-		[DllImport (SecurityLib)]
-		static extern OSStatus SecIdentityCopyCertificate (IntPtr identityRef, out IntPtr certificateRef);
-
-		// WARNING: deprecated in Mac OS X 10.7
-		[DllImport (SecurityLib)]
-		static extern OSStatus SecIdentitySearchCreate (IntPtr keychainOrArray, CssmKeyUse keyUsage, out IntPtr searchRef);
-
-		// WARNING: deprecated in Mac OS X 10.7
-		[DllImport (SecurityLib)]
-		static extern OSStatus SecIdentitySearchCopyNext (IntPtr searchRef, out IntPtr identity);
-
-		// Note: SecIdentitySearch* has been replaced with SecItemCopyMatching
-
-		//[DllImport (SecurityLib)]
-		//OSStatus SecItemCopyMatching (CFDictionaryRef query, CFTypeRef *result);
-
-		#endregion
-
 		#region Getting Information About Security Result Codes
 
 		[DllImport (SecurityLib)]
@@ -388,198 +314,6 @@ static string GetError (OSStatus status)
 			}
 		}
 
-		[Obsolete ("What purpose does this really serve?")]
-		public static unsafe IList<string> GetAllCertificateNames ()
-		{
-			IntPtr searchRef, itemRef;
-			OSStatus status;
-
-			status = SecKeychainSearchCreateFromAttributes (CurrentKeychain, SecItemClass.Certificate, null, out searchRef);
-			if (status != OSStatus.Ok)
-				throw new Exception ("Could not enumerate certificates from the keychain. Error:\n" + GetError (status));
-
-			var names = new HashSet<string> ();
-
-			while ((status = SecKeychainSearchCopyNext (searchRef, out itemRef)) == OSStatus.Ok) {
-				IntPtr commonName;
-
-				if (SecCertificateCopyCommonName (itemRef, out commonName) == OSStatus.Ok) {
-					names.Add (CFStringGetString (commonName));
-					CFRelease (commonName);
-				}
-
-				CFRelease (itemRef);
-			}
-
-			if (status != OSStatus.ItemNotFound)
-				LoggingService.LogWarning ("Unexpected error retrieving certificates from keychain:\n" + GetError (status));
-
-			CFRelease (searchRef);
-
-			return names.ToList ();
-		}
-		
-		public static IList<string> GetAllSigningIdentities ()
-		{
-			IntPtr searchRef, itemRef, certRef, commonName;
-			OSStatus status;
-
-			status = SecIdentitySearchCreate (CurrentKeychain, CssmKeyUse.Sign, out searchRef);
-			if (status != OSStatus.Ok)
-				throw new Exception ("Could not enumerate signing identities from the keychain. Error:\n" + GetError (status));
-			
-			var identities = new HashSet<string> ();
-
-			while ((status = SecIdentitySearchCopyNext (searchRef, out itemRef)) == OSStatus.Ok) {
-				if (SecIdentityCopyCertificate (itemRef, out certRef) == OSStatus.Ok) {
-					if (SecCertificateCopyCommonName (certRef, out commonName) == OSStatus.Ok) {
-						string name = CFStringGetString (commonName);
-						if (name != null)
-							identities.Add (name);
-
-						CFRelease (commonName);
-					}
-
-					CFRelease (certRef);
-				}
-
-				CFRelease (itemRef);
-			}
-
-			if (status != OSStatus.ItemNotFound)
-				LoggingService.LogWarning ("Unexpected error retrieving identities from keychain:\n" + GetError (status));
-			
-			CFRelease (searchRef);
-
-			return identities.ToList ();
-		}
-		
-		public static IEnumerable<X509Certificate2> FindNamedSigningCertificates (Func<string,bool> nameCheck)
-		{
-			return GetAllSigningCertificates ().Where (x => {
-				var y = GetCertificateCommonName (x);
-				return !string.IsNullOrEmpty (y) && nameCheck (y);
-			});
-		}
-		
-		public static IList<X509Certificate2> GetAllSigningCertificates ()
-		{
-			IntPtr searchRef, itemRef, certRef;
-			OSStatus status;
-
-			status = SecIdentitySearchCreate (CurrentKeychain, CssmKeyUse.Sign, out searchRef);
-			if (status != OSStatus.Ok)
-				throw new Exception ("Could not enumerate signing certificates from the keychain. Error:\n" + GetError (status));
-			
-			var certs = new HashSet<X509Certificate2> ();
-
-			while ((status = SecIdentitySearchCopyNext (searchRef, out itemRef)) == OSStatus.Ok) {
-				if (SecIdentityCopyCertificate (itemRef, out certRef) == OSStatus.Ok) {
-					var data = SecCertificateCopyData (certRef);
-					var rawData = CFDataGetBytes (data);
-
-					if (rawData != null) {
-						try {
-							certs.Add (new X509Certificate2 (rawData));
-						} catch (Exception ex) {
-							LoggingService.LogWarning ("Error loading signing certificate from keychain", ex);
-						}
-					}
-
-					CFRelease (certRef);
-				}
-
-				CFRelease (itemRef);
-			}
-
-			if (status != OSStatus.ItemNotFound)
-				LoggingService.LogWarning ("Unexpected error code retrieving signing certificates from keychain:\n" + GetError (status));
-			
-			CFRelease (searchRef);
-
-			return certs.ToList ();
-		}
-
-		public static void AddCertificate (X509Certificate2 certificate)
-		{
-			if (ContainsCertificate (certificate))
-				return;
-
-			var rawData = certificate.RawData;
-			var certData = CFDataCreate (IntPtr.Zero, rawData, rawData.Length);
-			var cert = SecCertificateCreateWithData (IntPtr.Zero, certData);
-			var status = SecCertificateAddToKeychain (cert, CurrentKeychain);
-
-			CFRelease (certData);
-			CFRelease (cert);
-
-			if (status != OSStatus.Ok)
-				throw new Exception ("Cannot add certificate to keychain: " + GetError (status));
-		}
-
-		public static unsafe bool ContainsCertificate (X509Certificate2 certificate)
-		{
-			// Note: we don't have to use an alias attribute, it's just that it might be faster to use it (fewer certificates we have to compare raw data for)
-			byte[] alias = Encoding.UTF8.GetBytes (GetCertificateCommonName (certificate));
-			IntPtr searchRef, itemRef;
-			bool found = false;
-			byte[] certData;
-			OSStatus status;
-
-			fixed (byte* aliasPtr = alias) {
-				SecKeychainAttribute* attrs = stackalloc SecKeychainAttribute [1];
-				int n = 0;
-
-				if (alias != null)
-					attrs[n++] = new SecKeychainAttribute (SecItemAttr.Alias, (uint) alias.Length, (IntPtr) aliasPtr);
-
-				SecKeychainAttributeList attrList = new SecKeychainAttributeList (n, (IntPtr) attrs);
-
-				status = SecKeychainSearchCreateFromAttributes (CurrentKeychain, SecItemClass.Certificate, &attrList, out searchRef);
-				if (status != OSStatus.Ok)
-					throw new Exception ("Could not enumerate certificates from the keychain. Error:\n" + GetError (status));
-
-				// we cache certificate.RawData to avoid unneccessary duplication (X509Certificate2.RawData clones the byte[] each time)
-				certData = certificate.RawData;
-
-				while (!found && (status = SecKeychainSearchCopyNext (searchRef, out itemRef)) == OSStatus.Ok) {
-					SecItemClass itemClass = 0;
-					IntPtr data = IntPtr.Zero;
-					uint length = 0;
-
-					status = SecKeychainItemCopyContent (itemRef, ref itemClass, IntPtr.Zero, ref length, ref data);
-					if (status == OSStatus.Ok) {
-						if (certData.Length == (int) length) {
-							byte[] rawData = new byte[(int) length];
-
-							Marshal.Copy (data, rawData, 0, (int) length);
-
-							found = true;
-							for (int i = 0; i < rawData.Length; i++) {
-								if (rawData[i] != certData[i]) {
-									found = false;
-									break;
-								}
-							}
-						}
-
-						SecKeychainItemFreeContent (IntPtr.Zero, data);
-					}
-
-					CFRelease (itemRef);
-				}
-
-				CFRelease (searchRef);
-			}
-
-			return found;
-		}
-		
-		public static string GetCertificateCommonName (X509Certificate2 cert)
-		{
-			return cert.GetNameInfo (X509NameType.SimpleName, false);
-		}
-
 		static SecAuthenticationType GetSecAuthenticationType (string query)
 		{
 			if (string.IsNullOrEmpty (query))
@@ -865,175 +599,118 @@ public static string FindInternetPassword (Uri uri)
 
 			return Marshal.PtrToStringAuto (passwordData, (int) passwordLength);
 		}
+	}
 
-		enum SecItemClass : uint
-		{
-			InternetPassword     = 1768842612, // 'inet'
-			GenericPassword      = 1734700656, // 'genp'
-			AppleSharePassword   = 1634953328, // 'ashp'
-			Certificate          = 0x80000000 + 0x1000,
-			PublicKey            = 0x0000000A + 5,
-			PrivateKey           = 0x0000000A + 6,
-			SymmetricKey         = 0x0000000A + 7
-		}
-
-		enum SecItemAttr : int
-		{
-			CreationDate         = 1667522932,
-			ModDate              = 1835295092,
-			Description          = 1684370275,
-			Comment              = 1768123764,
-			Creator              = 1668445298,
-			Type                 = 1954115685,
-			ScriptCode           = 1935897200,
-			Label                = 1818321516,
-			Invisible            = 1768846953,
-			Negative             = 1852139361,
-			CustomIcon           = 1668641641,
-			Account              = 1633903476,
-			Service              = 1937138533,
-			Generic              = 1734700641,
-			SecurityDomain       = 1935961454,
-			Server               = 1936881266,
-			AuthType             = 1635023216,
-			Port                 = 1886351988,
-			Path                 = 1885434984,
-			Volume               = 1986817381,
-			Address              = 1633969266,
-			Signature            = 1936943463,
-			Protocol             = 1886675820,
-			CertificateType      = 1668577648,
-			CertificateEncoding  = 1667591779,
-			CrlType              = 1668445296,
-			CrlEncoding          = 1668443747,
-			Alias                = 1634494835,
-		}
-
-		enum OSStatus
-		{
-			Ok                   = 0,
-			ItemNotFound         = -25300,
-		}
-
-		enum SecKeyAttribute
-		{
-			KeyClass             = 0,
-			PrintName            = 1,
-			Alias                = 2,
-			Permanent            = 3,
-			Private              = 4,
-			Modifiable           = 5,
-			Label                = 6,
-			ApplicationTag       = 7,
-			KeyCreator           = 8,
-			KeyType              = 9,
-			KeySizeInBits        = 10,
-			EffectiveKeySize     = 11,
-			StartDate            = 12,
-			EndDate              = 13,
-			Sensitive            = 14,
-			AlwaysSensitive      = 15,
-			Extractable          = 16,
-			NeverExtractable     = 17,
-			Encrypt              = 18,
-			Decrypt              = 19,
-			Derive               = 20,
-			Sign                 = 21,
-			Verify               = 22,
-			SignRecover          = 23,
-			VerifyRecover        = 24,
-			Wrap                 = 25,
-			Unwrap               = 26,
-		}
+	enum SecItemClass : uint
+	{
+		InternetPassword     = 1768842612, // 'inet'
+		GenericPassword      = 1734700656, // 'genp'
+		AppleSharePassword   = 1634953328, // 'ashp'
+		Certificate          = 0x80000000 + 0x1000,
+		PublicKey            = 0x0000000A + 5,
+		PrivateKey           = 0x0000000A + 6,
+		SymmetricKey         = 0x0000000A + 7
+	}
 
-		enum SecAuthenticationType : int
-		{
-			NTLM                 = 1835824238,
-			MSN                  = 1634628461,
-			DPA                  = 1633775716,
-			RPA                  = 1633775730,
-			HTTPBasic            = 1886680168,
-			HTTPDigest           = 1685353576,
-			HTMLForm             = 1836216166,
-			Default              = 1953261156,
-			Any                  = 0
-		}
+	enum SecItemAttr : int
+	{
+		CreationDate         = 1667522932,
+		ModDate              = 1835295092,
+		Description          = 1684370275,
+		Comment              = 1768123764,
+		Creator              = 1668445298,
+		Type                 = 1954115685,
+		ScriptCode           = 1935897200,
+		Label                = 1818321516,
+		Invisible            = 1768846953,
+		Negative             = 1852139361,
+		CustomIcon           = 1668641641,
+		Account              = 1633903476,
+		Service              = 1937138533,
+		Generic              = 1734700641,
+		SecurityDomain       = 1935961454,
+		Server               = 1936881266,
+		AuthType             = 1635023216,
+		Port                 = 1886351988,
+		Path                 = 1885434984,
+		Volume               = 1986817381,
+		Address              = 1633969266,
+		Signature            = 1936943463,
+		Protocol             = 1886675820,
+		CertificateType      = 1668577648,
+		CertificateEncoding  = 1667591779,
+		CrlType              = 1668445296,
+		CrlEncoding          = 1668443747,
+		Alias                = 1634494835,
+	}
 
-		enum SecProtocolType : int
-		{
-			FTP                  = 1718906912,
-			FTPAccount           = 1718906977,
-			HTTP                 = 1752462448,
-			IRC                  = 1769104160,
-			NNTP                 = 1852732528,
-			POP3                 = 1886351411,
-			SMTP                 = 1936553072,
-			SOCKS                = 1936685088,
-			IMAP                 = 1768776048,
-			LDAP                 = 1818517872,
-			AppleTalk            = 1635019883,
-			AFP                  = 1634103328,
-			Telnet               = 1952803950,
-			SSH                  = 1936943136,
-			FTPS                 = 1718906995,
-			HTTPProxy            = 1752461432,
-			HTTPSProxy           = 1752462200,
-			FTPProxy             = 1718907000,
-			CIFS                 = 1667851891,
-			SMB                  = 1936548384,
-			RTSP                 = 1920234352,
-			RTSPProxy            = 1920234360,
-			DAAP                 = 1684103536,
-			EPPC                 = 1701867619,
-			IPP                  = 1768976416,
-			NNTPS                = 1853124723,
-			LDAPS                = 1818521715,
-			TelnetS              = 1952803955,
-			IMAPS                = 1768779891,
-			IRCS                 = 1769104243,
-			POP3S                = 1886351475,
-			CVSpserver           = 1668707184,
-			SVN                  = 1937141280,
-			Any                  = 0
-		}
+	enum OSStatus
+	{
+		Ok                   = 0,
+		ItemNotFound         = -25300,
+	}
 
-		[Flags]
-		enum CssmKeyUse : uint
-		{
-			Any                  = 0x80000000,
-			Encrypt              = 0x00000001,
-			Decrypt              = 0x00000002,
-			Sign                 = 0x00000004,
-			Verify               = 0x00000008,
-			SignRecover          = 0x00000010,
-			VerifyRecover        = 0x00000020,
-			Wrap                 = 0x00000040,
-			Unwrap               = 0x00000080,
-			Derive               = 0x00000100
-		}
+	enum SecAuthenticationType : int
+	{
+		NTLM                 = 1835824238,
+		MSN                  = 1634628461,
+		DPA                  = 1633775716,
+		RPA                  = 1633775730,
+		HTTPBasic            = 1886680168,
+		HTTPDigest           = 1685353576,
+		HTMLForm             = 1836216166,
+		Default              = 1953261156,
+		Any                  = 0
+	}
 
-		[Flags]
-		enum CssmTPAppleCertStatus : uint
-		{
-			Expired              = 0x00000001,
-			NotValidYet          = 0x00000002,
-			IsInInputCerts       = 0x00000004,
-			IsInAnchors          = 0x00000008,
-			IsRoot               = 0x00000010,
-			IsFromNet            = 0x00000020
-		}
+	enum SecProtocolType : int
+	{
+		FTP                  = 1718906912,
+		FTPAccount           = 1718906977,
+		HTTP                 = 1752462448,
+		IRC                  = 1769104160,
+		NNTP                 = 1852732528,
+		POP3                 = 1886351411,
+		SMTP                 = 1936553072,
+		SOCKS                = 1936685088,
+		IMAP                 = 1768776048,
+		LDAP                 = 1818517872,
+		AppleTalk            = 1635019883,
+		AFP                  = 1634103328,
+		Telnet               = 1952803950,
+		SSH                  = 1936943136,
+		FTPS                 = 1718906995,
+		HTTPProxy            = 1752461432,
+		HTTPSProxy           = 1752462200,
+		FTPProxy             = 1718907000,
+		CIFS                 = 1667851891,
+		SMB                  = 1936548384,
+		RTSP                 = 1920234352,
+		RTSPProxy            = 1920234360,
+		DAAP                 = 1684103536,
+		EPPC                 = 1701867619,
+		IPP                  = 1768976416,
+		NNTPS                = 1853124723,
+		LDAPS                = 1818521715,
+		TelnetS              = 1952803955,
+		IMAPS                = 1768779891,
+		IRCS                 = 1769104243,
+		POP3S                = 1886351475,
+		CVSpserver           = 1668707184,
+		SVN                  = 1937141280,
+		Any                  = 0
+	}
 
-		enum CssmDbAttributeFormat : int
-		{
-			String               = 0,
-			Int32                = 1,
-			UInt32               = 2,
-			BigNum               = 3,
-			Real                 = 4,
-			DateTime             = 5,
-			Blob                 = 6,
-			MultiUInt32          = 7,
-			Complex              = 8
-		}
+	enum CssmDbAttributeFormat : int
+	{
+		String               = 0,
+		Int32                = 1,
+		UInt32               = 2,
+		BigNum               = 3,
+		Real                 = 4,
+		DateTime             = 5,
+		Blob                 = 6,
+		MultiUInt32          = 7,
+		Complex              = 8
 	}
 }

Modified: main/src/addins/MacPlatform/MacPlatform.cs
===================================================================
@@ -687,7 +687,9 @@ public override void SetIsFullscreen (Gtk.Window window, bool isFullscreen)
 
 		public override bool IsModalDialogRunning ()
 		{
-			return GtkQuartz.GetToplevels ().Any (t => t.Key.IsVisible && (t.Value == null || t.Value.Modal));
+			var toplevels = GtkQuartz.GetToplevels ();
+
+			return toplevels.Any (t => t.Key.IsVisible && (t.Value == null || t.Value.Modal) && !t.Key.DebugDescription.StartsWith("<NSStatusBarWindow"));
 		}
 	}
 }

Modified: main/src/addins/MonoDevelop.CodeMetrics/MonoDevelop.CodeMetrics.addin.xml
===================================================================
@@ -7,15 +7,15 @@
         url = "http://www.monodevelop.com/"
         description = "Provides code metric support for monodevelop"
         category = "IDE extensions"
-        version = "4.1.7">
+        version = "4.1.13">
 	
 	<Runtime>
 		<Import assembly = "MonoDevelop.CodeMetrics.dll"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/Ide/Commands">


Modified: main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/Manifest.addin.xml
===================================================================
@@ -5,13 +5,13 @@
        description = "Mono Soft Debugger Support for ASP.NET"
        copyright   = "MIT X11"
        category    = "Debugging"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Core" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger" version="4.1.7"/>
-		<Addin id="MonoDevelop.AspNet" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger.Soft" version="4.1.7"/>
+		<Addin id="MonoDevelop.Core" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger" version="4.1.13"/>
+		<Addin id="MonoDevelop.AspNet" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger.Soft" version="4.1.13"/>
 	</Dependencies>
 	
 	<Extension path="/MonoDevelop/Debugging/DebuggerEngines">

Modified: main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.Moonlight/Manifest.addin.xml
===================================================================
@@ -5,13 +5,13 @@
        description = "Mono Soft Debugger Support for Moonlight"
        copyright   = "MIT X11"
        category    = "Debugging"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Core" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger" version="4.1.7"/>
-		<Addin id="MonoDevelop.Moonlight" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger.Soft" version="4.1.7"/>
+		<Addin id="MonoDevelop.Core" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger" version="4.1.13"/>
+		<Addin id="MonoDevelop.Moonlight" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger.Soft" version="4.1.13"/>
 	</Dependencies>
 	
 	<Extension path="/MonoDevelop/Debugging/DebuggerEngines">

Modified: main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/Manifest.addin.xml
===================================================================
@@ -5,11 +5,11 @@
        description = "Mono Soft Debugger Support"
        copyright   = "MIT X11"
        category    = "Debugging"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Core" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger" version="4.1.7"/>
+		<Addin id="MonoDevelop.Core" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger" version="4.1.13"/>
 	</Dependencies>
 	
 	<Runtime>

Modified: main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerSession.cs
===================================================================
@@ -655,10 +655,10 @@ protected override BreakEventInfo OnInsertBreakEvent (BreakEvent be)
 		{
 			return MtaThread.Run (delegate
 			{
-				BreakEventInfo binfo = new BreakEventInfo ();
+				var binfo = new BreakEventInfo ();
 
 				lock (documents) {
-					Breakpoint bp = be as Breakpoint;
+					var bp = be as Breakpoint;
 					if (bp != null) {
 						if (bp is FunctionBreakpoint) {
 							// FIXME: implement breaking on function name
@@ -709,6 +709,20 @@ protected override BreakEventInfo OnInsertBreakEvent (BreakEvent be)
 							return binfo;
 						}
 					}
+
+					var cp = be as Catchpoint;
+					if (cp != null) {
+						foreach (ModuleInfo mod in modules.Values) {
+							CorMetadataImport mi = mod.Importer;
+							if (mi != null) {
+								foreach (Type t in mi.DefinedTypes)
+									if (t.FullName == cp.ExceptionName) {
+										binfo.SetStatus (BreakEventStatus.Bound, null);
+										return binfo;
+									}
+							}
+						}
+					}
 				}
 
 				binfo.SetStatus (BreakEventStatus.Invalid, null);


Modified: main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorObjectAdaptor.cs
===================================================================
@@ -91,7 +91,7 @@ public override bool IsValueType (object type)
 			return ((CorType)type).Type == CorElementType.ELEMENT_TYPE_VALUETYPE;
 		}
 
-		public override bool IsClass (object type)
+		public override bool IsClass (EvaluationContext ctx, object type)
 		{
 			return ((CorType)type).Type == CorElementType.ELEMENT_TYPE_CLASS && ((CorType)type).Class != null;
 		}


Modified: main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32.addin.xml
===================================================================
@@ -5,13 +5,13 @@
        description = "Managed Debugging Engine support for MS.NET"
        copyright   = "MIT X11"
        category = "Debugging"
-       version   = "4.1.7">
+       version   = "4.1.13">
 
 	<Dependencies>
-		<Addin id="MonoDevelop.Core" version="4.1.7"/>
-		<Addin id="MonoDevelop.Ide" version="4.1.7"/>
-		<Addin id="MonoDevelop.Debugger" version="4.1.7"/>
-		<Addin id="MonoDevelop.AspNet" version="4.1.7"/>
+		<Addin id="MonoDevelop.Core" version="4.1.13"/>
+		<Addin id="MonoDevelop.Ide" version="4.1.13"/>
+		<Addin id="MonoDevelop.Debugger" version="4.1.13"/>
+		<Addin id="MonoDevelop.AspNet" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path="/MonoDevelop/Debugging/DebuggerEngines">

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests.TestApp/Main.cs
===================================================================
@@ -43,13 +43,13 @@ public static void Main (string[] args)
 
 		static string staticString = "some static";
 		string someString = "hi";
-		string[] numbers = new string[] { "one","two","three" };
+		string[] numbers = { "one","two","three" };
 		
 		public void TestEvaluation ()
 		{
 			int n = 32;
 			decimal dec = 123.456m;
-			ArrayList alist = new ArrayList ();
+			var alist = new ArrayList ();
 			alist.Add (1);
 			alist.Add ("two");
 			alist.Add (3);
@@ -58,12 +58,12 @@ public void TestEvaluation ()
 			A b = new B ();
 			A a = new A ();
 			
-			WithDisplayString withDisplayString = new WithDisplayString ();
-			WithProxy withProxy = new WithProxy ();
-			WithToString withToString = new WithToString ();
+			var withDisplayString = new WithDisplayString ();
+			var withProxy = new WithProxy ();
+			var withToString = new WithToString ();
 			
-			int[][] numbersArrays = new int [2][];
-			int[,,] numbersMulti = new int [3,4,5];
+			var numbersArrays = new int [2][];
+			var numbersMulti = new int [3,4,5];
 			
 			var dict = new Dictionary<int, string[]> ();
 			var dictArray = new Dictionary<int, string[]> [2,3];

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests.TestApp/MonoDevelop.Debugger.Tests.TestApp.csproj
===================================================================
@@ -2,7 +2,7 @@
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
     <ProductVersion>9.0.21022</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{05EDFE55-C8D1-47E4-BB61-0BC809CD82E2}</ProjectGuid>
@@ -10,7 +10,7 @@
     <RootNamespace>MonoDevelop.Debugger.Tests.TestApp</RootNamespace>
     <AssemblyName>MonoDevelop.Debugger.Tests.TestApp</AssemblyName>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
     <DebugSymbols>True</DebugSymbols>
     <DebugType>full</DebugType>
     <Optimize>False</Optimize>
@@ -18,14 +18,16 @@
     <DefineConstants>DEBUG</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <PlatformTarget>x86</PlatformTarget>
     <NoWarn>1591;1573</NoWarn>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
     <DebugType>none</DebugType>
     <Optimize>False</Optimize>
     <OutputPath>..\..\..\..\build\tests</OutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <PlatformTarget>x86</PlatformTarget>
     <NoWarn>1591;1573</NoWarn>
   </PropertyGroup>
   <ItemGroup>

Added: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/CorEvaluationTests.cs
===================================================================
@@ -0,0 +1,40 @@
+//
+// CorEvaluationTests.cs
+//
+// Author:
+//       Therzok <[email protected]>
+//
+// Copyright (c) 2013 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using NUnit.Framework;
+
+namespace MonoDevelop.Debugger.Tests.Win32
+{
+	[TestFixture]
+	[Platform (Include = "Win")]
+	public class CorEvaluationTests: EvaluationTests
+	{
+		public CorEvaluationTests (): base ("MonoDevelop.Debugger.Win32")
+		{
+		}
+	}
+}
+


Added: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/CorStackFrameTests.cs
===================================================================
@@ -0,0 +1,39 @@
+//
+// CorStackFrametests.cs
+//
+// Author:
+//       Therzok <[email protected]>
+//
+// Copyright (c) 2013 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using NUnit.Framework;
+
+namespace MonoDevelop.Debugger.Tests.Win32
+{
+	[TestFixture]
+	[Platform (Include = "Win")]
+	public class CorStackFrameTests : StackFrameTests
+	{
+		public CorStackFrameTests (): base ("MonoDevelop.Debugger.Win32")
+		{
+		}
+	}
+}
+


Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/DebugTests.cs
===================================================================
@@ -25,7 +25,6 @@
 // THE SOFTWARE.
 
 using System;
-using NUnit.Framework;
 using UnitTests;
 using Mono.Debugging.Client;
 using MonoDevelop.Core;
@@ -33,24 +32,25 @@
 using System.IO;
 using System.Threading;
 using MonoDevelop.Projects.Text;
+using MonoDevelop.Core.Assemblies;
 
 namespace MonoDevelop.Debugger.Tests
 {
 	public abstract class DebugTests: TestBase
 	{
-		string eid;
+		readonly protected string EngineId;
 		DebuggerEngine engine;
 		
-		public DebugTests (string engineId)
+		protected DebugTests (string engineId)
 		{
-			eid = engineId;
+			EngineId = engineId;
 		}
 		
 		public override void Setup ()
 		{
 			base.Setup ();
 			foreach (DebuggerEngine e in DebuggingService.GetDebuggerEngines ()) {
-				if (e.Id == eid) {
+				if (e.Id == EngineId) {
 					engine = e;
 					break;
 				}
@@ -60,23 +60,40 @@ public override void Setup ()
 		
 		protected DebuggerSession Start (string test)
 		{
-			DotNetExecutionCommand cmd = new DotNetExecutionCommand ();
+			TargetRuntime runtime;
+			switch (EngineId) {
+			case "MonoDevelop.Debugger.Win32":
+				runtime = Runtime.SystemAssemblyService.GetTargetRuntime ("MS.NET");
+				break;
+			case "Mono.Debugger.Soft":
+				runtime = Runtime.SystemAssemblyService.GetTargetRuntime ("Mono");
+				break;
+			default:
+				runtime = Runtime.SystemAssemblyService.DefaultRuntime;
+				break;
+			}
+
+			if (runtime == null)
+				return null;
+
+			var cmd = new DotNetExecutionCommand ();
 			cmd.Command = Path.Combine (Path.GetDirectoryName (GetType ().Assembly.Location), "MonoDevelop.Debugger.Tests.TestApp.exe");
 			cmd.Arguments = test;
-			
+			cmd.TargetRuntime = runtime;
+
 			DebuggerStartInfo si = engine.CreateDebuggerStartInfo (cmd);
 			DebuggerSession session = engine.CreateSession ();
-			DebuggerSessionOptions ops = new DebuggerSessionOptions ();
+			var ops = new DebuggerSessionOptions ();
 			ops.EvaluationOptions = EvaluationOptions.DefaultOptions;
 			ops.EvaluationOptions.EvaluationTimeout = 100000;
 
 			FilePath path = Util.TestsRootDir;
 			path = path.ParentDirectory.Combine ("src","addins","MonoDevelop.Debugger","MonoDevelop.Debugger.Tests.TestApp","Main.cs").FullPath;
 			TextFile file = TextFile.ReadFile (path);
-			int i = file.Text.IndexOf ("void " + test);
+			int i = file.Text.IndexOf ("void " + test, StringComparison.Ordinal);
 			if (i == -1)
 				throw new Exception ("Test not found: " + test);
-			i = file.Text.IndexOf ("/*break*/", i);
+			i = file.Text.IndexOf ("/*break*/", i, StringComparison.Ordinal);
 			if (i == -1)
 				throw new Exception ("Break marker not found: " + test);
 			int line, col;
@@ -84,11 +101,9 @@ protected DebuggerSession Start (string test)
 			Breakpoint bp = session.Breakpoints.Add (path, line);
 			bp.Enabled = true;
 			
-			ManualResetEvent done = new ManualResetEvent (false);
+			var done = new ManualResetEvent (false);
 			
-			session.OutputWriter = delegate (bool isStderr, string text) {
-				Console.WriteLine ("PROC:" + text);
-			};
+			session.OutputWriter = (isStderr, text) => Console.WriteLine ("PROC:" + text);
 			
 			session.TargetHitBreakpoint += delegate {
 				done.Set ();

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/EvaluationTests.cs
===================================================================
@@ -24,7 +24,6 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-using System;
 using Mono.Debugging.Client;
 using NUnit.Framework;
 
@@ -35,7 +34,7 @@ public abstract class EvaluationTests: DebugTests
 		DebuggerSession ds;
 		StackFrame frame;
 		
-		public EvaluationTests (string de): base (de)
+		protected EvaluationTests (string de): base (de)
 		{
 		}
 		
@@ -43,14 +42,19 @@ public override void Setup ()
 		{
 			base.Setup ();
 			ds = Start ("TestEvaluation");
+			if (ds == null)
+				Assert.Ignore ("Engine not found: {0}", EngineId);
+
 			frame = ds.ActiveThread.Backtrace.GetFrame (0);
 		}
 		
 		public override void TearDown ()
 		{
 			base.TearDown ();
-			ds.Exit ();
-			ds.Dispose ();
+			if (ds != null) {
+				ds.Exit ();
+				ds.Dispose ();
+			}
 		}
 
 
@@ -59,7 +63,7 @@ ObjectValue Eval (string exp)
 			return frame.GetExpressionValue (exp, true).Sync ();
 		}
 		
-		[Test()]
+		[Test]
 		public void This ()
 		{
 			ObjectValue val = Eval ("this");
@@ -67,7 +71,7 @@ public void This ()
 			Assert.AreEqual ("MonoDevelop.Debugger.Tests.TestApp.MainClass", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void UnaryOperators ()
 		{
 			ObjectValue val = Eval ("~1234");
@@ -91,7 +95,7 @@ public void UnaryOperators ()
 			Assert.AreEqual ("int", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void TypeReference ()
 		{
 			ObjectValue val = Eval ("System.String");
@@ -110,7 +114,7 @@ public void TypeReference ()
 			Assert.AreEqual (ObjectValueFlags.Type, val.Flags & ObjectValueFlags.OriginMask);
 		}
 		
-		[Test()]
+		[Test]
 		public virtual void TypeReferenceGeneric ()
 		{
 			ObjectValue val = Eval ("System.Collections.Generic.Dictionary<string,int>");
@@ -119,7 +123,7 @@ public virtual void TypeReferenceGeneric ()
 			Assert.AreEqual (ObjectValueFlags.Type, val.Flags & ObjectValueFlags.OriginMask);
 		}
 		
-		[Test()]
+		[Test]
 		public virtual void Typeof ()
 		{
 			ObjectValue val = Eval ("typeof(System.Console)");
@@ -127,7 +131,7 @@ public virtual void Typeof ()
 			Assert.AreEqual ("{System.Console}", val.Value);
 		}
 		
-		[Test()]
+		[Test]
 		public void MethodInvoke ()
 		{
 			ObjectValue val;
@@ -168,7 +172,7 @@ public void MethodInvoke ()
 			Assert.AreEqual ("string", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void Indexers ()
 		{
 			ObjectValue val = Eval ("numbers[0]");
@@ -200,7 +204,7 @@ public void Indexers ()
 			Assert.AreEqual ("int", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void MemberReference ()
 		{
 			ObjectValue val = Eval ("alist.Count");
@@ -226,7 +230,7 @@ public void MemberReference ()
 			Assert.AreEqual ("string", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void ConditionalExpression ()
 		{
 			ObjectValue val = Eval ("true ? \"yes\" : \"no\"");
@@ -238,7 +242,7 @@ public void ConditionalExpression ()
 			Assert.AreEqual ("string", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void Cast ()
 		{
 			ObjectValue val;
@@ -364,7 +368,7 @@ public void Cast ()
 			Assert.AreEqual ("SomeEnum", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void BinaryOperators ()
 		{
 			ObjectValue val;
@@ -457,7 +461,7 @@ public void BinaryOperators ()
 			Assert.AreEqual ("bool", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public virtual void Assignment ()
 		{
 			ObjectValue val;
@@ -494,7 +498,7 @@ public virtual void Assignment ()
 			Assert.AreEqual ("1", val.Value);
 		}
 		
-		[Test()]
+		[Test]
 		public virtual void AssignmentStatic ()
 		{
 			ObjectValue val;
@@ -508,7 +512,7 @@ public virtual void AssignmentStatic ()
 			Assert.AreEqual ("\"some static\"", val.Value);
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatBool ()
 		{
 			ObjectValue val;
@@ -518,7 +522,7 @@ public void FormatBool ()
 			Assert.AreEqual ("false", val.Value);
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatNumber ()
 		{
 			ObjectValue val;
@@ -545,7 +549,7 @@ public void FormatNumber ()
 			Assert.AreEqual ("123.456", val.Value);
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatString ()
 		{
 			ObjectValue val;
@@ -559,7 +563,7 @@ public void FormatString ()
 			Assert.AreEqual ("\" \\\" \\\\ \\a \\b \\f \\v \\n \\r \\t\"", val.Value);
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatChar ()
 		{
 			ObjectValue val;
@@ -612,7 +616,7 @@ public void FormatChar ()
 			Assert.AreEqual ("9 '\\t'", val.DisplayValue);
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatObject ()
 		{
 			ObjectValue val;
@@ -634,7 +638,7 @@ public void FormatObject ()
 			Assert.AreEqual ("WithToString", val.TypeName);*/
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatArray ()
 		{
 			ObjectValue val;
@@ -652,7 +656,7 @@ public void FormatArray ()
 			Assert.AreEqual ("int[,,]", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatGeneric ()
 		{
 			ObjectValue val;
@@ -678,7 +682,7 @@ public void FormatGeneric ()
 			Assert.AreEqual ("Thing<string>.Done<int>", val.TypeName);
 		}
 		
-		[Test()]
+		[Test]
 		public void FormatEnum ()
 		{
 			ObjectValue val;

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/MonoDevelop.Debugger.Tests.csproj
===================================================================
@@ -43,6 +43,8 @@
     <Compile Include="StackFrameTests.cs" />
     <Compile Include="MdbStackFrameTests.cs" />
     <Compile Include="SdbStackFrameTests.cs" />
+    <Compile Include="CorEvaluationTests.cs" />
+    <Compile Include="CorStackFrameTests.cs" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\MonoDevelop.Debugger.csproj">

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/SdbEvaluationTests.cs
===================================================================
@@ -24,12 +24,11 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-using System;
 using NUnit.Framework;
 
 namespace MonoDevelop.Debugger.Tests.Soft
 {
-	[TestFixture()]
+	[TestFixture]
 	public class SdbEvaluationTests: EvaluationTests
 	{
 		public SdbEvaluationTests (): base ("Mono.Debugger.Soft")

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/SdbStackFrameTests.cs
===================================================================
@@ -24,12 +24,11 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-using System;
 using NUnit.Framework;
 
 namespace MonoDevelop.Debugger.Tests.Soft
 {
-	[TestFixture()]
+	[TestFixture]
 	public class SdbStackFrameTests: StackFrameTests
 	{
 		public SdbStackFrameTests (): base ("Mono.Debugger.Soft")

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/StackFrameTests.cs
===================================================================
@@ -24,7 +24,6 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-using System;
 using Mono.Debugging.Client;
 using NUnit.Framework;
 
@@ -35,7 +34,7 @@ public abstract class StackFrameTests: DebugTests
 		DebuggerSession ds;
 		StackFrame frame;
 		
-		public StackFrameTests (string de): base (de)
+		protected StackFrameTests (string de): base (de)
 		{
 		}
 		
@@ -43,14 +42,19 @@ public override void Setup ()
 		{
 			base.Setup ();
 			ds = Start ("TestEvaluation");
+			if (ds == null)
+				Assert.Ignore ("Engine not found: {0}", EngineId);
+
 			frame = ds.ActiveThread.Backtrace.GetFrame (0);
 		}
 		
 		public override void TearDown ()
 		{
 			base.TearDown ();
-			ds.Exit ();
-			ds.Dispose ();
+			if (ds != null) {
+				ds.Exit ();
+				ds.Dispose ();
+			}
 		}
 		
 		public StackFrame Frame {

Modified: main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.addin.xml
===================================================================
@@ -6,11 +6,11 @@
        description = "Support for Debugging projects"
        copyright = "MIT X11"
        flags = "Hidden"
-       version = "4.1.7">
+       version = "4.1.13">
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 	
 	<ExtensionPoint path="/MonoDevelop/Debugging/DebuggerEngines">

Modified: main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/CustomDescriptor.cs
===================================================================
@@ -165,7 +165,7 @@ public override void AddValueChanged (object component, EventHandler handler)
  
 		public override void RemoveValueChanged (object component, EventHandler handler)
 		{
-			RemoveValueChanged (component, handler);
+			prop.RemoveValueChanged (component, handler);
 		}
 
 		public override object GetValue (object component)

Modified: main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = ""
        description = "Provides support for visual design of GTK# windows, dialogs and widgets."
        category    = "IDE extensions"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="libstetic.dll"/>
@@ -17,9 +17,9 @@
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="DesignerSupport" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="DesignerSupport" version="4.1.13"/>
 	</Dependencies>
 	
 	<ExtensionPoint path = "/MonoDevelop/GtkCore/ContextMenu/ProjectPad.ActionGroup">

Modified: main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore/WidgetParser.cs
===================================================================
@@ -126,7 +126,7 @@ public string GetCategory (IEntity decoration)
 					var pargs = at.PositionalArguments;
 					if (pargs != null && pargs.Count > 0) {
 						var val = pargs[0] as ConstantResolveResult;
-						if (val is string)
+						if (val != null && val.ConstantValue is string)
 							return val.ConstantValue.ToString ();
 					}
 				}

Modified: main/src/addins/MonoDevelop.GtkCore2/MonoDevelop.GtkCore2.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = ""
        description = "Experimental GTK# visual designer developed during GSOC 2010 as a fork of stetic"
        category    = "IDE extensions"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="libstetic2.dll"/>
@@ -17,11 +17,11 @@
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="DesignerSupport" version="4.1.7"/>
-		<Addin id="XmlEditor" version="4.1.7"/>
-		<Addin id="Refactoring" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="DesignerSupport" version="4.1.13"/>
+		<Addin id="XmlEditor" version="4.1.13"/>
+		<Addin id="Refactoring" version="4.1.13"/>
 	</Dependencies>
 	
 	<ExtensionPoint path = "/MonoDevelop/GtkCore/ContextMenu/ProjectPad.ActionGroup">

Modified: main/src/addins/MonoDevelop.Moonlight/MonoDevelop.Moonlight.addin.xml
===================================================================
@@ -6,14 +6,14 @@
        url         = "http://www.monodevelop.com/"
        description = "Support for editing, compiling, and running Moonlight/Silverlight projects."
        category    = "Web Development"
-       version     = "4.1.7">
+       version     = "4.1.13">
 	
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="DesignerSupport" version="4.1.7"/>
-		<Addin id="Deployment" version="4.1.7"/>
-		<Addin id="AspNet" version="4.1.7" />
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="DesignerSupport" version="4.1.13"/>
+		<Addin id="Deployment" version="4.1.13"/>
+		<Addin id="AspNet" version="4.1.13" />
 	</Dependencies>
 
 	<Runtime>


Modified: main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeIssues/CodeAnalysisRunner.cs
===================================================================
@@ -57,7 +57,7 @@ static IEnumerable<BaseCodeIssueProvider> EnumerateProvider (CodeIssueProvider p
 
 		public static IEnumerable<Result> Check (Document input, CancellationToken cancellationToken)
 		{
-			if (!QuickTaskStrip.EnableFancyFeatures)
+			if (!QuickTaskStrip.EnableFancyFeatures || input.Project == null)
 				return Enumerable.Empty<Result> ();
 
 			#if PROFILE

Modified: main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring.Rename/RenameRefactoring.cs
===================================================================
@@ -70,8 +70,11 @@ public override bool IsValid (RefactoringOptions options)
 			if (options.SelectedItem is IType && ((IType)options.SelectedItem).Kind == TypeKind.TypeParameter)
 				return !string.IsNullOrEmpty (((ITypeParameter)options.SelectedItem).Region.FileName);
 
-			if (options.SelectedItem is IMember) {
-				var cls = ((IMember)options.SelectedItem).DeclaringTypeDefinition;
+			var member = options.SelectedItem as IMember;
+			if (member != null) {
+				if (member.SymbolKind == SymbolKind.Operator)
+					return false;
+				var cls = member.DeclaringTypeDefinition;
 				return cls != null;
 			}
 			return false;

Modified: main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ImportSymbolHandler.cs
===================================================================
@@ -111,6 +111,7 @@ public ImportSymbolCompletionData (MonoDevelop.Ide.Gui.Document doc, ImportSymbo
 			this.ambience = AmbienceService.GetAmbience (doc.Editor.MimeType);
 			this.type = type;
 			this.unit = doc.ParsedDocument;
+			this.DisplayFlags |= ICSharpCode.NRefactory.Completion.DisplayFlags.IsImportCompletion;
 		}
 		
 		bool initialized = false;

Modified: main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/RefactoryCommands.cs
===================================================================
@@ -103,6 +103,8 @@ public static object GetItem (MonoDevelop.Ide.Gui.Document doc, out ResolveResul
 				return resolveResult.Type;
 			if (resolveResult is NamespaceResolveResult)
 				return ((NamespaceResolveResult)resolveResult).Namespace;
+			if (resolveResult is OperatorResolveResult)
+				return ((OperatorResolveResult)resolveResult).UserDefinedOperatorMethod;
 			return null;
 		}
 
@@ -334,7 +336,8 @@ protected override void Update (CommandArrayInfo ainfo)
 				}
 			}
 
-			if (item is IEntity || item is ITypeParameter || item is IVariable || item is INamespace) {
+			if (!(item is IMethod && ((IMethod)item).SymbolKind == SymbolKind.Operator) && (item is IEntity || item is ITypeParameter || item is IVariable || item is INamespace)) {
+
 				ainfo.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.FindReferences), new System.Action (new FindRefs (item, false).Run));
 				if (doc.HasProject && HasOverloads (doc.Project.ParentSolution, item))
 					ainfo.Add (IdeApp.CommandService.GetCommandInfo (RefactoryCommands.FindAllReferences), new System.Action (new FindRefs (item, true).Run));

Modified: main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/ColorShemeEditor.cs
===================================================================
@@ -242,7 +242,7 @@ public void SetSheme (ColorScheme style)
 		{
 			if (style == null)
 				throw new ArgumentNullException ("style");
-			this.fileName = Mono.TextEditor.Highlighting.SyntaxModeService.GetFileNameForStyle (style);
+			this.fileName = style.FileName;
 			this.colorSheme = style;
 			this.entryName.Text = style.Name;
 			this.entryDescription.Text = style.Description;

Modified: main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/HighlightingPanel.cs
===================================================================
@@ -99,7 +99,7 @@ void HandleStyleTreeviewSelectionChanged (object sender, EventArgs e)
 			if (sheme == null)
 				return;
 			this.buttonExport.Sensitive = true;
-			string fileName = Mono.TextEditor.Highlighting.SyntaxModeService.GetFileNameForStyle (sheme);
+			string fileName = sheme.FileName;
 			if (fileName == null)
 				return;
 			this.removeButton.Sensitive = true;
@@ -111,7 +111,8 @@ void HandleButtonEdithandleClicked (object sender, EventArgs e)
 			TreeIter selectedIter;
 			if (styleTreeview.Selection.GetSelected (out selectedIter)) {
 				var editor = new ColorShemeEditor (this);
-				editor.SetSheme ((Mono.TextEditor.Highlighting.ColorScheme)this.styleStore.GetValue (selectedIter, 1));
+				var colorScheme = (Mono.TextEditor.Highlighting.ColorScheme)this.styleStore.GetValue (selectedIter, 1);
+				editor.SetSheme (colorScheme);
 				MessageService.RunCustomDialog (editor, dialog);
 				editor.Destroy ();
 			}
@@ -140,7 +141,7 @@ internal void ShowStyles ()
 				string name = style.Name ?? "";
 				string description = style.Description ?? "";
 				// translate only build-in sheme names
-				if (string.IsNullOrEmpty (Mono.TextEditor.Highlighting.SyntaxModeService.GetFileNameForStyle (style))) {
+				if (string.IsNullOrEmpty (style.FileName)) {
 					try {
 						name = GettextCatalog.GetString (name);
 						if (!string.IsNullOrEmpty (description))
@@ -160,11 +161,11 @@ void RemoveColorScheme (object sender, EventArgs args)
 			TreeIter selectedIter;
 			if (!styleTreeview.Selection.GetSelected (out selectedIter)) 
 				return;
-			var sheme = (Mono.TextEditor.Highlighting.ColorScheme)this.styleStore.GetValue (selectedIter, 1);
+			var sheme = (ColorScheme)this.styleStore.GetValue (selectedIter, 1);
 			
-			string fileName = Mono.TextEditor.Highlighting.SyntaxModeService.GetFileNameForStyle (sheme);
+			string fileName = sheme.FileName;
 			
-			if (fileName != null && fileName.StartsWith (SourceEditorDisplayBinding.SyntaxModePath)) {
+			if (fileName != null && fileName.StartsWith (SourceEditorDisplayBinding.SyntaxModePath, StringComparison.Ordinal)) {
 				Mono.TextEditor.Highlighting.SyntaxModeService.Remove (sheme);
 				File.Delete (fileName);
 				ShowStyles ();

Modified: main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/NewColorShemeDialog.cs
===================================================================
@@ -76,7 +76,8 @@ void HandleButtonOkClicked (object sender, EventArgs e)
 			string fileName = System.IO.Path.Combine (path, baseName + "Style.json");
 			try {
 				style.Save (fileName);
-				Mono.TextEditor.Highlighting.SyntaxModeService.AddStyle (fileName, style);
+				style.FileName = fileName;
+				Mono.TextEditor.Highlighting.SyntaxModeService.AddStyle (style);
 			} catch (Exception ex) {
 				MonoDevelop.Ide.MessageService.ShowException (ex);
 			}

Modified: main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs
===================================================================
@@ -646,12 +646,16 @@ public void Save (string fileName, Encoding encoding)
 			}
 			
 			if (PropertyService.Get ("AutoFormatDocumentOnSave", false)) {
-				var formatter = CodeFormatterService.GetFormatter (Document.MimeType);
-				if (formatter != null && formatter.SupportsOnTheFlyFormatting) {
-					using (var undo = TextEditor.OpenUndoGroup ()) {
-						formatter.OnTheFlyFormat (WorkbenchWindow.Document, 0, Document.TextLength);
-						wasEdited = false;
+				try {
+					var formatter = CodeFormatterService.GetFormatter (Document.MimeType);
+					if (formatter != null && formatter.SupportsOnTheFlyFormatting) {
+						using (var undo = TextEditor.OpenUndoGroup ()) {
+							formatter.OnTheFlyFormat (WorkbenchWindow.Document, 0, Document.TextLength);
+							wasEdited = false;
+						}
 					}
+				} catch (Exception e) {
+					LoggingService.LogError ("Error while formatting on save", e);
 				}
 			}
 

Modified: main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/StyledSourceEditorOptions.cs
===================================================================
@@ -53,6 +53,8 @@ public StyledSourceEditorOptions (Project styleParent, string mimeType)
 
 		public void UpdateStyleParent (Project styleParent, string mimeType)
 		{
+			if (styleParent != null && policyContainer == styleParent.Policies)
+				return;
 			if (policyContainer != null)
 				policyContainer.PolicyChanged -= HandlePolicyChanged;
 
@@ -67,12 +69,15 @@ public void UpdateStyleParent (Project styleParent, string mimeType)
 
 			currentPolicy = policyContainer.Get<TextStylePolicy> (mimeTypes);
 			policyContainer.PolicyChanged += HandlePolicyChanged;
+			if (changed != null)
+				this.changed (this, EventArgs.Empty);
 		}
 
 		void HandlePolicyChanged (object sender, MonoDevelop.Projects.Policies.PolicyChangedEventArgs args)
 		{
 			currentPolicy = policyContainer.Get<TextStylePolicy> (mimeTypes);
-			this.changed (this, EventArgs.Empty);
+			if (changed != null)
+				this.changed (this, EventArgs.Empty);
 		}
 
 		public bool OverrideDocumentEolMarker {

Modified: main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://md-xed.sourceforge.net"
        description = "XML Editor"
        category    = "IDE extensions"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="MonoDevelop.XmlEditor.dll" />
@@ -21,10 +21,10 @@
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="DesignerSupport" version="4.1.7"/>
-		<Addin id="SourceEditor2" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="DesignerSupport" version="4.1.13"/>
+		<Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<ExtensionPoint path = "/MonoDevelop/XmlEditor/XmlFileAssociations">


Modified: main/src/addins/MonoDeveloperExtensions/MonoDeveloperExtensions.addin.xml
===================================================================
@@ -6,15 +6,15 @@
        url         = "http://www.monodevelop.com"
        description = "Provides some IDE extensions useful for developing and building the Mono class libraries."
        category    = "Project Import and Export"
-       version     = "4.1.7">
+       version     = "4.1.13">
     
     <Runtime>
         <Import assembly="MonoDeveloperExtensions.dll"/>
     </Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/ProjectModel/FileFormats">
@@ -51,7 +51,7 @@
 	        <Import assembly="MonoDeveloperExtensions_nunit.dll"/>
 	    </Runtime>
 		<Dependencies>
-			<Addin id="NUnit" version="4.1.7"/>
+			<Addin id="NUnit" version="4.1.13"/>
 		</Dependencies>
 		<Extension path = "/MonoDevelop/NUnit/TestProviders">
 			<Class id = "MonoTestProvider" class = "MonoDeveloper.MonoTestProvider"/>

Modified: main/src/addins/NUnit/Gui/TestResultsPad.cs
===================================================================
@@ -668,6 +668,12 @@ void ITestProgressMonitor.EndTest (UnitTest test, UnitTestResult result)
 				frac = ((double)testsRun / (double)testsToRun);
 			else
 				frac = 1;
+
+			if (frac < 0)
+				frac = 0;
+			else if (frac > 1)
+				frac = 1;
+
 			progressBar.Fraction = frac;
 			progressBar.Text = testsRun + " / " + testsToRun;
 		}

Modified: main/src/addins/NUnit/MonoDevelopNUnit.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://monodevelop.com"
        description = "Integrates NUnit into the MonoDevelop IDE."
        category    = "Testing"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="MonoDevelop.NUnit.dll" />
@@ -17,8 +17,8 @@
 	</Runtime>
 	
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 	
 	<!-- Extension Points -->

Modified: main/src/addins/NUnit/Services/NUnitAssemblyTestSuite.cs
===================================================================
@@ -433,7 +433,7 @@ internal UnitTestResult RunUnitTest (UnitTest test, string suiteName, string pat
 						RuntimeErrorCleanup (testContext, localMonitor.RunningTest, ex);
 					} else {
 						testContext.Monitor.ReportRuntimeError (null, ex);
-						throw ex;
+						throw;
 					}
 					result = UnitTestResult.CreateFailure (ex);
 				} else {
@@ -465,32 +465,39 @@ UnitTestResult RunWithConsoleRunner (ProcessExecutionCommand cmd, UnitTest test,
 			LocalConsole cons = new LocalConsole ();
 
 			try {
+				MonoDevelop.NUnit.External.TcpTestListener tcpListener = null;
 				LocalTestMonitor localMonitor = new LocalTestMonitor (testContext, test, suiteName, testName != null);
 
 				if (!string.IsNullOrEmpty (cmd.Arguments))
 					cmd.Arguments += " ";
 				cmd.Arguments += "\"-xml=" + outFile + "\" " + AssemblyPath;
 
-				bool automaticUpdates = cmd.Command.Contains ("GuiUnit") || (cmd.Command.Contains ("mdtool.exe") && cmd.Arguments.Contains ("run-md-tests"));
-				if (!string.IsNullOrEmpty (testName))
-					cmd.Arguments += " -run=" + suiteName + "." + testName;
-				else if (!string.IsNullOrEmpty (suiteName))
-					cmd.Arguments += " -run=" + suiteName;
+				bool automaticUpdates = cmd.Command.Contains ("GuiUnit") || (cmd.Command.Contains ("mdtool.exe") && cmd.Arguments.Contains ("run-md-tests"));
+				if (!string.IsNullOrEmpty(pathName))
+					cmd.Arguments += " -run=" + pathName;
 				if (automaticUpdates) {
-					var tcpListener = new MonoDevelop.NUnit.External.TcpTestListener (localMonitor, suiteName);
+					tcpListener = new MonoDevelop.NUnit.External.TcpTestListener (localMonitor, suiteName);
 					cmd.Arguments += " -port=" + tcpListener.Port;
 				}
-				var p = testContext.ExecutionContext.Execute (cmd, cons);
 
-				testContext.Monitor.CancelRequested += p.Cancel;
-				if (testContext.Monitor.IsCancelRequested)
-					p.Cancel ();
-				p.WaitForCompleted ();
-				
-				if (new FileInfo (outFile).Length == 0)
-					throw new Exception ("Command failed");
+				// Note that we always dispose the tcp listener as we don't want it listening
+				// forever if the test runner does not try to connect to it
+				using (tcpListener) {
+					var p = testContext.ExecutionContext.Execute (cmd, cons);
 
-				if (automaticUpdates) {
+					testContext.Monitor.CancelRequested += p.Cancel;
+					if (testContext.Monitor.IsCancelRequested)
+						p.Cancel ();
+					p.WaitForCompleted ();
+					
+					if (new FileInfo (outFile).Length == 0)
+						throw new Exception ("Command failed");
+				}
+
+				// mdtool.exe does not necessarily guarantee we get automatic updates. It just guarantees
+				// that if guiunit is being used then it will give us updates. If you have a regular test
+				// assembly compiled against nunit.framework.dll 
+				if (automaticUpdates && tcpListener.HasReceivedConnection) {
 					if (testName != null)
 						return localMonitor.SingleTestResult;
 					return test.GetLastResult ();

Modified: main/src/addins/NUnit/Services/NUnitProjectTestSuite.cs
===================================================================
@@ -64,7 +64,7 @@ public NUnitProjectTestSuite (DotNetProject project): base (project.Name, projec
 		public static NUnitProjectTestSuite CreateTest (DotNetProject project)
 		{
 			foreach (var p in project.References)
-				if (p.Reference.IndexOf ("GuiUnit") != -1 || p.Reference.IndexOf ("nunit.framework") != -1 || p.Reference.IndexOf ("nunit.core") != -1)
+				if (p.Reference.IndexOf ("GuiUnit", StringComparison.OrdinalIgnoreCase) != -1 || p.Reference.IndexOf ("nunit.framework") != -1 || p.Reference.IndexOf ("nunit.core") != -1)
 					return new NUnitProjectTestSuite (project);
 			return null;
 		}
@@ -134,10 +134,17 @@ public override void GetCustomConsoleRunner (out string command, out string args
 			command = r != null ? project.BaseDirectory.Combine (r.ToString ()).ToString () : null;
 			args = (string)project.ExtendedProperties ["TestRunnerArgs"];
 			if (command == null && args == null) {
-				var guiUnit = project.References.FirstOrDefault (pref => pref.ReferenceType == ReferenceType.Assembly && Path.GetFileName (pref.Reference) == "GuiUnit.exe");
+				var guiUnit = project.References.FirstOrDefault (pref => pref.ReferenceType == ReferenceType.Assembly && StringComparer.OrdinalIgnoreCase.Equals (Path.GetFileName (pref.Reference), "GuiUnit.exe"));
 				if (guiUnit != null) {
 					command = guiUnit.Reference;
 				}
+
+				var projectReference = project.References.FirstOrDefault (pref => pref.ReferenceType == ReferenceType.Project && pref.Reference.StartsWith ("GuiUnit", StringComparison.OrdinalIgnoreCase));
+				if (IdeApp.IsInitialized && command == null && projectReference != null) {
+					var guiUnitProject = IdeApp.Workspace.GetAllProjects ().First (f => f.Name == projectReference.Reference);
+					if (guiUnitProject != null)
+						command = guiUnitProject.GetOutputFileName (IdeApp.Workspace.ActiveConfiguration);
+				}
 			}
 		}
 

Modified: main/src/addins/NUnit/Services/TcpTestListener.cs
===================================================================
@@ -38,11 +38,15 @@
 
 namespace MonoDevelop.NUnit.External
 {
-	class TcpTestListener
+	class TcpTestListener : IDisposable
 	{
 		string testSuiteName;
 		string rootTestName;
 
+		public bool HasReceivedConnection {
+			get; private set;
+		}
+
 		List<Tuple<string,UnitTestResult>> suiteStack = new List<Tuple<string, UnitTestResult>> ();
 		IRemoteEventListener listener;
 
@@ -120,6 +124,11 @@ public TcpTestListener (IRemoteEventListener listener, string suiteName)
 			});
 		}
 
+		public void Dispose ()
+		{
+			TcpListener.Stop ();
+		}
+
 		void UpdateTestSuiteStatus (string name, bool isTest)
 		{
 			if (testSuiteName.Length > 0)

Modified: main/src/addins/TextTemplating/MonoDevelop.TextTemplating/MonoDevelop.TextTemplating.addin.xml
===================================================================
@@ -6,16 +6,16 @@
        url         = "http://monodevelop.com"
        description = "Support for editing and running T4 text templates."
        category    = "IDE extensions"
-       version     = "4.1.7">
+       version     = "4.1.13">
 	
 	<Runtime>
 		<Import assembly="Mono.TextTemplating.dll" />
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="SourceEditor2" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/SourceEditor2/SyntaxModes">

Modified: main/src/addins/VBNetBinding/VBNetBinding.addin.xml
===================================================================
@@ -6,11 +6,11 @@
        url         = "http://bard.sytes.net/vbnetbinding"
        description = "VB.NET Language Binding"
        category    = "Language bindings"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
 	</Dependencies>
 	
 	<Extension path = "/MonoDevelop/ProjectModel/MSBuildItemTypes">

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git.addin.xml
===================================================================
@@ -6,7 +6,7 @@
        url         = "http://www.monodevelop.com/"
        description = "Git support for the Version Control Add-in"
        category    = "Version Control"
-       version     = "4.1.7">
+       version     = "4.1.13">
  
 	<Runtime>
 		<Import assembly="MonoDevelop.VersionControl.Git.dll"/>
@@ -14,9 +14,9 @@
 	</Runtime>
 
 	<Dependencies>
-	    <Addin id="Core" version="4.1.7"/>
-	    <Addin id="Ide" version="4.1.7"/>
-	    <Addin id="VersionControl" version="4.1.7"/>
+	    <Addin id="Core" version="4.1.13"/>
+	    <Addin id="Ide" version="4.1.13"/>
+	    <Addin id="VersionControl" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path="/MonoDevelop/VersionControl/VersionControlSystems">

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/CredentialsDialog.cs
===================================================================
@@ -30,7 +30,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class CredentialsDialog : Gtk.Dialog
+	partial class CredentialsDialog : Gtk.Dialog
 	{
 		readonly CredentialItem.YesNoType singleYesNoCred;
 		

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/EditBranchDialog.cs
===================================================================
@@ -31,7 +31,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class EditBranchDialog : Dialog
+	partial class EditBranchDialog : Dialog
 	{
 		readonly ListStore comboStore;
 		readonly string currentTracking;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/EditRemoteDialog.cs
===================================================================
@@ -27,7 +27,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class EditRemoteDialog : Gtk.Dialog
+	partial class EditRemoteDialog : Gtk.Dialog
 	{
 		readonly RemoteSource remote;
 		readonly bool updating;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitClient.cs
===================================================================
@@ -26,7 +26,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public sealed class GitClient : GitVersionControl
+	sealed class GitClient : GitVersionControl
 	{
 	}
 }

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtension.cs
===================================================================
@@ -29,7 +29,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public class GitCommitDialogExtension: CommitDialogExtension
+	sealed class GitCommitDialogExtension: CommitDialogExtension
 	{
 		GitCommitDialogExtensionWidget widget;
 		

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCommitDialogExtensionWidget.cs
===================================================================
@@ -28,7 +28,7 @@
 namespace MonoDevelop.VersionControl.Git
 {
 	[System.ComponentModel.ToolboxItem(true)]
-	public partial class GitCommitDialogExtensionWidget : Gtk.Bin
+	partial class GitCommitDialogExtensionWidget : Gtk.Bin
 	{
 		public GitCommitDialogExtensionWidget ()
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitConfigurationDialog.cs
===================================================================
@@ -32,7 +32,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class GitConfigurationDialog : Dialog
+	partial class GitConfigurationDialog : Dialog
 	{
 		readonly GitRepository repo;
 		readonly ListStore storeBranches;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitCredentials.cs
===================================================================
@@ -32,7 +32,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public class GitCredentials: CredentialsProvider
+	sealed class GitCredentials: CredentialsProvider
 	{
 		bool HasReset {
 			get; set;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitNodeBuilderExtension.cs
===================================================================
@@ -33,7 +33,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public class GitNodeBuilderExtension: NodeBuilderExtension
+	sealed class GitNodeBuilderExtension: NodeBuilderExtension
 	{
 		readonly Dictionary<FilePath,IWorkspaceObject> repos = new Dictionary<FilePath, IWorkspaceObject> ();
 		

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitOptionsPanel.cs
===================================================================
@@ -27,7 +27,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public class GitOptionsPanel : OptionsPanel
+	sealed class GitOptionsPanel : OptionsPanel
 	{
 		GitOptionsPanelWidget widget;
 

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitOptionsPanelWidget.cs
===================================================================
@@ -27,7 +27,7 @@
 namespace MonoDevelop.VersionControl.Git
 {
 	[System.ComponentModel.ToolboxItem(true)]
-	public partial class GitOptionsPanelWidget : Gtk.Bin
+	partial class GitOptionsPanelWidget : Gtk.Bin
 	{
 		public GitOptionsPanelWidget ()
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitSupportFeature.cs
===================================================================
@@ -30,7 +30,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public class GitSupportFeature: ISolutionItemFeature
+	sealed class GitSupportFeature: ISolutionItemFeature
 	{
 		public FeatureSupportLevel GetSupportLevel (SolutionFolder parentFolder, SolutionItem entry)
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/GitVersionControl.cs
===================================================================
@@ -29,7 +29,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public abstract class GitVersionControl : VersionControlSystem
+	abstract class GitVersionControl : VersionControlSystem
 	{
 		readonly Dictionary<FilePath,GitRepository> repositories = new Dictionary<FilePath,GitRepository> ();
 		

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/MergeDialog.cs
===================================================================
@@ -31,7 +31,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class MergeDialog : Dialog
+	partial class MergeDialog : Dialog
 	{
 		readonly TreeStore store;
 		readonly GitRepository repo;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/MyersDiff.cs
===================================================================
@@ -39,7 +39,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public class MyersDiff : GitCommand<IList<DiffEntry>>
+	sealed class MyersDiff : GitCommand<IList<DiffEntry>>
 	{
 		AbstractTreeIterator oldTree;
 
@@ -171,7 +171,7 @@ public override IList<DiffEntry> Call()
 
 		/// <param name="cached">whether to view the changes you staged for the next commit</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetCached(bool cached)
+		public MyersDiff SetCached(bool cached)
 		{
 			this.cached = cached;
 			return this;
@@ -179,7 +179,7 @@ public virtual MyersDiff SetCached(bool cached)
 
 		/// <param name="pathFilter">parameter, used to limit the diff to the named path</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetPathFilter(TreeFilter pathFilter)
+		public MyersDiff SetPathFilter(TreeFilter pathFilter)
 		{
 			this.pathFilter = pathFilter;
 			return this;
@@ -187,7 +187,7 @@ public virtual MyersDiff SetPathFilter(TreeFilter pathFilter)
 
 		/// <param name="oldTree">the previous state</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetOldTree(AbstractTreeIterator oldTree)
+		public MyersDiff SetOldTree(AbstractTreeIterator oldTree)
 		{
 			this.oldTree = oldTree;
 			return this;
@@ -195,7 +195,7 @@ public virtual MyersDiff SetOldTree(AbstractTreeIterator oldTree)
 
 		/// <param name="newTree">the updated state</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetNewTree(AbstractTreeIterator newTree)
+		public MyersDiff SetNewTree(AbstractTreeIterator newTree)
 		{
 			this.newTree = newTree;
 			return this;
@@ -204,7 +204,7 @@ public virtual MyersDiff SetNewTree(AbstractTreeIterator newTree)
 		/// <param name="showNameAndStatusOnly">whether to return only names and status of changed files
 		/// 	</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetShowNameAndStatusOnly(bool showNameAndStatusOnly
+		public MyersDiff SetShowNameAndStatusOnly(bool showNameAndStatusOnly
 		                                                             )
 		{
 			this.showNameAndStatusOnly = showNameAndStatusOnly;
@@ -213,7 +213,7 @@ public virtual MyersDiff SetNewTree(AbstractTreeIterator newTree)
 
 		/// <param name="out">the stream to write line data</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetOutputStream(OutputStream @out)
+		public MyersDiff SetOutputStream(OutputStream @out)
 		{
 			this.@out = @out;
 			return this;
@@ -223,7 +223,7 @@ public virtual MyersDiff SetOutputStream(OutputStream @out)
 		/// <remarks>Set number of context lines instead of the usual three.</remarks>
 		/// <param name="contextLines">the number of context lines</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetContextLines(int contextLines)
+		public MyersDiff SetContextLines(int contextLines)
 		{
 			this.contextLines = contextLines;
 			return this;
@@ -233,7 +233,7 @@ public virtual MyersDiff SetContextLines(int contextLines)
 		/// <remarks>Set the given source prefix instead of "a/".</remarks>
 		/// <param name="sourcePrefix">the prefix</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetSourcePrefix(string sourcePrefix)
+		public MyersDiff SetSourcePrefix(string sourcePrefix)
 		{
 			this.sourcePrefix = sourcePrefix;
 			return this;
@@ -243,7 +243,7 @@ public virtual MyersDiff SetSourcePrefix(string sourcePrefix)
 		/// <remarks>Set the given destination prefix instead of "b/".</remarks>
 		/// <param name="destinationPrefix">the prefix</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetDestinationPrefix(string destinationPrefix
+		public MyersDiff SetDestinationPrefix(string destinationPrefix
 		                                                         )
 		{
 			this.destinationPrefix = destinationPrefix;
@@ -258,7 +258,7 @@ public virtual MyersDiff SetSourcePrefix(string sourcePrefix)
 		/// <seealso cref="NGit.NullProgressMonitor">NGit.NullProgressMonitor</seealso>
 		/// <param name="monitor">a progress monitor</param>
 		/// <returns>this instance</returns>
-		public virtual MyersDiff SetProgressMonitor(ProgressMonitor monitor)
+		public MyersDiff SetProgressMonitor(ProgressMonitor monitor)
 		{
 			this.monitor = monitor;
 			return this;


Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/NewStashDialog.cs
===================================================================
@@ -26,7 +26,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class NewStashDialog : Gtk.Dialog
+	partial class NewStashDialog : Gtk.Dialog
 	{
 		public NewStashDialog ()
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/PushDialog.cs
===================================================================
@@ -29,7 +29,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class PushDialog : Gtk.Dialog
+	partial class PushDialog : Gtk.Dialog
 	{
 		readonly GitRepository repo;
 		

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/StashManagerDialog.cs
===================================================================
@@ -30,7 +30,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class StashManagerDialog : Dialog
+	partial class StashManagerDialog : Dialog
 	{
 		readonly ListStore store;
 		readonly StashCollection stashes;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/UserGitConfigDialog.cs
===================================================================
@@ -27,7 +27,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class UserGitConfigDialog : Gtk.Dialog
+	partial class UserGitConfigDialog : Gtk.Dialog
 	{
 		public UserGitConfigDialog ()
 		{


Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/UserInfoConflictDialog.cs
===================================================================
@@ -28,7 +28,7 @@
 
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class UserInfoConflictDialog : Gtk.Dialog
+	partial class UserInfoConflictDialog : Gtk.Dialog
 	{
 		public UserInfoConflictDialog (string mdInfo, string gitInfo)
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.CredentialsDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class CredentialsDialog
+	internal partial class CredentialsDialog
 	{
 		private global::Gtk.VBox vbox;
 		private global::Gtk.Label labelTop;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.EditBranchDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class EditBranchDialog
+	internal partial class EditBranchDialog
 	{
 		private global::Gtk.VBox vbox5;
 		private global::Gtk.Table table4;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.EditRemoteDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class EditRemoteDialog
+	internal partial class EditRemoteDialog
 	{
 		private global::Gtk.VBox vbox7;
 		private global::Gtk.Table table3;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.GitCommitDialogExtensionWidget.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class GitCommitDialogExtensionWidget
+	internal partial class GitCommitDialogExtensionWidget
 	{
 		private global::Gtk.VBox vbox1;
 		private global::Gtk.CheckButton checkPush;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.GitConfigurationDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class GitConfigurationDialog
+	internal partial class GitConfigurationDialog
 	{
 		private global::Gtk.Notebook notebook1;
 		private global::Gtk.VBox vbox2;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.GitOptionsPanelWidget.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class GitOptionsPanelWidget
+	internal partial class GitOptionsPanelWidget
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.CheckButton checkStashBranch;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.MergeDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class MergeDialog
+	internal partial class MergeDialog
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.Label labelHeader;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.NewStashDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class NewStashDialog
+	partial class NewStashDialog
 	{
 		private global::Gtk.HBox hbox3;
 		private global::Gtk.Label label3;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.PushDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class PushDialog
+	internal partial class PushDialog
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.HBox hbox1;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.StashManagerDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class StashManagerDialog
+	internal partial class StashManagerDialog
 	{
 		private global::Gtk.HBox hbox2;
 		private global::Gtk.ScrolledWindow GtkScrolledWindow;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.UserGitConfigDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class UserGitConfigDialog
+	internal partial class UserGitConfigDialog
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.VBox vbox5;


Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/MonoDevelop.VersionControl.Git.UserInfoConflictDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Git
 {
-	public partial class UserInfoConflictDialog
+	internal partial class UserInfoConflictDialog
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.Label label1;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/gtk-gui/gui.stetic
===================================================================
@@ -13,6 +13,7 @@
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.PushDialog" design-size="730 540">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Push to Repository</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">2</property>
@@ -150,6 +151,7 @@
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.UserInfoConflictDialog" design-size="529 249">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">User Information Conflict</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">2</property>
@@ -431,6 +433,7 @@
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.GitConfigurationDialog" design-size="602 410">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Git Repository Configuration</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">1</property>
@@ -849,6 +852,7 @@
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.EditBranchDialog" design-size="400 200">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Branch Properties</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">2</property>
@@ -1031,6 +1035,7 @@
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.EditRemoteDialog" design-size="422 206">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Remote Source</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">2</property>
@@ -1256,6 +1261,7 @@
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.MergeDialog" design-size="469 487">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">2</property>
     <property name="HelpButton">False</property>
@@ -1383,6 +1389,7 @@
   </widget>
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.CredentialsDialog" design-size="500 132">
     <property name="MemberName" />
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Git Credentials</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">4</property>
@@ -1502,6 +1509,7 @@
   <widget class="Gtk.Bin" id="MonoDevelop.VersionControl.Git.GitOptionsPanelWidget" design-size="391 300">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <child>
       <widget class="Gtk.VBox" id="vbox2">
         <property name="MemberName" />
@@ -1596,6 +1604,7 @@
   </widget>
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.StashManagerDialog" design-size="575 367">
     <property name="MemberName" />
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Stash Manager</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">1</property>
@@ -1749,6 +1758,7 @@
   </widget>
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.NewStashDialog" design-size="412 114">
     <property name="MemberName" />
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Stash</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">2</property>
@@ -1842,6 +1852,7 @@
   <widget class="Gtk.Bin" id="MonoDevelop.VersionControl.Git.GitCommitDialogExtensionWidget" design-size="319 114">
     <property name="MemberName" />
     <property name="Visible">False</property>
+    <property name="GeneratePublic">False</property>
     <child>
       <widget class="Gtk.VBox" id="vbox1">
         <property name="MemberName" />
@@ -1988,6 +1999,7 @@
   </widget>
   <widget class="Gtk.Dialog" id="MonoDevelop.VersionControl.Git.UserGitConfigDialog" design-size="400 184">
     <property name="MemberName" />
+    <property name="GeneratePublic">False</property>
     <property name="WindowPosition">CenterOnParent</property>
     <property name="Buttons">2</property>
     <property name="HelpButton">False</property>

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/AssemblyInfo.cs
===================================================================
@@ -50,3 +50,4 @@
 //[assembly: AssemblyDelaySign(false)]
 //[assembly: AssemblyKeyFile("")]
 
+[assembly: InternalsVisibleTo ("MonoDevelop.VersionControl.Subversion.Tests")]

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix.addin.xml
===================================================================
@@ -6,13 +6,13 @@
        url       = "http://taubz.for.net/code/diff"
        description = "Subversion support for Linux and MacOSX"
        category  = "Version Control"
-       version   = "4.1.7">
+       version   = "4.1.13">
 
 	<Dependencies>
-	    <Addin id="Core" version="4.1.7"/>
-	    <Addin id="Ide" version="4.1.7"/>
-	    <Addin id="VersionControl" version="4.1.7"/>
-	    <Addin id="VersionControl.Subversion" version="4.1.7"/>
+	    <Addin id="Core" version="4.1.13"/>
+	    <Addin id="Ide" version="4.1.13"/>
+	    <Addin id="VersionControl" version="4.1.13"/>
+	    <Addin id="VersionControl.Subversion" version="4.1.13"/>
 	</Dependencies>
 
 	<Extension path = "/MonoDevelop/VersionControl/VersionControlSystems">


Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibApr.cs
===================================================================
@@ -4,7 +4,7 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Unix
 {
-	public abstract class LibApr
+	abstract class LibApr
 	{
 		public static readonly int APR_OS_DEFAULT = 0xFFF;
 		public static readonly int APR_WRITE = 2;
@@ -31,7 +31,7 @@ public static LibApr GetLib (int ver)
 			}
 		}
 		
-		public LibApr ()
+		protected LibApr ()
 		{
 			initialize ();
 		}
@@ -64,9 +64,9 @@ public IntPtr pcalloc (IntPtr pool, object structure)
 		public const int APR_OS_START_USEERR = APR_OS_START_USERERR;
 	}
 
-	public class LibApr0: LibApr
+	sealed class LibApr0: LibApr
 	{
-		private const string aprlib = "libapr-0.so.0";
+		const string aprlib = "libapr-0.so.0";
 		
 		public override int initialize() { return apr_initialize (); }
 		public override int pool_create_ex (out IntPtr pool, IntPtr parent, IntPtr abort, IntPtr allocator) { return apr_pool_create_ex(out pool, parent, abort, allocator); }
@@ -97,9 +97,9 @@ public class LibApr0: LibApr
 		[DllImport(aprlib)] static extern int apr_file_close (IntPtr file); 	
 	}
 
-	public class LibApr1: LibApr
+	sealed class LibApr1: LibApr
 	{
-		private const string aprlib = "libapr-1.so.0";
+		const string aprlib = "libapr-1.so.0";
 		
 		public override int initialize() { return apr_initialize (); }
 		public override int pool_create_ex (out IntPtr pool, IntPtr parent, IntPtr abort, IntPtr allocator) { return apr_pool_create_ex(out pool, parent, abort, allocator); }

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibSvnClient.cs
===================================================================
@@ -12,8 +12,8 @@
 using size_t = System.Int32;
 
 namespace MonoDevelop.VersionControl.Subversion.Unix {
-	public abstract class LibSvnClient {
-		public LibSvnClient ()
+	abstract class LibSvnClient {
+		protected LibSvnClient ()
 		{
 			client_version ();
 		}

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibSvnClient0.cs
===================================================================
@@ -32,8 +32,8 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Unix {
 	
-	public class LibSvnClient0 : LibSvnClient {
-		private const string svnclientlib = "libsvn_client-1.so.0";
+	sealed class LibSvnClient0 : LibSvnClient {
+		const string svnclientlib = "libsvn_client-1.so.0";
 
 		public override IntPtr client_root_url_from_path (ref IntPtr url, string path_or_url, IntPtr ctx, IntPtr pool)
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/LibSvnClient1.cs
===================================================================
@@ -32,8 +32,8 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Unix {
 	
-	public class LibSvnClient1 : LibSvnClient {
-		private const string svnclientlib = "libsvn_client-1.so.1";
+	sealed class LibSvnClient1 : LibSvnClient {
+		const string svnclientlib = "libsvn_client-1.so.1";
 		
 		public override IntPtr client_root_url_from_path (ref IntPtr url, string path_or_url, IntPtr ctx, IntPtr pool)
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/SvnClient.cs
===================================================================
@@ -15,7 +15,7 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Unix
 {
-	public sealed class SvnClient : SubversionVersionControl
+	sealed class SvnClient : SubversionVersionControl
 	{
 		static LibApr apr;
 		static readonly Lazy<bool> isInstalled;
@@ -201,7 +201,7 @@ public override string GetDirectoryDotSvn (FilePath path)
 		}
 	}
 
-	public sealed class UnixSvnBackend : SubversionBackend
+	sealed class UnixSvnBackend : SubversionBackend
 	{
 		protected static LibApr apr {
 			get {
@@ -1527,7 +1527,7 @@ void CollectorFunc (IntPtr baton, IntPtr path, IntPtr statusPtr)
 			}
 		}
 		
-		private class LogCollector
+		class LogCollector
 		{
 			static readonly DateTime Epoch = new DateTime (1970, 1, 1);
 			

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/AssemblyInfo.cs
===================================================================
@@ -9,3 +9,5 @@
 [assembly: AssemblyVersion ("2.6")]
 [assembly: AssemblyCopyright ("LGPL")]
 [assembly: InternalsVisibleTo ("MonoDevelop.VersionControl.Subversion.Tests")]
+[assembly: InternalsVisibleTo ("MonoDevelop.VersionControl.Subversion.Unix")]
+[assembly: InternalsVisibleTo ("VersionControl.Subversion.Win32")]

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/ClientCertificateDialog.cs
===================================================================
@@ -5,7 +5,7 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class ClientCertificateDialog : Gtk.Dialog
+	partial class ClientCertificateDialog : Gtk.Dialog
 	{
 		public ClientCertificateDialog (string realm, bool maySave)
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/ClientCertificatePasswordDialog.cs
===================================================================
@@ -5,7 +5,7 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class ClientCertificatePasswordDialog : Gtk.Dialog
+	partial class ClientCertificatePasswordDialog : Gtk.Dialog
 	{
 		public ClientCertificatePasswordDialog (string realm, bool maySave)
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/SslServerTrustDialog.cs
===================================================================
@@ -5,7 +5,7 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class SslServerTrustDialog : Gtk.Dialog
+	partial class SslServerTrustDialog : Gtk.Dialog
 	{
 		SslFailure failures;
 		

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.Gui/UserPasswordDialog.cs
===================================================================
@@ -5,7 +5,7 @@
 
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class UserPasswordDialog : Gtk.Dialog
+	partial class UserPasswordDialog : Gtk.Dialog
 	{
 		public UserPasswordDialog (string user, string realm, bool mayRemember, bool showPassword)
 		{

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion.addin.xml
===================================================================
@@ -7,11 +7,11 @@
        description = "Subversion core engine"
        category  = "Version Control"
        flags     = "Hidden"
-       version   = "4.1.7">
+       version   = "4.1.13">
  
 	<Dependencies>
-	    <Addin id="Core" version="4.1.7"/>
-	    <Addin id="Ide" version="4.1.7"/>
-	    <Addin id="VersionControl" version="4.1.7"/>
+	    <Addin id="Core" version="4.1.13"/>
+	    <Addin id="Ide" version="4.1.13"/>
+	    <Addin id="VersionControl" version="4.1.13"/>
 	</Dependencies>
 </Addin>


Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificateDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class ClientCertificateDialog
+	internal partial class ClientCertificateDialog
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.Label label1;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.ClientCertificatePasswordDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class ClientCertificatePasswordDialog
+	internal partial class ClientCertificatePasswordDialog
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.Label label1;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.SslServerTrustDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class SslServerTrustDialog
+	internal partial class SslServerTrustDialog
 	{
 		private global::Gtk.HBox hbox1;
 		private global::Gtk.VBox vbox2;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/MonoDevelop.VersionControl.Subversion.Gui.UserPasswordDialog.cs
===================================================================
@@ -2,7 +2,7 @@
 // This file has been generated by the GUI designer. Do not modify.
 namespace MonoDevelop.VersionControl.Subversion.Gui
 {
-	public partial class UserPasswordDialog
+	internal partial class UserPasswordDialog
 	{
 		private global::Gtk.VBox vbox2;
 		private global::Gtk.Label label4;

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/gtk-gui/gui.stetic
===================================================================
@@ -14,6 +14,7 @@
     <property name="MemberName" />
     <property name="Visible">False</property>
     <property name="Events">ButtonPressMask</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Subversion</property>
     <property name="Modal">True</property>
     <property name="Resizable">False</property>
@@ -224,6 +225,7 @@
     <property name="MemberName" />
     <property name="Visible">False</property>
     <property name="Events">ButtonPressMask</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Repository Certified by an Unknown Authority</property>
     <property name="Modal">True</property>
     <property name="Buttons">2</property>
@@ -711,6 +713,7 @@
     <property name="MemberName" />
     <property name="Visible">False</property>
     <property name="Events">ButtonPressMask</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Client Certificate Required</property>
     <property name="Buttons">2</property>
     <property name="HelpButton">False</property>
@@ -784,6 +787,7 @@
                 <child>
                   <widget class="MonoDevelop.Components.FileEntry" id="fileentry">
                     <property name="MemberName" />
+                    <property name="DisplayAsRelativePath">False</property>
                   </widget>
                   <packing>
                     <property name="Position">1</property>
@@ -872,6 +876,7 @@
     <property name="MemberName" />
     <property name="Visible">False</property>
     <property name="Events">ButtonPressMask</property>
+    <property name="GeneratePublic">False</property>
     <property name="Title" translatable="yes">Password for client certificate</property>
     <property name="Buttons">2</property>
     <property name="HelpButton">False</property>

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/LogWidget.cs
===================================================================
@@ -124,15 +124,14 @@ public LogWidget (VersionControlDocumentInfo info)
 			vpaned1 = vpaned1.ReplaceWithWidget (new VPanedThin () { HandleWidget = separator }, true);
 
 			revertButton = new DocumentToolButton ("vc-revert-command", GettextCatalog.GetString ("Revert changes from this revision"));
-//			revertButton.Sensitive = false;
+			revertButton.Sensitive = false;
 			revertButton.Clicked += new EventHandler (RevertRevisionClicked);
 
 			revertToButton = new DocumentToolButton ("vc-revert-command", GettextCatalog.GetString ("Revert to this revision"));
-//			revertToButton.Sensitive = false;
+			revertToButton.Sensitive = false;
 			revertToButton.Clicked += new EventHandler (RevertToRevisionClicked);
 
 			refreshButton = new DocumentToolButton (Gtk.Stock.Refresh, GettextCatalog.GetString ("Refresh"));
-//			refreshButton.Sensitive = false;
 			refreshButton.Clicked += new EventHandler (RefreshClicked);
 
 			searchEntry = new SearchEntry ();
@@ -305,6 +304,7 @@ void RefreshClicked (object src, EventArgs args)
 		{
 			ShowLoading ();
 			info.Start (true);
+			revertButton.Sensitive = revertToButton.Sensitive = false;
 		}
 
 		void HandleTreeviewFilesDiffLineActivated (object sender, EventArgs e)
@@ -596,6 +596,8 @@ void TreeSelectionChanged (object o, EventArgs args)
 			
 			if (d == null)
 				return;
+
+			revertButton.Sensitive = revertToButton.Sensitive = true;
 			Gtk.TreeIter selectIter = Gtk.TreeIter.Zero;
 			bool select = false;
 			foreach (RevisionPath rp in info.Repository.GetRevisionChanges (d)) {

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/Repository.cs
===================================================================
@@ -292,23 +292,37 @@ void RunQueries (object ob)
 		//	DateTime t = DateTime.Now;
 		//	Console.WriteLine ("RunQueries started");
 			try {
-				lock (queryLock) {
-					var groups = fileQueryQueue.GroupBy (q => (q.QueryFlags & VersionInfoQueryFlags.IncludeRemoteStatus) != 0);
+				while (true) {
+					VersionInfoQuery [] fileQueryQueueClone;
+					DirectoryInfoQuery [] directoryQueryQueueClone;
+
+					lock (queryLock) {
+						if (fileQueryQueue.Count == 0 && directoryQueryQueue.Count == 0) {
+							queryRunning = false;
+							return;
+						}
+
+						fileQueryQueueClone = fileQueryQueue.ToArray ();
+						fileQueryQueue.Clear ();
+						filesInQueryQueue.Clear ();
+
+						directoryQueryQueueClone = directoryQueryQueue.ToArray ();
+						directoriesInQueryQueue.Clear ();
+						directoryQueryQueue.Clear ();
+					}
+
+					// Ensure we do not execute this with the query lock held, otherwise the IDE can hang while trying to add
+					// new queries to the queue while long-running VCS operations are being performed
+					var groups = fileQueryQueueClone.GroupBy (q => (q.QueryFlags & VersionInfoQueryFlags.IncludeRemoteStatus) != 0);
 					foreach (var group in groups) {
 						var status = OnGetVersionInfo (group.SelectMany (q => q.Paths), group.Key);
 						infoCache.SetStatus (status);
 					}
-					filesInQueryQueue.Clear ();
 
-					foreach (var item in directoryQueryQueue) {
+					foreach (var item in directoryQueryQueueClone) {
 						var status = OnGetDirectoryVersionInfo (item.Directory, item.GetRemoteStatus, false);
 						infoCache.SetDirectoryStatus (item.Directory, status, item.GetRemoteStatus);
 					}
-					directoriesInQueryQueue.Clear ();
-
-					fileQueryQueue.Clear ();
-					directoryQueryQueue.Clear ();
-					queryRunning = false;
 				}
 			} catch (Exception ex) {
 				LoggingService.LogError ("Version control status query failed", ex);

Modified: main/src/addins/VersionControl/MonoDevelop.VersionControl/VersionControl.addin.xml
===================================================================
@@ -7,7 +7,7 @@
        description = "A MonoDevelop addin for using version control systems like Subversion"
        category    = "Version Control"
        flags = "Hidden"
-       version   = "4.1.7">
+       version   = "4.1.13">
  
 	<Runtime>
 		<Import file="comment.png" />
@@ -24,9 +24,9 @@
 	</Runtime>
 
 	<Dependencies>
-	    <Addin id="Core" version="4.1.7"/>
-	    <Addin id="Ide" version="4.1.7"/>
-	    <Addin id="SourceEditor2" version="4.1.7"/>
+	    <Addin id="Core" version="4.1.13"/>
+	    <Addin id="Ide" version="4.1.13"/>
+	    <Addin id="SourceEditor2" version="4.1.13"/>
 	</Dependencies>
 
 	<ExtensionPoint path = "/MonoDevelop/VersionControl/VersionControlSystems" name = "Version control systems">

Modified: main/src/addins/VersionControl/Subversion.Win32/Manifest.addin.xml
===================================================================
@@ -1,6 +1,6 @@
 <Addin id        = "SubversionAddinWindows"
        namespace = "MonoDevelop"
-       version   = "4.1.7">
+       version   = "4.1.13">
   <Header>
     <Name>Subversion Add-in</Name>
     <Description>Subversion support for the Version Control Add-in</Description>
@@ -12,10 +12,10 @@
   </Header>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
-		<Addin id="VersionControl" version="4.1.7"/>
-		<Addin id="VersionControl.Subversion" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
+		<Addin id="VersionControl" version="4.1.13"/>
+		<Addin id="VersionControl.Subversion" version="4.1.13"/>
 	</Dependencies>
 
   <!-- Some files are excluded twice. This is on purpose to work around some case sensivity issues. If you change this you break addin installation on windows -->


Modified: main/src/addins/VersionControl/Subversion.Win32/Properties/AssemblyInfo.cs
===================================================================
@@ -4,6 +4,9 @@
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
+using System.Runtime.CompilerServices;
+
+
 [assembly: AssemblyTitle ("SubversionAddinWindows")]
 [assembly: AssemblyDescription ("")]
 [assembly: AssemblyConfiguration ("")]
@@ -33,3 +36,5 @@
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion ("1.0.0.0")]
 [assembly: AssemblyFileVersion ("1.0.0.0")]
+
+[assembly: InternalsVisibleTo ("VersionControl.Subversion.Win32.Tests")]


Modified: main/src/addins/VersionControl/Subversion.Win32/SvnSharpClient.cs
===================================================================
@@ -13,7 +13,7 @@
 
 namespace SubversionAddinWindows
 {
-	public sealed class SvnSharpClient: SubversionVersionControl
+	sealed class SvnSharpClient: SubversionVersionControl
 	{
 		static bool errorShown;
 		static readonly bool installError;
@@ -75,7 +75,7 @@ public override string GetDirectoryDotSvn (FilePath path)
 		}
 	}
 
-	public sealed class SvnSharpBackend: SubversionBackend
+	sealed class SvnSharpBackend: SubversionBackend
 	{
 		SvnClient client;
 		IProgressMonitor updateMonitor;


Modified: main/src/addins/WindowsPlatform/Makefile.am
===================================================================
@@ -1 +1,5 @@
 include $(top_srcdir)/xbuild.include
+
+if ! ENABLE_WINDOWSPLATFORM
+SKIP=y
+endif

Modified: main/src/addins/WindowsPlatform/WindowsPlatform.addin.xml
===================================================================
@@ -6,15 +6,15 @@
        url         = "http://monodevelop.com/"
        description = "Windows Platform Support for MonoDevelop"
        category    = "Platform Support"
-       version     = "4.1.7">
+       version     = "4.1.13">
 
 	<Runtime>
 		<Import assembly="WindowsPlatform.dll"/>
 	</Runtime>
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
-		<Addin id="Ide" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
+		<Addin id="Ide" version="4.1.13"/>
   </Dependencies>
 
 


Modified: main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/ColorScheme.cs
===================================================================
@@ -42,6 +42,7 @@ public class ColorScheme
 		public string Description { get; set; }
 		public string Originator { get; set; }
 		public string BaseScheme { get; set; }
+		public string FileName { get; set; }
 
 		#region Ambient Colors
 		[ColorDescription("Background(Read Only)",VSSetting="color=Plain Text/Background")]

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxMode.cs
===================================================================
@@ -205,7 +205,6 @@ public class SpanParser
 			protected Stack<Rule> ruleStack;
 			protected readonly TextDocument doc;
 
-			internal Func<bool> IsAtWordStart = () => true;
 			int maxEnd;
 
 			public Rule CurRule {
@@ -367,8 +366,11 @@ protected virtual bool ScanSpan (ref int i)
 					bool mismatch = false;
 					if ((span.BeginFlags & SpanBeginFlags.FirstNonWs) == SpanBeginFlags.FirstNonWs)
 						mismatch = CurText.Take (i).Any (ch => !char.IsWhiteSpace (ch));
-					if ((span.BeginFlags & SpanBeginFlags.NewWord) == SpanBeginFlags.NewWord)
-						mismatch = !IsAtWordStart ();
+					if ((span.BeginFlags & SpanBeginFlags.NewWord) == SpanBeginFlags.NewWord) {
+						if (i - 1 > 0 && i - 1 < CurText.Length) {
+							mismatch = !char.IsWhiteSpace (CurText[i - 1]);
+						}
+					}
 					if (mismatch)
 						continue;
 					FoundSpanBegin (span, i, match.Length);
@@ -463,7 +465,6 @@ public ChunkParser (SyntaxMode mode, SpanParser spanParser, ColorScheme style, D
 				spanParser.FoundSpanEnd = FoundSpanEnd;
 				spanParser.FoundSpanExit = FoundSpanExit;
 				spanParser.ParseChar += ParseChar;
-				spanParser.IsAtWordStart = () => wordbuilder.Length == 0;
 				if (line == null)
 					throw new ArgumentNullException ("line");
 			}

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs
===================================================================
@@ -43,8 +43,7 @@ public static class SyntaxModeService
 		static Dictionary<string, ColorScheme> styles      = new Dictionary<string, ColorScheme> ();
 		static Dictionary<string, IStreamProvider> syntaxModeLookup = new Dictionary<string, IStreamProvider> ();
 		static Dictionary<string, IStreamProvider> styleLookup      = new Dictionary<string, IStreamProvider> ();
-		static Dictionary<string, string> isLoadedFromFile = new Dictionary<string, string> ();
-		
+
 		public static string[] Styles {
 			get {
 				List<string> result = new List<string> ();
@@ -60,14 +59,6 @@ public static class SyntaxModeService
 			}
 		}
 		
-		public static string GetFileNameForStyle (ColorScheme style)
-		{
-			string result;
-			if (!isLoadedFromFile.TryGetValue (style.Name, out result))
-				return null;
-			return result;
-		}
-		
 		public static void InstallSyntaxMode (string mimeType, ISyntaxModeProvider modeProvider)
 		{
 			if (syntaxModeLookup.ContainsKey (mimeType))
@@ -107,6 +98,7 @@ static void LoadStyle (string name)
 			if (!styleLookup.ContainsKey (name))
 				throw new System.ArgumentException ("Style " + name + " not found", "name");
 			var provider = styleLookup [name];
+			styleLookup.Remove (name); 
 			var stream = provider.Open ();
 			try {
 				if (provider is UrlStreamProvider) {
@@ -116,6 +108,7 @@ static void LoadStyle (string name)
 					} else {
 						styles [name] = ColorScheme.LoadFrom (stream);
 					}
+					styles [name].FileName = usp.Url;
 				} else {
 					styles [name] = ColorScheme.LoadFrom (stream);
 				}
@@ -196,10 +189,15 @@ public static bool ValidateAllSyntaxModes ()
 		
 		public static void Remove (ColorScheme style)
 		{
-			if (styles.ContainsKey (style.Name))
-				styles.Remove (style.Name);
 			if (styleLookup.ContainsKey (style.Name))
 				styleLookup.Remove (style.Name);
+
+			foreach (var kv in styles) {
+				if (kv.Value == style) {
+					styles.Remove (kv.Key); 
+					return;
+				}
+			}
 		}
 		
 		public static void Remove (SyntaxMode mode)
@@ -427,7 +425,6 @@ public static void LoadStylesAndModes (string path)
 						string styleName = ScanStyle (stream);
 						if (!string.IsNullOrEmpty (styleName)) {
 							styleLookup [styleName] = new UrlStreamProvider (file);
-							isLoadedFromFile [styleName] = file;
 						} else {
 							Console.WriteLine ("Invalid .json syntax sheme file : " + file);
 						}
@@ -436,7 +433,6 @@ public static void LoadStylesAndModes (string path)
 					using (var stream = File.OpenRead (file)) {
 						string styleName = Path.GetFileNameWithoutExtension (file);
 						styleLookup [styleName] = new UrlStreamProvider (file);
-						isLoadedFromFile [styleName] = file;
 					}
 				}
 			}
@@ -500,9 +496,8 @@ public static void RemoveSyntaxMode (IStreamProvider provider)
 			}
 		}
 		
-		public static void AddStyle (string fileName, ColorScheme style)
+		public static void AddStyle (ColorScheme style)
 		{
-			isLoadedFromFile [style.Name] = fileName;
 			styles [style.Name] = style;
 		}
 

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor.Utils/TextFileUtility.cs
===================================================================
@@ -61,6 +61,7 @@ static TextFileUtility ()
 			// Encoding verifiers
 			var verifierList = new List<Verifier> () {
 				new Utf8Verifier (),
+				new GB18030CodePageVerifier (),
 				new WindowsCodePageVerifier (),
 				new UnicodeVerifier (),
 				new BigEndianUnicodeVerifier (),
@@ -757,6 +758,88 @@ protected override void Init ()
 				}
 			}
 		}
+
+		/// <summary>
+		/// Try to detect chinese encoding.
+		/// </summary>
+		class GB18030CodePageVerifier : Verifier
+		{
+			const byte Valid  = 1;
+			const byte Second = 2;
+			const byte Third  = 3;
+			const byte Fourth  = 4;
+			const byte NotValid  = 5;
+
+			const byte LAST = 6;
+			static byte[][] table;
+			static Encoding EncodingWindows;
+
+			public override byte InitalState { get { return NotValid; } }
+
+			public override Encoding Encoding { get { return EncodingWindows; } }
+
+			public override byte[][] StateTable { get { return table; } }
+
+			public override bool IsEncodingValid (byte state)
+			{
+				return state == Valid; 
+			}
+
+			int WindowsCodePage {
+				get {
+					return 54936;
+				}
+			}
+
+			public override bool IsSupported {
+				get {
+					try {
+						return Encoding.GetEncoding (WindowsCodePage) != null;
+					} catch (Exception) {
+						return false;
+					}
+				}
+			}
+
+			protected override void Init ()
+			{
+				EncodingWindows = Encoding.GetEncoding (WindowsCodePage);
+				table = new byte[LAST][];
+				table [0] = errorTable;
+				for (int i = 1; i < LAST; i++)
+					table [i] = new byte[(int)byte.MaxValue + 1];
+
+				for (int i = 0x00; i <= 0x80; i++)
+					table [Valid] [i] = Valid;
+				for (int i = 0x81; i <= 0xFE; i++)
+					table [Valid] [i] = Second;
+				table [Valid] [0xFF] = Error;
+
+				// need to encounter a multi byte sequence first.
+				for (int i = 0x00; i <= 0x80; i++)
+					table [NotValid] [i] = NotValid;
+				for (int i = 0x81; i <= 0xFE; i++)
+					table [NotValid] [i] = Second;
+				table [NotValid] [0xFF] = Error;
+
+				for (int i = 0x00; i <= 0xFF; i++)
+					table [Second] [i] = Error;
+				for (int i = 0x40; i <= 0xFE; i++)
+					table [Second] [i] = Valid;
+				for (int i = 0x30; i <= 0x39; i++)
+					table [Second] [i] = Third;
+
+				for (int i = 0x00; i <= 0xFF; i++)
+					table [Third] [i] = Error;
+				for (int i = 0x81; i <= 0xFE; i++)
+					table [Third] [i] = Fourth;
+
+				for (int i = 0x00; i <= 0xFF; i++)
+					table [Fourth] [i] = Error;
+				for (int i = 0x30; i <= 0x39; i++)
+					table [Fourth] [i] = Valid;
+			}
+		}
 		#endregion
 	}
 }

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor.Vi/ViKeyNotation.cs
===================================================================
@@ -86,7 +86,7 @@ public override bool Equals (object obj)
 		{
 			if (obj == null)
 				return false;
-			if (ReferenceEquals (this, obj))
+			if (object.Equals (this, obj))
 				return true;
 			if (!(obj is ViKey))
 				return false;

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor.Vi/ViMode.cs
===================================================================
@@ -884,6 +884,11 @@ protected override void HandleKeypress (Gdk.Key key, uint unicodeKey, Gdk.Modifi
 						// Fold open
 							action = FoldActions.OpenFold;
 							break;
+						case 'z':
+						case '.':
+							editor.CenterToCaret ();
+							Reset ("");
+							break;
 						default:
 							Reset ("Unknown command");
 							break;

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor.Vi/ViStatusArea.cs
===================================================================
@@ -77,7 +77,9 @@ public void AllocateArea (TextArea textArea, Gdk.Rectangle allocation)
 			if (textArea.Allocation != allocation)
 				textArea.SizeAllocate (allocation);
 			SetSizeRequest (allocation.Width, (int)editor.LineHeight);
-			editor.MoveTopLevelWidget (this, 0, allocation.Height);
+			var pos = ((TextEditor.EditorContainerChild)editor [this]);
+			if (pos.X != 0 || pos.Y != allocation.Height) 
+				editor.MoveTopLevelWidget (this, 0, allocation.Height);
 		}
 
 		public bool ShowCaret {

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor/Actions/DeleteActions.cs
===================================================================
@@ -212,6 +212,7 @@ public static void Backspace (TextEditorData data, Action<TextEditorData> remove
 			} else if (data.Caret.Offset == line.Offset) {
 				DocumentLine lineAbove = data.Document.GetLine (data.Caret.Line - 1);
 				if (lineAbove.Length == 0 && data.HasIndentationTracker && data.Options.IndentStyle == IndentStyle.Virtual) {
+					data.Caret.Location = new DocumentLocation (data.Caret.Line - 1, data.IndentationTracker.GetVirtualIndentationColumn (data.Caret.Line - 1, 1));
 					data.Replace (lineAbove.EndOffsetIncludingDelimiter - lineAbove.DelimiterLength, lineAbove.DelimiterLength, data.IndentationTracker.GetIndentationString (data.Caret.Line - 1, 1));
 				} else {
 					data.Remove (lineAbove.EndOffsetIncludingDelimiter - lineAbove.DelimiterLength, lineAbove.DelimiterLength);

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor/Document/LineSplitter.cs
===================================================================
@@ -154,8 +154,11 @@ public void Initalize (string text)
 				int delimiterEndOffset = delimiter.Offset + delimiter.Length;
 				var newLine = new TreeNode (delimiterEndOffset - offset, delimiter.Length);
 				nodes.Add (newLine);
-				if (offset > 0 && delimiterType != delimiter.UnicodeNewline)
-					LineEndingMismatch = true;
+				if (offset > 0) {
+					LineEndingMismatch |= delimiterType != delimiter.UnicodeNewline;
+				} else {
+					delimiterType = delimiter.UnicodeNewline;
+				}
 				offset = delimiterEndOffset;
 			}
 			var lastLine = new TreeNode (text.Length - offset, 0);

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextArea.cs
===================================================================
@@ -667,6 +667,8 @@ protected override void OnRealized ()
 
 			imContext.ClientWindow = this.GdkWindow;
 			Caret.PositionChanged += CaretPositionChanged;
+
+			SetWidgetBgFromStyle ();
 		}	
 
 		protected override void OnUnrealized ()
@@ -721,6 +723,15 @@ void SetWidgetBgFromStyle ()
 			// when the bg color is differs from the color style bg color (e.g. oblivion style)
 			if (this.textEditorData.ColorStyle != null && GdkWindow != null) {
 				settingWidgetBg = true; //prevent infinite recusion
+
+				Widget parent = this;
+				while (parent.Parent != null && !(parent is ScrolledWindow)) {
+					parent = parent.Parent;
+				}
+
+				if (parent != null) {
+					parent.ModifyBg (StateType.Normal, (HslColor)this.textEditorData.ColorStyle.PlainText.Background);
+				}
 				
 				this.ModifyBg (StateType.Normal, (HslColor)this.textEditorData.ColorStyle.PlainText.Background);
 				settingWidgetBg = false;
@@ -732,7 +743,6 @@ protected override void OnStyleSet (Gtk.Style previous_style)
 		{
 			base.OnStyleSet (previous_style);
 			if (!settingWidgetBg && textEditorData.ColorStyle != null) {
-//				textEditorData.ColorStyle.UpdateFromGtkStyle (this.Style);
 				SetWidgetBgFromStyle ();
 			}
 		}

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextViewMargin.cs
===================================================================
@@ -2442,7 +2442,7 @@ public void DrawRectangleWithRuler (Cairo.Context cr, double x, Cairo.Rectangle
 						cr.Fill ();
 					}
 					cr.Rectangle (divider, area.Y, right - divider, area.Height);
-					cr.SetSourceColor (DimColor (color));
+					cr.SetSourceColor (color);
 					cr.Fill ();
 
 					if (beforeDividerWidth > 0) {

Modified: main/src/core/Mono.Texteditor/Mono.TextEditor/HeightTree.cs
===================================================================
@@ -290,7 +290,7 @@ public void Unfold (FoldMarker marker, int lineNumber, int count)
 		public double LineNumberToY (int lineNumber)
 		{
 			int curLine = System.Math.Min (tree.Root.totalCount, lineNumber);
-			if (curLine < 0)
+			if (curLine <= 0)
 				return 0;
 			lock (tree) {
 				var node = GetSingleLineNode (curLine);

Modified: main/src/core/Mono.Texteditor/SyntaxModes/FSharpSyntaxMode.xml
===================================================================
@@ -63,21 +63,16 @@
 		<End>"""</End>
 	</Span>
 	
-	<Span color="String" rule="String" stopateol="true">
+	<Span color="String" rule="String" stopateol="true" escape='\"'>
 		<Begin>"</Begin>
 		<End>"</End>
 	</Span>
 	
 	<Span rule="Let" stopateol = "false">
-		<Begin color="Keyword(Iteration)" flags="NewWord">let</Begin>
+		<Begin color="Keyword(Iteration)" flags="NewWord">let </Begin>
 		<End>=</End>
 	</Span>
 
-	<Span color = "String" rule="String" stopateol = "true">
-		<Begin>&apos;</Begin>
-		<End>&apos;</End>
-	</Span>
-  
 <!-- 
 	<Span color="String" rule="String" stopateol="true" escape='\'>
 		<Begin>[]</Begin>
@@ -95,6 +90,10 @@
        <Group color="String"/>
 	</Match>
 
+	<Match color="String">'(\w|\\['ntbrafv])'</Match>
+       
+
+
 	<Match color="Number">CSharpNumber</Match>
 
 	<!-- It is really impossible to do some intelligent grouping here, because

Modified: main/src/core/MonoDevelop.Core/BuildVariables.cs
===================================================================
@@ -2,8 +2,8 @@ namespace MonoDevelop
 {
 	public static class BuildInfo
 	{
-		public const string Version = "4.1.7";
-		public const string VersionLabel = "4.1.7";
+		public const string Version = "4.1.13";
+		public const string VersionLabel = "4.1.13";
 		public const string CompatVersion = "4.0";
 	}
 }

Modified: main/src/core/MonoDevelop.Core/MonoDevelop.Core.csproj
===================================================================
@@ -12,6 +12,9 @@
     <BuildInfo>..\..\..\build\bin\buildinfo</BuildInfo>
     <VcRevision>..\..\..\vcrevision</VcRevision>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(BUILD_REVISION)' != ''">
+      <DefineConstants>$(DefineConstants);ENABLE_RAYGUN</DefineConstants>
+  </PropertyGroup>
   <Choose>
     <When Condition=" Exists('c:\Program Files\Git\bin\git.exe') ">
       <PropertyGroup>

Modified: main/src/core/MonoDevelop.Core/MonoDevelop.Core/FileService.cs
===================================================================
@@ -50,11 +50,11 @@ public static class FileService
 		static FileServiceErrorHandler errorHandler;
 		
 		static FileSystemExtension fileSystemChain;
-		static FileSystemExtension defaultExtension = Platform.IsWindows ? new DefaultFileSystemExtension () : new UnixFileSystemExtension () ;
+		static readonly FileSystemExtension defaultExtension = Platform.IsWindows ? new DefaultFileSystemExtension () : new UnixFileSystemExtension () ;
 		
-		static EventQueue eventQueue = new EventQueue ();
+		static readonly EventQueue eventQueue = new EventQueue ();
 		
-		static string applicationRootPath = Path.Combine (PropertyService.EntryAssemblyPath, "..");
+		static readonly string applicationRootPath = Path.Combine (PropertyService.EntryAssemblyPath, "..");
 		public static string ApplicationRootPath {
 			get {
 				return applicationRootPath;
@@ -249,7 +249,7 @@ public static bool RequestFileEdit (string fileName)
 		/// <summary>
 		/// Requests permission for modifying a file
 		/// </summary>
-		/// <param name="fileName">The file to be modified</param>
+		/// <param name="fileName">The file to be modified</param>
 		/// <remarks>This method must be called before trying to write any file. It throws an exception if permission is not granted.</remarks>
 		public static bool RequestFileEdit (FilePath fileName, bool throwIfFails = true)
 		{


Modified: main/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs
===================================================================
@@ -27,6 +27,7 @@
 //
 
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.IO;
 using System.Net;
@@ -50,7 +51,7 @@ public static class LoggingService
 
 		public static readonly FilePath CrashLogDirectory = UserProfile.Current.LogDir.Combine ("LogAgent");
 
-		static RaygunClient raygunClient;
+		static RaygunClient raygunClient = null;
 		static List<ILogger> loggers = new List<ILogger> ();
 		static RemoteLogger remoteLogger;
 		static DateTime timestamp;
@@ -100,10 +101,12 @@ static LoggingService ()
 
 			timestamp = DateTime.Now;
 
+#if ENABLE_RAYGUN
 			string raygunKey = BrandingService.GetString ("RaygunApiKey");
 			if (raygunKey != null) {
 				raygunClient = new RaygunClient (raygunKey);
 			}
+#endif
 
 			//remove the default trace listener on .NET, it throws up horrible dialog boxes for asserts
 			System.Diagnostics.Debug.Listeners.Clear ();
@@ -157,7 +160,7 @@ internal static void ReportUnhandledException (Exception ex, bool willShutDown)
 
 		internal static void ReportUnhandledException (Exception ex, bool willShutDown, bool silently)
 		{
-			ReportUnhandledException (ex, willShutDown, silently);
+			ReportUnhandledException (ex, willShutDown, silently, null);
 		}
 
 		internal static void ReportUnhandledException (Exception ex, bool willShutDown, bool silently, string tag)
@@ -192,8 +195,13 @@ internal static void ReportUnhandledException (Exception ex, bool willShutDown,
 					data = stream.ToArray ();
 				}
 
+				var customData = new Hashtable ();
+				customData["SystemInformation"] = SystemInformation.GetTextDescription ();
+
 				if (raygunClient != null) {
-					raygunClient.Send (ex, tags);
+					ThreadPool.QueueUserWorkItem (delegate {
+						raygunClient.Send (ex, tags, customData, BuildInfo.Version);
+					});
 				}
 
 				// Log to disk only if uploading fails.

Modified: main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Extensions/DotNetProjectSubtypeNode.cs
===================================================================
@@ -154,10 +154,8 @@ public virtual void InitializeHandler (SolutionEntityItem item)
 			MSBuildProjectHandler h = (MSBuildProjectHandler) ProjectExtensionUtil.GetItemHandler (item);
 			UpdateImports (item, h.TargetImports);
 			h.SubtypeGuids.Add (guid);
-			if (UseXBuild)
-				h.UseMSBuildEngineByDefault = true;
-			if (RequireXBuild)
-				h.RequireMSBuildEngine = true;
+			h.UseMSBuildEngineByDefault |= UseXBuild;
+			h.RequireMSBuildEngine |= RequireXBuild;
 		}
 		
 		public void UpdateImports (SolutionEntityItem item, List<string> imports)

Modified: main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs
===================================================================
@@ -195,7 +195,7 @@ ProjectConfigurationInfo[] GetConfigurations (SolutionEntityItem item, Configura
 		
 		IEnumerable<string> IAssemblyReferenceHandler.GetAssemblyReferences (ConfigurationSelector configuration)
 		{
-			if (UseMSBuildEngineForItem (Item)) {
+			if (UseMSBuildEngineForItem (Item, configuration)) {
 				// Get the references list from the msbuild project
 				SolutionEntityItem item = (SolutionEntityItem) Item;
 				RemoteProjectBuilder builder = GetProjectBuilder ();
@@ -217,7 +217,7 @@ IEnumerable<string> IAssemblyReferenceHandler.GetAssemblyReferences (Configurati
 		
 		public override BuildResult RunTarget (IProgressMonitor monitor, string target, ConfigurationSelector configuration)
 		{
-			if (UseMSBuildEngineForItem (Item)) {
+			if (UseMSBuildEngineForItem (Item, configuration)) {
 				SolutionEntityItem item = Item as SolutionEntityItem;
 				if (item != null) {
 					
@@ -342,9 +342,26 @@ public SolutionEntityItem Load (IProgressMonitor monitor, string fileName, MSBui
 		}
 
 		/// <summary>Whether to use the MSBuild engine for the specified item.</summary>
-		internal bool UseMSBuildEngineForItem (SolutionItem item)
+		internal bool UseMSBuildEngineForItem (SolutionItem item, ConfigurationSelector sel, bool checkReferences = true)
 		{
-			return item.UseMSBuildEngine ?? UseMSBuildEngineByDefault;
+			// if the item mandates MSBuild, always use it
+			if (RequireMSBuildEngine)
+				return true;
+			// if the user has set the option, use the setting
+			if (item.UseMSBuildEngine.HasValue)
+				return item.UseMSBuildEngine.Value;
+
+			// If the item type defaults to using MSBuild, only use MSBuild if its direct references also use MSBuild.
+			// This prevents a not-uncommon common error referencing non-MSBuild projects from MSBuild projects
+			// NOTE: This adds about 11ms to the load/build/etc times of the MonoDevelop solution. Doing it recursively
+			// adds well over a second.
+			return UseMSBuildEngineByDefault && (
+				!checkReferences ||
+				item.GetReferencedItems (sel).All (i => {
+					var h = i.ItemHandler as MSBuildProjectHandler;
+					return h != null && h.UseMSBuildEngineForItem (i, sel, false);
+				})
+			);
 		}
 
 		/// <summary>Whether to use the MSBuild engine by default.</summary>

Modified: main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs
===================================================================
@@ -61,7 +61,7 @@ public abstract class Project : SolutionEntityItem
 	{
 		string[] buildActions;
 
-		public Project ()
+		protected Project ()
 		{
 			FileService.FileChanged += OnFileChanged;
 			files = new ProjectFileCollection ();
@@ -405,10 +405,10 @@ public ProjectFile AddDirectory (string relativePath)
 		
 		//HACK: the build code is structured such that support file copying is in here instead of the item handler
 		//so in order to avoid doing them twice when using the msbuild engine, we special-case them
-		bool UsingMSBuildEngine ()
+		bool UsingMSBuildEngine (ConfigurationSelector sel)
 		{
 			var msbuildHandler = ItemHandler as MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectHandler;
-			return msbuildHandler != null && msbuildHandler.UseMSBuildEngineForItem (this);
+			return msbuildHandler != null && msbuildHandler.UseMSBuildEngineForItem (this, sel);
 		}
 
 		protected override BuildResult OnBuild (IProgressMonitor monitor, ConfigurationSelector configuration)
@@ -423,7 +423,7 @@ protected override BuildResult OnBuild (IProgressMonitor monitor, ConfigurationS
 			
 			StringParserService.Properties["Project"] = Name;
 			
-			if (UsingMSBuildEngine ()) {
+			if (UsingMSBuildEngine (configuration)) {
 				return DoBuild (monitor, configuration);
 			}
 			
@@ -649,7 +649,7 @@ protected override void OnClean (IProgressMonitor monitor, ConfigurationSelector
 				return;
 			}
 			
-			if (UsingMSBuildEngine ()) {
+			if (UsingMSBuildEngine (configuration)) {
 				DoClean (monitor, config.Selector);
 				return;
 			}

Added: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchInSolutionSearchCategory.cs
===================================================================
@@ -0,0 +1,118 @@
+//
+// SearchInSolutionSearchCategory.cs
+//
+// Author:
+//       Mike Krüger <[email protected]>
+//
+// Copyright (c) 2013 Xamarin Inc. (http://xamarin.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System.Threading;
+using System.Threading.Tasks;
+using MonoDevelop.Core;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Ide.FindInFiles;
+using System.Linq;
+using MonoDevelop.Ide.Gui;
+
+namespace MonoDevelop.Components.MainToolbar
+{
+	class SearchInSolutionSearchCategory : SearchCategory
+	{
+		public SearchInSolutionSearchCategory () : base (GettextCatalog.GetString("Search"))
+		{
+		}
+
+		public override Task<ISearchDataSource> GetResults (SearchPopupSearchPattern searchPattern, int resultsCount, CancellationToken token)
+		{
+			return Task.Factory.StartNew (delegate {
+				return (ISearchDataSource)new SearchInSolutionDataSource (searchPattern);
+			});
+		}
+
+		public override bool IsValidTag (string tag)
+		{
+			return tag == "search";
+		}
+
+		class SearchInSolutionDataSource : ISearchDataSource
+		{
+			readonly SearchPopupSearchPattern searchPattern;
+
+			public SearchInSolutionDataSource (SearchPopupSearchPattern searchPattern)
+			{
+				this.searchPattern = searchPattern;
+			}
+
+			#region ISearchDataSource implementation
+
+			Xwt.Drawing.Image ISearchDataSource.GetIcon (int item)
+			{
+				return null;
+			}
+
+			string ISearchDataSource.GetMarkup (int item, bool isSelected)
+			{
+				return GettextCatalog.GetString ("Search in solution");
+			}
+
+			string ISearchDataSource.GetDescriptionMarkup (int item, bool isSelected)
+			{
+				return null;
+			}
+
+			MonoDevelop.Ide.CodeCompletion.TooltipInformation ISearchDataSource.GetTooltip (int item)
+			{
+				return null;
+			}
+
+			double ISearchDataSource.GetWeight (int item)
+			{
+				return 0;
+			}
+
+			DomRegion ISearchDataSource.GetRegion (int item)
+			{
+				return DomRegion.Empty;
+			}
+
+			bool ISearchDataSource.CanActivate (int item)
+			{
+				return true;
+			}
+
+			void ISearchDataSource.Activate (int item)
+			{
+				var options = new FilterOptions ();
+				if (PropertyService.Get ("AutoSetPatternCasing", true))
+					options.CaseSensitive = searchPattern.Pattern.Any (c => char.IsUpper (c));
+				FindInFilesDialog.SearchReplace (searchPattern.Pattern, null, new WholeSolutionScope (), options, null);
+			}
+
+			int ISearchDataSource.ItemCount {
+				get {
+					return 1;
+				}
+			}
+			#endregion
+		}
+	}
+}
+

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Components.MainToolbar/SearchPopupWindow.cs
===================================================================
@@ -119,6 +119,7 @@ public SearchPopupWindow ()
 			categories.Add (new ProjectSearchCategory (this));
 			categories.Add (new FileSearchCategory (this));
 			categories.Add (new CommandSearchCategory (this));
+			categories.Add (new SearchInSolutionSearchCategory ());
 			layout = new Pango.Layout (PangoContext);
 			headerLayout = new Pango.Layout (PangoContext);
 
@@ -127,6 +128,7 @@ public SearchPopupWindow ()
 
 			Events = Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonMotionMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.ExposureMask | Gdk.EventMask.PointerMotionMask;
 			ItemActivated += (sender, e) => OpenFile ();
+			/*
 			SizeRequested += delegate(object o, SizeRequestedArgs args) {
 				if (inResize)
 					return;
@@ -139,7 +141,7 @@ public SearchPopupWindow ()
 						Visible = true;
 					inResize = false;
 				}
-			};
+			};*/
 		}
 		bool inResize = false;
 
@@ -214,7 +216,7 @@ public void Update (SearchPopupSearchPattern pattern)
 				var cat = _cat;
 				var token = src.Token;
 				cat.GetResults (pattern, maxItems, token).ContinueWith (t => {
-					if (t.IsCanceled)
+					if (t.IsCanceled)
 						return;
 					if (t.IsFaulted) {
 						LoggingService.LogError ("Error getting search results", t.Exception);
@@ -304,10 +306,11 @@ Gdk.Size GetIdealSize ()
 		protected override void OnSizeRequested (ref Requisition requisition)
 		{
 			base.OnSizeRequested (ref requisition);
-
-			Gdk.Size idealSize = GetIdealSize ();
-			requisition.Width = idealSize.Width;
-			requisition.Height = idealSize.Height;
+			if (!inResize) {
+				Gdk.Size idealSize = GetIdealSize ();
+				requisition.Width = idealSize.Width;
+				requisition.Height = idealSize.Height;
+			}
 		}
 
 		ItemIdentifier GetItemAt (double px, double py)

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs
===================================================================
@@ -126,9 +126,17 @@ public virtual int CompareTo (object obj)
 
 		public static int Compare (ICompletionData a, ICompletionData b)
 		{
-			var result =  ((a.DisplayFlags & DisplayFlags.Obsolete) == (b.DisplayFlags & DisplayFlags.Obsolete))
-				? StringComparer.OrdinalIgnoreCase.Compare (a.DisplayText, b.DisplayText)
-					: (a.DisplayFlags & DisplayFlags.Obsolete) != 0 ? 1 : -1;
+			var result =  ((a.DisplayFlags & DisplayFlags.Obsolete) == (b.DisplayFlags & DisplayFlags.Obsolete)) ? StringComparer.OrdinalIgnoreCase.Compare (a.DisplayText, b.DisplayText) : (a.DisplayFlags & DisplayFlags.Obsolete) != 0 ? 1 : -1;
+			if (result == 0) {
+				var aIsImport = (a.DisplayFlags & DisplayFlags.IsImportCompletion) != 0;
+				var bIsImport = (b.DisplayFlags & DisplayFlags.IsImportCompletion) != 0;
+				if (!aIsImport && bIsImport)
+					return -1;
+				if (aIsImport && !bIsImport)
+					return 1;
+				if (aIsImport && bIsImport)
+					return StringComparer.Ordinal.Compare (a.Description, b.Description);
+			}
 			return result;
 		}
 

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/FindInFilesDialog.cs
===================================================================
@@ -25,8 +25,8 @@
 // THE SOFTWARE.
 
 using System;
-using System.Linq;
-using System.Threading;
+using System.Linq;
+using System.Threading;
 using System.Text;
 using MonoDevelop.Core;
 using MonoDevelop.Ide.Gui;
@@ -38,7 +38,7 @@
 namespace MonoDevelop.Ide.FindInFiles
 {
 	public partial class FindInFilesDialog : Gtk.Dialog
-	{
+	{
 		readonly bool writeScope = true;
 		
 		enum SearchScope {
@@ -48,15 +48,15 @@ enum SearchScope {
 			Directories,
 			CurrentDocument,
 			Selection
-		}
+		}
 		
-		CheckButton checkbuttonRecursively;
+		CheckButton checkbuttonRecursively;
 		ComboBoxEntry comboboxentryReplace;
 		ComboBoxEntry comboboxentryPath;
 		SearchEntry searchentryFileMask;
 		Button buttonBrowsePaths;
 		Button buttonReplace;
-		Label labelFileMask;
+		Label labelFileMask;
 		Label labelReplace;
 		Label labelPath;
 		HBox hboxPath;
@@ -509,8 +509,8 @@ protected override void OnSizeRequested (ref Requisition requisition)
 		{
 			base.OnSizeRequested (ref requisition);
 			requisition.Width = Math.Max (480, requisition.Width);
-		}
-
+		}
+
 		static void ComboboxentryPathDestroyed (object sender, EventArgs e)
 		{
 			StoreHistory ("MonoDevelop.FindReplaceDialogs.PathHistory", (ComboBoxEntry)sender);
@@ -530,8 +530,8 @@ void ButtonBrowsePathsClicked (object sender, EventArgs e)
 			
 			if (dlg.Run ())
 				comboboxentryPath.Entry.Text = dlg.SelectedFile;
-		}
-
+		}
+
 		void CheckbuttonRecursivelyDestroyed (object sender, EventArgs e)
 		{
 			properties.Set ("SearchPathRecursively", ((CheckButton)sender).Active);
@@ -675,10 +675,10 @@ Scope GetScope ()
 				break;
 			case SearchScope.CurrentProject:
 				var currentSelectedProject = IdeApp.ProjectOperations.CurrentSelectedProject;
-				if (currentSelectedProject != null) {
+				if (currentSelectedProject != null) {
 					scope = new WholeProjectScope (currentSelectedProject);
 					break;
-				}
+				}
 				if (IdeApp.Workspace.IsOpen && IdeApp.ProjectOperations.CurrentSelectedSolution != null) {
 					var question = GettextCatalog.GetString (
 						"Currently there is no project selected. Search in the solution instead ?");
@@ -720,21 +720,21 @@ FilterOptions GetFilterOptions ()
 				CaseSensitive = checkbuttonCaseSensitive.Active,
 				RegexSearch = checkbuttonRegexSearch.Active,
 				WholeWordsOnly = checkbuttonWholeWordsOnly.Active
-			};
+			};
 		}
 
 		static FindReplace find;
 		void HandleReplaceClicked (object sender, EventArgs e)
 		{
-			SearchReplace (comboboxentryReplace.Entry.Text ?? "");
+			SearchReplace (comboboxentryFind.Entry.Text, comboboxentryReplace.Entry.Text ?? "", GetScope (), GetFilterOptions (), () => UpdateStopButton ());
 		}
 
 		void HandleSearchClicked (object sender, EventArgs e)
 		{
-			SearchReplace (null);
-		}
-
-		readonly List<ISearchProgressMonitor> searchesInProgress = new List<ISearchProgressMonitor> ();
+			SearchReplace (comboboxentryFind.Entry.Text, null, GetScope (), GetFilterOptions (), () => UpdateStopButton ());
+		}
+
+		readonly static List<ISearchProgressMonitor> searchesInProgress = new List<ISearchProgressMonitor> ();
 		void UpdateStopButton ()
 		{
 			buttonStop.Sensitive = searchesInProgress.Count > 0;
@@ -750,7 +750,7 @@ void ButtonStopClicked (object sender, EventArgs e)
 			}
 		}
 
-		void SearchReplace (string replacePattern)
+		internal static void SearchReplace (string findPattern, string replacePattern, Scope scope, FilterOptions options, System.Action UpdateStopButton)
 		{
 			if (find != null && find.IsRunning) {
 				if (!MessageService.Confirm (GettextCatalog.GetString ("There is a search already in progress. Do you want to stop it?"), AlertButton.Stop))
@@ -762,14 +762,12 @@ void SearchReplace (string replacePattern)
 				}
 			}
 			
-			Scope scope = GetScope ();
 			if (scope == null)
 				return;
 			
 			find = new FindReplace ();
 
-			string pattern = comboboxentryFind.Entry.Text;
-			FilterOptions options = GetFilterOptions ();
+			string pattern = findPattern;
 			if (!find.ValidatePattern (options, pattern)) {
 				MessageService.ShowError (GettextCatalog.GetString ("Search pattern is invalid"));
 				return;
@@ -786,7 +784,11 @@ void SearchReplace (string replacePattern)
 
 					lock (searchesInProgress)
 						searchesInProgress.Add (searchMonitor);
-					UpdateStopButton ();
+					if (UpdateStopButton != null) {
+						Application.Invoke (delegate {
+							UpdateStopButton ();
+						});
+					}
 
 					DateTime timer = DateTime.Now;
 					string errorMessage = null;
@@ -797,7 +799,7 @@ void SearchReplace (string replacePattern)
 							if (searchMonitor.IsCancelRequested)
 								return;
 							results.Add (result);
-						}
+						}
 						searchMonitor.ReportResults (results);
 					} catch (Exception ex) {
 						errorMessage = ex.Message;
@@ -821,9 +823,11 @@ void SearchReplace (string replacePattern)
 					searchMonitor.Log.WriteLine (GettextCatalog.GetString ("Search time: {0} seconds."), (DateTime.Now - timer).TotalSeconds);
 					searchesInProgress.Remove (searchMonitor);
 				}
-				Application.Invoke (delegate {
-					UpdateStopButton ();
-				});
+				if (UpdateStopButton != null) {
+					Application.Invoke (delegate {
+						UpdateStopButton ();
+					});
+				}
 			});
 		}
 	}

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/ReferencesFinder.cs
===================================================================
@@ -253,7 +253,7 @@ internal static IEnumerable<IEntity> CollectMembers (IType type)
 					yield return c;
 			}
 
-			foreach (var m in type.GetMethods (m  => m.IsDestructor)) {
+			foreach (var m in type.GetMethods (m  => m.IsDestructor, GetMemberOptions.IgnoreInheritedMembers)) {
 				yield return m;
 			}
 		}

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.FindInFiles/SearchCollector.cs
===================================================================
@@ -161,7 +161,7 @@ IEnumerable<FileList> CollectFiles ()
 				if (searchProjectAdded) break;
 			}
 			foreach (var project in collectedProjects)
-				yield return new FileList (project, TypeSystemService.GetProjectContext (project), project.Files.Select (f => f.FilePath));
+				yield return new FileList (project, TypeSystemService.GetProjectContext (project), project.Files.Where (f => f.BuildAction == BuildAction.Compile).Select (f => f.FilePath));
 			
 			foreach (var files in collectedFiles)
 				yield return new FileList (files.Key, TypeSystemService.GetProjectContext (files.Key), files.Value.Select (f => (FilePath)f));

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/TypeSystemService.cs
===================================================================
@@ -1674,7 +1674,7 @@ static void OnProjectModified (object sender, SolutionItemModifiedEventArgs args
 
 		#endregion
 
-		public static void Unload (WorkspaceItem item)
+		internal static void Unload (WorkspaceItem item)
 		{
 			var ws = item as Workspace;
 			if (ws != null) {
@@ -1696,23 +1696,23 @@ public static void Unload (WorkspaceItem item)
 			}
 		}
 
-		public static void UnloadProject (Project project)
+		internal static void UnloadProject (Project project)
 		{
-			lock (projectWrapperUpdateLock) {
-				if (DecLoadCount (project) != 0)
-					return;
-				Counters.ParserService.ProjectsLoaded--;
-				project.FileAddedToProject -= OnFileAdded;
-				project.FileRemovedFromProject -= OnFileRemoved;
-				project.FileRenamedInProject -= OnFileRenamed;
-				project.Modified -= OnProjectModified;
+			if (DecLoadCount (project) != 0)
+				return;
+			Counters.ParserService.ProjectsLoaded--;
+			project.FileAddedToProject -= OnFileAdded;
+			project.FileRemovedFromProject -= OnFileRemoved;
+			project.FileRenamedInProject -= OnFileRenamed;
+			project.Modified -= OnProjectModified;
 				
-				var wrapper = projectContents [project];
+			ProjectContentWrapper wrapper;
+			lock (projectWrapperUpdateLock) {
+				wrapper = projectContents [project];
 				projectContents.Remove (project);
-
-				StoreProjectCache (project, wrapper);
-				OnProjectUnloaded (new ProjectUnloadEventArgs (project, wrapper));
 			}
+			StoreProjectCache (project, wrapper);
+			OnProjectUnloaded (new ProjectUnloadEventArgs (project, wrapper));
 		}
 
 		public static event EventHandler<ProjectUnloadEventArgs> ProjectUnloaded;
@@ -2696,45 +2696,41 @@ static void CheckModifiedFiles (Project project, ProjectFile[] projectFiles, Pro
 					var modifiedFiles = new List<ProjectFile> ();
 					var oldFileNewFile = new List<Tuple<ProjectFile, IUnresolvedFile>> ();
 
-					lock (projectWrapperUpdateLock) {
-						foreach (var file in projectFiles) {
-							if (file.BuildAction == null)
-								continue;
-							// if the file is already inside the content a parser exists for it, if not check if it can be parsed.
-							var oldFile = cnt.GetFile (file.Name);
-							oldFileNewFile.Add (Tuple.Create (file, oldFile));
-						}
+					foreach (var file in projectFiles) {
+						if (file.BuildAction == null)
+							continue;
+						// if the file is already inside the content a parser exists for it, if not check if it can be parsed.
+						var oldFile = cnt.GetFile (file.Name);
+						oldFileNewFile.Add (Tuple.Create (file, oldFile));
 					}
 
 					// This is disk intensive and slow
 					oldFileNewFile.RemoveAll (t => !IsFileModified (t.Item1, t.Item2));
 
-					lock (projectWrapperUpdateLock) {
-						foreach (var v in oldFileNewFile) {
-							var file = v.Item1;
-							var oldFile = v.Item2;
-							if (oldFile == null) {
-								var parser = TypeSystemService.GetParser (DesktopService.GetMimeTypeForUri (file.Name), file.BuildAction);
-								if (parser == null)
-									continue;
-							}
-							modifiedFiles.Add (file);
+					foreach (var v in oldFileNewFile) {
+						var file = v.Item1;
+						var oldFile = v.Item2;
+						if (oldFile == null) {
+							var parser = TypeSystemService.GetParser (DesktopService.GetMimeTypeForUri (file.Name), file.BuildAction);
+							if (parser == null)
+								continue;
 						}
-						var tags = content.GetExtensionObject <ProjectCommentTags> ();
-
-						// check if file needs to be removed from project content 
-						foreach (var file in cnt.Files) {
-							if (project.GetProjectFile (file.FileName) == null) {
-								content.UpdateContent (c => c.RemoveFiles (file.FileName));
-								content.InformFileRemoved (new ParsedFileEventArgs (file));
-								if (tags != null)
-									tags.RemoveFile (project, file.FileName);
-							}
+						modifiedFiles.Add (file);
+					}
+					var tags = content.GetExtensionObject <ProjectCommentTags> ();
+
+					// check if file needs to be removed from project content 
+					foreach (var file in cnt.Files) {
+						if (project.GetProjectFile (file.FileName) == null) {
+							content.UpdateContent (c => c.RemoveFiles (file.FileName));
+							content.InformFileRemoved (new ParsedFileEventArgs (file));
+							if (tags != null)
+								tags.RemoveFile (project, file.FileName);
 						}
-					
-						if (modifiedFiles.Count > 0)
-							QueueParseJob (content, modifiedFiles);
 					}
+				
+					if (modifiedFiles.Count > 0)
+						QueueParseJob (content, modifiedFiles);
 				} catch (Exception e) {
 					LoggingService.LogError ("Exception in check modified files.", e);
 				} finally {

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj
===================================================================
@@ -22,8 +22,8 @@
     </Execution>
     <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
     <DefineConstants>DEBUG</DefineConstants>
-    <GenerateDocumentation>true</GenerateDocumentation>
     <NoWarn>1591;1573</NoWarn>
+    <DocumentationFile>..\..\..\build\bin\MonoDevelop.Ide.xml</DocumentationFile>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
@@ -36,8 +36,8 @@
     </Execution>
     <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
     <DebugSymbols>true</DebugSymbols>
-    <GenerateDocumentation>true</GenerateDocumentation>
     <NoWarn>1591;1573</NoWarn>
+    <DocumentationFile>..\..\..\build\AddIns\MonoDevelop.Ide.xml</DocumentationFile>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
@@ -2266,6 +2266,7 @@
     <Compile Include="MonoDevelop.Ide.TypeSystem\IRefactoringContext.cs" />
     <Compile Include="MonoDevelop.Ide.Gui.Pads.ProjectPad\ImplicitFrameworkAssemblyReferenceNodeBuilder.cs" />
     <Compile Include="MonoDevelop.Ide.Gui.Pads.ProjectPad\PortableFrameworkSubsetNodeBuilder.cs" />
+    <Compile Include="MonoDevelop.Components.MainToolbar\SearchInSolutionSearchCategory.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="Makefile.am" />

Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs
===================================================================
@@ -501,8 +501,12 @@ void SetupExceptionManager ()
 		
 		void HandleException (Exception ex, bool willShutdown)
 		{
-			// Log the crash to the MonoDevelop.log file first:
-			LoggingService.LogInternalError (string.Format ("An unhandled exception has occured. Terminating MonoDevelop? {0}", willShutdown), ex);
+			var msg = String.Format ("An unhandled exception has occured. Terminating MonoDevelop? {0}", willShutdown);
+
+			if (willShutdown)
+				LoggingService.LogFatalError (msg, ex);
+			else
+				LoggingService.LogCriticalError (msg, ex);
 		}
 		
 		/// <summary>SDBM-style hash, bounded to a range of 1000.</summary>

Modified: main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/ClipboardTests.cs
===================================================================
@@ -88,6 +88,7 @@ public void TestUndoSteps ()
 		public void TestPasteDoesntInsertVirtualIndent ()
 		{
 			var data = VirtualIndentModeTests.CreateData ("");
+			data.Options.DefaultEolMarker = "\n";
 			data.Caret.Location =  new DocumentLocation (1, data.IndentationTracker.GetVirtualIndentationColumn (1, 1));
 			var clipboard = Clipboard.Get (Mono.TextEditor.ClipboardActions.CopyOperation.CLIPBOARD_ATOM);
 			clipboard.Text = "\n\n";

Modified: main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/HtmlWriterTests.cs
===================================================================
@@ -36,6 +36,8 @@ public class HtmlWriterTests : TextEditorTestBase
 		[Test]
 		public void TestSimpleCSharpHtml ()
 		{
+			if (Platform.IsWindows)
+				Assert.Inconclusive ();
 			var data = Create ("class Foo {}");
 			data.ColorStyle = SyntaxModeService.GetColorStyle ("TangoLight");
 			data.Document.SyntaxMode = SyntaxModeService.GetSyntaxMode (data.Document, "text/x-csharp");
@@ -57,6 +59,8 @@ public void TestSimpleCSharpHtml ()
 		[Test]
 		public void TestXml ()
 		{
+			if (Platform.IsWindows)
+				Assert.Inconclusive ();
 			var data = Create (
 @"<foo
 	attr1 = ""1""

Modified: main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/RtfWriterTests.cs
===================================================================
@@ -36,6 +36,8 @@ public class RtfWriterTests : TextEditorTestBase
 		[Test]
 		public void TestSimpleCSharpRtf ()
 		{
+			if (Platform.IsWindows)
+				Assert.Inconclusive ();
 			var data = Create ("class Foo {}");
 			data.ColorStyle = SyntaxModeService.GetColorStyle ("TangoLight");
 			data.Document.SyntaxMode = SyntaxModeService.GetSyntaxMode (data.Document, "text/x-csharp");
@@ -58,6 +60,8 @@ public void TestSimpleCSharpRtf ()
 		[Test]
 		public void TestBug5628 ()
 		{
+			if (Platform.IsWindows)
+				Assert.Inconclusive ();
 			var data = Create ("class Foo {}");
 			data.ColorStyle = SyntaxModeService.GetColorStyle ("TangoLight");
 			string generatedRtf = RtfWriter.GenerateRtf (data);
@@ -79,6 +83,8 @@ public void TestBug5628 ()
 		[Test]
 		public void TestBug7386 ()
 		{
+			if (Platform.IsWindows)
+				Assert.Inconclusive ();
 			var data = Create ("✔");
 			data.ColorStyle = SyntaxModeService.GetColorStyle ("TangoLight");
 			string generatedRtf = RtfWriter.GenerateRtf (data);
@@ -98,6 +104,8 @@ public void TestBug7386 ()
 		[Test]
 		public void TestXml ()
 		{
+			if (Platform.IsWindows)
+				Assert.Inconclusive ();
 			var data = Create (
 				@"<foo
 	attr1 = ""1""

Modified: main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/TextFileReaderTests.cs
===================================================================
@@ -135,6 +135,14 @@ public void TestBug4564 ()
 			byte[] input = new byte[] { (byte)'a',(byte)'a', 0xEF, 0xBB, 0xBF };
 			Assert.AreEqual ("aa\uFEFF", TextFileUtility.GetText (input));
 		}
+
+		[Test()]
+		public void TestGB18030 ()
+		{
+			var src = "南北西东";
+			byte[] input = Encoding.GetEncoding (54936).GetBytes (src);
+			Assert.AreEqual (src, TextFileUtility.GetText (input));
+		}
 	}
 }
 

Modified: main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests/VirtualIndentModeTests.cs
===================================================================
@@ -442,6 +442,28 @@ public void TestEmptyLineSelectionBehaviorMoveDown ()
 			Assert.AreEqual (new DocumentLocation (2, 3), data.MainSelection.Anchor);
 
 		}
+
+		/// <summary>
+		/// Bug 15476 - Cursor is getting stuck when deleting last empty line with indents 
+		/// </summary>
+		[Test]
+		public void TestBug15476 ()
+		{
+			var data = CreateData ("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n\t\t\r\n\r\n");
+			data.Options.DefaultEolMarker = "\r\n";
+			data.IndentationTracker = new DefaultIndentationTracker (data.Document);
+			data.Caret.Location = new DocumentLocation (4, 3);
+
+			DeleteActions.Backspace (data);
+			Assert.AreEqual (new DocumentLocation (4, 2), data.Caret.Location);
+			DeleteActions.Backspace (data);
+			Assert.AreEqual (new DocumentLocation (4, 1), data.Caret.Location);
+
+			DeleteActions.Backspace (data);
+			Assert.AreEqual (new DocumentLocation (3, 3), data.Caret.Location);
+
+		}
+
 	}
 }
 

Modified: main/tests/Makefile.am
===================================================================
@@ -19,6 +19,9 @@ TEST_ASSEMBLIES_MAC = \
 	$(TEST_DIR)/MonoDevelop.VersionControl.Subversion.Tests.dll \
 	$(TEST_DIR)/MacPlatform.Tests.dll
 
+TEST_ASSEMBLIES_WINDOWS = \
+	$(TEST_DIR)/VersionControl.Subversion.Win32.Tests.dll
+
 TEST_ASSEMBLIES_COMMON = \
 	$(TEST_DIR)/MonoDevelop.VersionControl.Git.Tests.dll \
 	$(TEST_DIR)/UnitTests.dll \
@@ -36,6 +39,10 @@ ALL_CSPROJ += $(TEST_PROJECTS_MAC)
 TEST_ASSEMBLIES += $(TEST_ASSEMBLIES_MAC)
 endif
 
+if ENABLE_WINDOWSPLATFORM
+TEST_ASSEMBLIES += $(TEST_ASSEMBLIES_WINDOWS)
+endif
+
 test:
 	@if test -n "$(assembly)"; then \
 		for asm in $(TEST_ASSEMBLIES); do \

Modified: main/tests/TestRunner/MonoDevelop.TestRunner.addin.xml
===================================================================
@@ -6,11 +6,11 @@
        description = "Test runner for the MonoDevelop unit tests"
        category    = "MonoDevelop Core"
        isroot      = "false"
-       version     = "4.1.7"
+       version     = "4.1.13"
        compatVersion = "4.0">
 
 	<Dependencies>
-		<Addin id="Core" version="4.1.7"/>
+		<Addin id="Core" version="4.1.13"/>
 	</Dependencies>
 	
 	<Extension path = "/MonoDevelop/Core/Applications">

Modified: main/tests/TestRunner/Runner.cs
===================================================================
@@ -30,31 +30,33 @@
 using System.Collections.Generic;
 using Mono.Addins;
 using System.Linq;
-using Mono.Addins.Description;
+using Mono.Addins.Description;
+using System.Diagnostics;
 
 namespace MonoDevelop.Tests.TestRunner
 {
 	public class Runer: IApplication
 	{
 		public int Run (string[] arguments)
-		{
+		{
 			var args = new List<string> (arguments);
 			bool useGuiUnit = false;
 			foreach (var ar in args) {
-				if ((ar.EndsWith (".dll") || ar.EndsWith (".exe")) && File.Exists (ar)) {
+				if ((ar.EndsWith (".dll", StringComparison.OrdinalIgnoreCase) || ar.EndsWith (".exe", StringComparison.OrdinalIgnoreCase)) && File.Exists (ar)) {
 					try {
-						var asm = Assembly.LoadFrom (ar);
-						HashSet<string> ids = new HashSet<string> ();
+						var path = Path.GetFullPath (ar);
+						var asm = Assembly.LoadFrom (path);
+						var ids = new HashSet<string> ();
 						foreach (var aname in asm.GetReferencedAssemblies ()) {
 							if (aname.Name == "GuiUnit") {
-								Assembly.LoadFile (Path.Combine (Path.GetDirectoryName (ar), "GuiUnit.exe"));
+								Assembly.LoadFile (Path.Combine (Path.GetDirectoryName (path), "GuiUnit.exe"));
 								useGuiUnit = true;
 							}
 							ids.UnionWith (GetAddinsFromReferences (aname));
 						}
 
 						foreach (var id in ids)
-							AddinManager.LoadAddin (new Mono.Addins.ConsoleProgressStatus (false), id);
+							AddinManager.LoadAddin (new ConsoleProgressStatus (false), id);
 
 					} catch (Exception ex) {
 						Console.WriteLine (ex);
@@ -64,15 +66,14 @@ public int Run (string[] arguments)
 			if (useGuiUnit) {
 				var runnerType = Type.GetType ("GuiUnit.TestRunner, GuiUnit");
 				var method = runnerType.GetMethod ("Main", BindingFlags.Public | BindingFlags.Static);
-				return (int) method.Invoke (null, new [] { args.ToArray () });
-			} else {
-				args.RemoveAll (a => a.StartsWith ("-port="));
-				args.Add ("-domain=None");
-				return NUnit.ConsoleRunner.Runner.Main (args.ToArray ());
+				return (int)method.Invoke (null, new [] { args.ToArray () });
 			}
+			args.RemoveAll (a => a.StartsWith ("-port=", StringComparison.Ordinal));
+			args.Add ("-domain=None");
+			return NUnit.ConsoleRunner.Runner.Main (args.ToArray ());
 		}
 
-		IEnumerable<string> GetAddinsFromReferences (AssemblyName aname)
+		static IEnumerable<string> GetAddinsFromReferences (AssemblyName aname)
 		{
 			foreach (var adn in AddinManager.Registry.GetAddins ().Union (AddinManager.Registry.GetAddinRoots ())) {
 				foreach (ModuleDescription m in adn.Description.AllModules) {

Modified: main/tests/TestRunner/TestRunner.csproj
===================================================================
@@ -63,10 +63,6 @@
       <Name>Mono.Addins</Name>
       <Private>False</Private>
     </ProjectReference>
-    <ProjectReference Include="..\..\external\guiunit\src\framework\GuiUnit_NET_4_0.csproj">
-      <Project>{E13A0A7B-4DE6-43ED-A139-41052D065A9B}</Project>
-      <Name>GuiUnit_NET_4_0</Name>
-    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="MonoDevelop.TestRunner.addin.xml">

Modified: main/tests/UnitTests/MonoDevelop.CSharpBinding/CSharpTextEditorIndentationTests.cs
===================================================================
@@ -369,7 +369,7 @@ public void TestBug15335 ()
 			var data = Create ("namespace Foo\n{\n\tpublic class Bar\n\t{\n\t\tvoid Test()\r\n\t\t{\r\n\t\t\t/* foo$\n\t\t}\n\t}\n}\n");
 			MiscActions.InsertNewLine (data);
 
-			CheckOutput (data, "namespace aFoo\n{\n\tpublic class Bar\n\t{\n\t\tvoid Test()\r\n\t\t{\r\n\t\t\t/* foo\n\t\t\t * $\n\t\t}\n\t}\n}\n");
+			CheckOutput (data, "namespace Foo\n{\n\tpublic class Bar\n\t{\n\t\tvoid Test()\r\n\t\t{\r\n\t\t\t/* foo\n\t\t\t * $\n\t\t}\n\t}\n}\n");
 		}
 	}
 }

Modified: main/tests/UnitTests/MonoDevelop.Projects/LocalCopyTests.cs
===================================================================
@@ -50,16 +50,19 @@ public void CheckLocalCopy ()
 			
 			AssertCleanBuild (sol, "Debug");
 			AssertCleanBuild (sol, "Release");
+
+			string dllDebug = Platform.IsWindows ? ".pdb" : ".dll.mdb";
+			string exeDebug = Platform.IsWindows ? ".pdb" : ".exe.mdb";
 			
 			AssertOutputFiles (sol, "VSLocalCopyTest", "Debug", new string[] {
 				"ClassLibrary1.dll",
-				"ClassLibrary1.dll.mdb",
+				"ClassLibrary1" + dllDebug,
 				"ClassLibrary2.dll",
-				"ClassLibrary2.dll.mdb",
+				"ClassLibrary2" + dllDebug,
 				"ClassLibrary4.dll",
-				"ClassLibrary4.dll.mdb",
+				"ClassLibrary4" + dllDebug,
 				"VSLocalCopyTest.exe",
-				"VSLocalCopyTest.exe.mdb",
+				"VSLocalCopyTest" + exeDebug,
 				"TextFile1.txt",
 				"TextFile2.txt",
 				"app.config",
@@ -87,9 +90,9 @@ public void CheckLocalCopy ()
 			
 			AssertOutputFiles (sol, "ClassLibrary1", "Debug", new string[] {
 				"ClassLibrary1.dll",
-				"ClassLibrary1.dll.mdb",
+				"ClassLibrary1" + dllDebug,
 				"ClassLibrary2.dll",
-				"ClassLibrary2.dll.mdb",
+				"ClassLibrary2" + dllDebug,
 				"TextFile1.txt",
 				"TextFile2.txt",
 				"foo/bar.txt",
@@ -105,7 +108,7 @@ public void CheckLocalCopy ()
 			
 			AssertOutputFiles (sol, "ClassLibrary2", "Debug", new string[] {
 				"ClassLibrary2.dll",
-				"ClassLibrary2.dll.mdb",
+				"ClassLibrary2" + dllDebug,
 				"TextFile2.txt"
 			});
 			
@@ -116,7 +119,7 @@ public void CheckLocalCopy ()
 			
 			AssertOutputFiles (sol, "ClassLibrary3", "Debug", new string[] {
 				"ClassLibrary3.dll",
-				"ClassLibrary3.dll.mdb"
+				"ClassLibrary3" + dllDebug
 			});
 			
 			AssertOutputFiles (sol, "ClassLibrary3", "Release", new string[] {
@@ -125,7 +128,7 @@ public void CheckLocalCopy ()
 			
 			AssertOutputFiles (sol, "ClassLibrary4", "Debug", new string[] {
 				"ClassLibrary4.dll",
-				"ClassLibrary4.dll.mdb"
+				"ClassLibrary4" + dllDebug
 			});
 			
 			AssertOutputFiles (sol, "ClassLibrary4", "Release", new string[] {
@@ -134,7 +137,7 @@ public void CheckLocalCopy ()
 			
 			AssertOutputFiles (sol, "ClassLibrary5", "Debug", new string[] {
 				"ClassLibrary5.dll",
-				"ClassLibrary5.dll.mdb",
+				"ClassLibrary5" + dllDebug,
 			});
 			
 			AssertOutputFiles (sol, "ClassLibrary5", "Release", new string[] {

Modified: main/wintest.sh
===================================================================
@@ -1,8 +1,15 @@
 if [ $# -lt 1 ]; then
 	build/bin/mdtool run-md-tests build/tests/UnitTests.dll
 	build/bin/mdtool run-md-tests build/tests/*.Tests.dll
+	build/bin/mdtool run-md-tests external/nrefactory/bin/Debug/ICSharpCode.NRefactory.Tests.dll
 else
 	for arg in $@; do
-		build/bin/mdtool run-md-tests $arg
+		if [[ $arg == *ICSharpCode.NRefactory.Tests.dll ]]; then
+			arg="external/nrefactory/bin/Debug/ICSharpCode.NRefactory.Tests.dll"
+		elif [[ $arg != build/tests/* ]]; then
+			arg="build/tests/$arg"
+		fi
+
+		(build/bin/mdtool run-md-tests $arg) || exit $?
 	done
 fi

Modified: version-checks
===================================================================
@@ -17,7 +17,7 @@ DEP[0]=md-addins
 DEP_NAME[0]=MDADDINS
 DEP_PATH[0]=${top_srcdir}/../md-addins
 DEP_MODULE[0][email protected]:xamarin/md-addins.git
-DEP_NEEDED_VERSION[0]=af8f48e9ad4b23b80909154b9eeee184eadb0bde
+DEP_NEEDED_VERSION[0]=fc3c28c2d66f23b722e4116014af5c57bce74b97
 DEP_BRANCH_AND_REMOTE[0]="retina origin/retina"
 
 # heap-shot
_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.