diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs
index f4c1b08f60..5135306bfc 100644
--- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs
+++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs
@@ -37,8 +37,6 @@ namespace Grunwald.BooBinding
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
if (window != null && window.ViewContent is IEditable) {
- StringBuilder errorBuilder = new StringBuilder();
-
CompilerErrorCollection errors = new CompilerErrorCollection();
CompilerWarningCollection warnings = new CompilerWarningCollection();
Module module;
@@ -48,13 +46,18 @@ namespace Grunwald.BooBinding
string fileName = window.ViewContent.FileName ?? window.ViewContent.UntitledName;
module = Parser.ParseModule(compileUnit, r, ApplySettings(fileName, errors, warnings), out specials);
}
- foreach (CompilerError error in errors) {
- errorBuilder.AppendLine(error.ToString());
- }
- if (warnings.Count > 0) {
- foreach (CompilerWarning warning in warnings) {
- errorBuilder.AppendLine(warning.ToString());
+ if (module == null) {
+ StringBuilder errorBuilder = new StringBuilder();
+ foreach (CompilerError error in errors) {
+ errorBuilder.AppendLine(error.ToString());
+ }
+ if (warnings.Count > 0) {
+ foreach (CompilerWarning warning in warnings) {
+ errorBuilder.AppendLine(warning.ToString());
+ }
}
+ MessageService.ShowError(errorBuilder.ToString());
+ return;
}
using (StringWriter w = new StringWriter()) {
foreach (CompilerError error in errors) {
diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs
index 23425400fc..a672b3d821 100644
--- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs
+++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs
@@ -247,6 +247,8 @@ namespace NRefactoryToBooConverter
return B.BinaryOperatorType.Modulus;
case BinaryOperatorType.Multiply:
return B.BinaryOperatorType.Multiply;
+ case BinaryOperatorType.NullCoalescing:
+ return B.BinaryOperatorType.Or;
case BinaryOperatorType.Power:
return B.BinaryOperatorType.Exponentiation;
case BinaryOperatorType.ReferenceEquality:
diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs
index c449e501dd..ceb23c8071 100644
--- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs
+++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs
@@ -214,19 +214,19 @@ namespace NRefactoryToBooConverter.Tests
[Test]
public void CreateEmptyArray()
{
- TestExpr("new int[] { }", "(,)");
+ TestExpr("new int[] { }", "(of System.Int32: ,)");
}
[Test]
public void CreateArrayWithOneElement()
{
- TestExpr("new int[] { 1 }", "(1,)");
+ TestExpr("new int[] { 1 }", "(of System.Int32: 1)");
}
[Test]
public void CreateArrayWithTwoElements()
{
- TestExpr("new int[] { 1 , 2 }", "(1, 2)");
+ TestExpr("new int[] { 1 , 2 }", "(of System.Int32: 1, 2)");
}
[Test]
@@ -253,10 +253,10 @@ namespace NRefactoryToBooConverter.Tests
TestExpr("a ? b : c", "a ? b : c");
}
- [Test, Ignore("ConditionalExpression does not have a boo syntax")]
+ [Test]
public void NullCoalescing()
{
- TestExpr("a ?? b", "(a != null) ? a : b");
+ TestExpr("a ?? b", "(a or b)");
}
}
}
diff --git a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs
index a6319c52f2..2de3529480 100644
--- a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs
+++ b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs
@@ -23,17 +23,13 @@ namespace ICSharpCode.Svn.Commands
bool recurse;
Revision revision = null;
- ///
- /// Creates a new CheckoutCommand
- ///
- public CheckoutCommand()
- {
-
- }
-
void DoCheckoutCommand()
{
- SvnClient.Instance.Client.Checkout(from, to, revision, recurse);
+ try {
+ SvnClient.Instance.Client.Checkout(from, to, revision, recurse);
+ } catch (SvnClientException ex) {
+ MessageService.ShowError(ex.Message);
+ }
}
///
diff --git a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs
index 3698d599e7..0bb1c5b5b1 100644
--- a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs
+++ b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs
@@ -36,7 +36,11 @@ namespace ICSharpCode.Svn.Commands
void DoExportCommand()
{
- SvnClient.Instance.Client.Export(from, to, revision, false);
+ try {
+ SvnClient.Instance.Client.Export(from, to, revision, false);
+ } catch (SvnClientException ex) {
+ MessageService.ShowError(ex.Message);
+ }
}
///
diff --git a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs
index 31eb2e9cb7..194389c722 100644
--- a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs
+++ b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs
@@ -48,6 +48,8 @@ namespace ICSharpCode.Svn.Commands
string ConvertPathToURL(string path)
{
+ if (path.Length == 0)
+ return "";
return "file:///" + path.Replace('\\', '/');
}
@@ -67,13 +69,13 @@ namespace ICSharpCode.Svn.Commands
{
SetupFromXmlStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ICSharpCode.Svn.Resources.ExportDialog.xfrm"));
((ComboBox)ControlDictionary["revisionComboBox"]).Items.AddRange(new string[] {
- "Head",
- "Committed",
- "Base",
- "Previous",
- "Working",
- "Date"
- });
+ "Head",
+ "Committed",
+ "Base",
+ "Previous",
+ "Working",
+ "Date"
+ });
((ComboBox)ControlDictionary["revisionComboBox"]).Text = "Head";
((ComboBox)ControlDictionary["revisionComboBox"]).TextChanged += new EventHandler(RevisionComboBoxTextChanged);
RevisionComboBoxTextChanged(this, EventArgs.Empty);
@@ -84,6 +86,16 @@ namespace ICSharpCode.Svn.Commands
ControlDictionary["sourceDirectoryBrowseButton"].Click += new EventHandler(SourceDirectoryBrowseButtonClick);
ControlDictionary["localDirectoryBrowseButton"].Click += new EventHandler(LocalDirectoryBrowseButtonClick);
+
+ ControlDictionary["sourceDirectoryTextBox"].TextChanged += UrlChanged;
+ ControlDictionary["urlTextBox"].TextChanged += UrlChanged;
+ ControlDictionary["localDirectoryTextBox"].TextChanged += UrlChanged;
+ UrlChanged(null, null);
+ }
+
+ void UrlChanged(object sender, EventArgs e)
+ {
+ Get