Fixed: [Issue 210] semicolon being ignored.
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/commands/semicolon/SmartSemicolonHandler.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/commands/semicolon/SmartSemicolonHandler.java
index 7fca119..143b2d6 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/commands/semicolon/SmartSemicolonHandler.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/commands/semicolon/SmartSemicolonHandler.java
@@ -82,7 +82,7 @@
       document.modify(new IUnitOfWork.Void<XtextResource>() {
         @Override public void process(XtextResource resource) {
           Protobuf root = resources.rootOf(resource);
-          if (!protobufs.isProto2(root) || !resource.getErrors().isEmpty()) {
+          if (!protobufs.isProto2(root) /*|| !resource.getErrors().isEmpty()*/) {
             return;
           }
           int offset = styledTextAccess.caretOffset();
@@ -118,6 +118,7 @@
         }
       });
     } catch (Throwable t) {
+      shouldInsertSemicolon.set(true);
       logger.error("Unable to generate tag number", t);
     }
     if (shouldInsertSemicolon.get()) {