Revision: 18106
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=18106&view=rev
Author:   hofman
Date:     2011-09-05 17:25:51 +0000 (Mon, 05 Sep 2011)
Log Message:
-----------
only replace real double/triple hyphens by dashes, not longer series of hyphens

Modified Paths:
--------------
    trunk/bibdesk/NSString_BDSKExtensions.m

Modified: trunk/bibdesk/NSString_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSString_BDSKExtensions.m     2011-09-05 06:39:05 UTC (rev 
18105)
+++ trunk/bibdesk/NSString_BDSKExtensions.m     2011-09-05 17:25:51 UTC (rev 
18106)
@@ -304,11 +304,14 @@
     NSString *string = self;
     NSString *doubleHyphen = @"--";
     NSRange range = [self rangeOfString:doubleHyphen];
+    NSUInteger len = [self length];
     if (range.location != NSNotFound) {
         NSMutableString *mutString = [[self mutableCopy] autorelease];
         do {
-            [mutString replaceCharactersInRange:range withString:[NSString 
endashString]];
-            range = [mutString rangeOfString:doubleHyphen];
+            if ((range.location == 0 || [mutString 
characterAtIndex:range.location - 1] != '-') &&
+                (NSMaxRange(range) == len || [mutString 
characterAtIndex:NSMaxRange(range) + 1] != '-'))
+                [mutString replaceCharactersInRange:range withString:[NSString 
endashString]];
+            range = [mutString rangeOfString:doubleHyphen options:0 
range:NSMakeRange(NSMaxRange(range), len - NSMaxRange(range))];
         } while (range.location != NSNotFound);
         string = mutString;
     }
@@ -319,11 +322,14 @@
     NSString *string = self;
     NSString *tripleHyphen = @"---";
     NSRange range = [self rangeOfString:tripleHyphen];
+    NSUInteger len = [self length];
     if (range.location != NSNotFound) {
         NSMutableString *mutString = [[self mutableCopy] autorelease];
         do {
-            [mutString replaceCharactersInRange:range withString:[NSString 
emdashString]];
-            range = [mutString rangeOfString:tripleHyphen];
+            if ((range.location == 0 || [mutString 
characterAtIndex:range.location - 1] != '-') &&
+                (NSMaxRange(range) == len || [mutString 
characterAtIndex:NSMaxRange(range) + 1] != '-'))
+                [mutString replaceCharactersInRange:range withString:[NSString 
emdashString]];
+            range = [mutString rangeOfString:tripleHyphen options:0 
range:NSMakeRange(NSMaxRange(range), len - NSMaxRange(range))];
         } while (range.location != NSNotFound);
         string = mutString;
     }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to