diff --git a/include/tom.idl b/include/tom.idl
index 91d03b4..f4dd2f0 100644
--- a/include/tom.idl
+++ b/include/tom.idl
@@ -217,7 +217,7 @@
     HRESULT Redo([in]long Count, [retval, out]long *prop);
     HRESULT Range([in]long cp1, [in]long cp2, [retval, out]ITextRange**ppRange);
     HRESULT RangeFromPoint([in]long x, [in]long y, [retval, out]ITextRange**ppRange);
-};
+}
 
 interface ITextFont;
 interface ITextPara;
@@ -279,7 +279,7 @@
     HRESULT SetPoint([in]long x, [in]long y, [in]long Type, [in]long Extend);
     HRESULT ScrollIntoView([in]long Value);
     HRESULT GetEmbeddedObject([retval, out]IUnknown **ppv);
-};
+}
 
 [
   object,
@@ -297,7 +297,7 @@
     HRESULT HomeKey([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
     HRESULT EndKey([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
     HRESULT TypeText([in]BSTR bstr);
-};
+}
 
 [
   object,
@@ -360,7 +360,7 @@
     HRESULT SetUnderline([in]long Value);
     HRESULT GetWeight([retval, out]long *pValue);
     HRESULT SetWeight([in]long Value);
-};
+}
 
 [
   object,
@@ -416,7 +416,7 @@
     HRESULT ClearAllTabs();
     HRESULT DeleteTab([in]float tbPos);
     HRESULT GetTab([in]long iTab, [out]float *ptbPos, [out]long *ptbAlign, [out]long *ptbLeader);
-};
+}
 
 [
   object,
@@ -427,4 +427,4 @@
     HRESULT _NewEnum([retval, out]IUnknown **ppUnkEnum);
     HRESULT Item([in]long Index, [retval, out]ITextRange **ppRange);
     HRESULT GetCount([retval, out]long *pCount);
-};
+}
