Index: trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m
===================================================================
--- trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m	(revision 435)
+++ trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m	(revision 436)
@@ -153,5 +153,5 @@
     Handle h = NULL;
     
-    NS_DURING
+    @try {
         h = NewHandle(len);
         if (h == NULL)
@@ -174,13 +174,8 @@
         err = ICCF_DoURLAction(ICCF_GetInst(), hint, *h, selStart, selEnd, action);
         ICCF_OSErrCAssert(err, @"ICCF_DoURLAction");
-        
-    NS_HANDLER
+    } @finally {
         DisposeHandle(h);
         [urlString release];
-        [localException raise];
-    NS_ENDHANDLER
-        
-    DisposeHandle(h);
-    [urlString release];
+    }
 
     return (err == noErr);
@@ -213,6 +208,5 @@
     NSColor *insertionPointColor = [self insertionPointColor];
 
-    NS_DURING
-
+    @try {
         NSString *s = [[self textStorage] string]; // according to the class documentation, sending 'string' is guaranteed to be O(1)
         unsigned length = [s length];
@@ -260,8 +254,7 @@
             }
         }
-
-    NS_HANDLER
-        ICCF_HandleException(localException, triggeringEvent);
-    NS_ENDHANDLER
+    } @catch (NSException *e) {
+        ICCF_HandleException(e, triggeringEvent);
+    }
 
     ICCF_StopIC();
Index: trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEParser.m
===================================================================
--- trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEParser.m	(revision 435)
+++ trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEParser.m	(revision 436)
@@ -73,5 +73,5 @@
     NSCAssert(selEnd == [string length], @"Internal error: URL string is wrong length");
     
-    NS_DURING
+    @try {
         if ([[NSCharacterSet characterSetWithCharactersInString: @";,."] characterIsMember:
             [string characterAtIndex: selEnd - 1]]) {
@@ -106,10 +106,7 @@
         range->length = selEnd - selStart;
         range->location += selStart;
-    NS_HANDLER
+    } @finally {
         free(urlData);
-        [localException raise];
-    NS_ENDHANDLER
-    
-    free(urlData);
+    }
 }
 
Index: trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETTView.m
===================================================================
--- trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETTView.m	(revision 435)
+++ trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETTView.m	(revision 436)
@@ -40,6 +40,5 @@
 void ICCF_LaunchURLFromTTView(ICeCoffEETTView *self, NSEvent *triggeringEvent, NSRange range) {
     
-    NS_DURING
-
+    @try {
 	NSString *s = [self string];
 	unsigned length = [s length];
@@ -73,8 +72,7 @@
 	    ICCF_discardNextMouseUp = YES;
 	}
-        
-    NS_HANDLER
-	ICCF_HandleException(localException, triggeringEvent);
-    NS_ENDHANDLER
+    } @catch (NSException *e) {
+	ICCF_HandleException(e, triggeringEvent);
+    }
     
     ICCF_StopIC();
Index: trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETerminal.m
===================================================================
--- trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETerminal.m	(revision 435)
+++ trunk/ICeCoffEE/ICeCoffEE/ICeCoffEETerminal.m	(revision 436)
@@ -293,6 +293,5 @@
     NSRange range, delimiterRange;
 
-    NS_DURING
-
+    @try {
         TermStorage *storage = [(TermController *)[self valueForKey: @"controller"] storage];
 
@@ -404,7 +403,7 @@
             }
         }
-    NS_HANDLER
-        ICCF_HandleException(localException, ICCF_downEvent);
-    NS_ENDHANDLER
+    } @catch (NSException *e) {
+        ICCF_HandleException(e, ICCF_downEvent);
+    }
 
     ICCF_StopIC();
Index: trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m
===================================================================
--- trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m	(revision 435)
+++ trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m	(revision 436)
@@ -71,5 +71,5 @@
             return;
 
-        NS_DURING
+        @try {
             NSPoint viewClickPt = [self convertPoint: downPt fromView: nil];
             NSDictionary *elementDict = [(WebHTMLView *)self elementAtPoint: viewClickPt];
@@ -79,9 +79,9 @@
             if ([elementDict objectForKey: @"WebElementLinkURL"] != nil) {
                 ICLog(@"got a link");
-                NS_VOIDRETURN; // don't activate on links
+                return; // don't activate on links
             }
 	    if (selectedString == nil || [selectedString length] == 0) {
 		ICLog(@"no selected string");
-		NS_VOIDRETURN;
+		return;
 	    }
 	    ICCF_StartIC();
@@ -110,9 +110,10 @@
 		}
 	    }
-        NS_HANDLER
-            ICCF_HandleException(localException, downEvent);
-        NS_ENDHANDLER
+        } @catch (NSException *e) {
+	    ICCF_HandleException(e, downEvent);
+	} @finally {
+	    [downEvent release]; downEvent = nil;
+	}
 
-	[downEvent release]; downEvent = nil;
         ICCF_StopIC();
     }        
