Revision: 28578
          http://sourceforge.net/p/bibdesk/svn/28578
Author:   hofman
Date:     2024-01-08 17:20:21 +0000 (Mon, 08 Jan 2024)
Log Message:
-----------
Avoid changing enumerator in fast enumeration

Modified Paths:
--------------
    trunk/bibdesk/BDSKBibTeXParser.m
    trunk/bibdesk/BDSKBookmarkController.m
    trunk/bibdesk/BDSKFileMatchConfigController.m
    trunk/bibdesk/BDSKMacroWindowController.m
    trunk/bibdesk/BDSKWebGroup.m
    trunk/bibdesk/BibDocument+Scripting.m
    trunk/bibdesk/BibDocument.m
    trunk/bibdesk/BibDocument_DataSource.m
    trunk/bibdesk/BibDocument_Groups.m
    trunk/bibdesk/BibItem.m
    trunk/bibdesk/NSPasteboard_BDSKExtensions.m
    trunk/bibdesk/NSString_BDSKExtensions.m
    trunk/bibdesk/NSTextView_BDSKExtensions.m
    trunk/bibdesk/NSURL_BDSKExtensions.m
    trunk/bibdesk/NSWorkspace_BDSKExtensions.m

Modified: trunk/bibdesk/BDSKBibTeXParser.m
===================================================================
--- trunk/bibdesk/BDSKBibTeXParser.m    2024-01-07 22:26:38 UTC (rev 28577)
+++ trunk/bibdesk/BDSKBibTeXParser.m    2024-01-08 17:20:21 UTC (rev 28578)
@@ -583,17 +583,17 @@
     
     for(i = 0; i < iMax; i++){
         NSString *name = (__bridge NSString *)CFArrayGetValueAtIndex(names, i);
-        BibAuthor *anAuthor = nil;
-        for (anAuthor in oldAuthors) {
+        BibAuthor *theAuthor = nil;
+        for (BibAuthor *anAuthor in oldAuthors) {
             if ([[anAuthor originalName] isEqualToString:name]) {
-                [anAuthor retain];
+                theAuthor = [anAuthor retain];
                 break;
             }
         }
-        if (anAuthor == nil)
-            anAuthor = [[BibAuthor alloc] initWithName:(__bridge NSString 
*)CFArrayGetValueAtIndex(names, i) publication:pub forField:field];
-        [authors addObject:anAuthor];
-        [anAuthor release];
+        if (theAuthor == nil)
+            theAuthor = [[BibAuthor alloc] initWithName:(__bridge NSString 
*)CFArrayGetValueAtIndex(names, i) publication:pub forField:field];
+        [authors addObject:theAuthor];
+        [theAuthor release];
     }
        CFRelease(names);
        return authors;

Modified: trunk/bibdesk/BDSKBookmarkController.m
===================================================================
--- trunk/bibdesk/BDSKBookmarkController.m      2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/BDSKBookmarkController.m      2024-01-08 17:20:21 UTC (rev 
28578)
@@ -569,7 +569,8 @@
                     names = nil;
                 NSEnumerator *nameEnum = [names objectEnumerator];
                 NSMutableArray *newBookmarks = [NSMutableArray array];
-                for (url in urls) {
+                for (NSURL *aURL in urls) {
+                    url = aURL;
                     if ([url isFileReferenceURL])
                         url = [url filePathURL];
                     NSString *name = [nameEnum nextObject];

Modified: trunk/bibdesk/BDSKFileMatchConfigController.m
===================================================================
--- trunk/bibdesk/BDSKFileMatchConfigController.m       2024-01-07 22:26:38 UTC 
(rev 28577)
+++ trunk/bibdesk/BDSKFileMatchConfigController.m       2024-01-08 17:20:21 UTC 
(rev 28578)
@@ -86,7 +86,8 @@
     NSNumber *isDir;
     NSNumber *isPackage;
     NSFileManager *fm = [NSFileManager defaultManager];
-    for (NSURL *aURL in filesAndDirectories) {
+    for (NSURL *url in filesAndDirectories) {
+        NSURL *aURL = url;
         if ([aURL isFileReferenceURL])
             aURL = [aURL filePathURL];
         isDir = isPackage = nil;

Modified: trunk/bibdesk/BDSKMacroWindowController.m
===================================================================
--- trunk/bibdesk/BDSKMacroWindowController.m   2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/BDSKMacroWindowController.m   2024-01-08 17:20:21 UTC (rev 
28578)
@@ -556,9 +556,9 @@
     if ([fileURLs count] > 0) {
         NSFileManager *fm = [NSFileManager defaultManager];
         
-        for (NSURL *fileURL in fileURLs) {
+        for (NSURL *aURL in fileURLs) {
+            NSURL *fileURL = [aURL URLByStandardizingPath];
             NSString *extension = [fileURL pathExtension];
-            fileURL = [fileURL URLByStandardizingPath];
             if ([fm fileExistsAtPath:[fileURL path]] == NO ||
                 ([extension isCaseInsensitiveEqual:@"bib"] == NO && [extension 
isCaseInsensitiveEqual:@"bst"] == NO))
                 continue;

Modified: trunk/bibdesk/BDSKWebGroup.m
===================================================================
--- trunk/bibdesk/BDSKWebGroup.m        2024-01-07 22:26:38 UTC (rev 28577)
+++ trunk/bibdesk/BDSKWebGroup.m        2024-01-08 17:20:21 UTC (rev 28578)
@@ -402,9 +402,9 @@
         return nil;
     NSMutableArray *pubs = [NSMutableArray array];
     for (BibItem *pub in [group publications]) {
-        pub = [pub copyWithMacroResolver:macroResolver];
-        [pubs addObject:pub];
-        [pub release];
+        BibItem *copiedPub = [pub copyWithMacroResolver:macroResolver];
+        [pubs addObject:copiedPub];
+        [copiedPub release];
     }
     return pubs;
 }

Modified: trunk/bibdesk/BibDocument+Scripting.m
===================================================================
--- trunk/bibdesk/BibDocument+Scripting.m       2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/BibDocument+Scripting.m       2024-01-08 17:20:21 UTC (rev 
28578)
@@ -217,9 +217,9 @@
     if ([key isEqualToString:@"scriptingPublications"]) {
         NSMutableArray *copiedValue = [[NSMutableArray alloc] init];
         for (BibItem *pub in value) {
-            pub = [pub copyWithMacroResolver:[self macroResolver]];
-            [copiedValue addObject:pub];
-            [pub release];
+            BibItem *copiedPub = [pub copyWithMacroResolver:[self 
macroResolver]];
+            [copiedValue addObject:copiedPub];
+            [copiedPub release];
         }
         if ([properties count]) {
             for (id item in copiedValue) {
@@ -1170,9 +1170,9 @@
         NSMutableArray *tmpPubs = [NSMutableArray array];
         for (BibItem *pub in source) {
             // get complex strings with the correct macroResolver
-            pub = [pub copyWithMacroResolver:[self macroResolver]];
-            [tmpPubs addObject:pub];
-            [pub release];
+            BibItem *copiedPub = [pub copyWithMacroResolver:[self 
macroResolver]];
+            [tmpPubs addObject:copiedPub];
+            [copiedPub release];
         }
         pubs = tmpPubs;
     } else if ([source isKindOfClass:[NSString class]]) {

Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2024-01-07 22:26:38 UTC (rev 28577)
+++ trunk/bibdesk/BibDocument.m 2024-01-08 17:20:21 UTC (rev 28578)
@@ -592,8 +592,9 @@
         NSSet *allGroups = [NSSet setWithArray:[groups allChildren]];
         NSMutableArray *groupsToSelect = [NSMutableArray array];
         for (BDSKGroup *group in [NSKeyedUnarchiver 
unarchiveObjectWithData:groupData]) {
-            if ((group = [allGroups member:group]))
-                [groupsToSelect addObject:group];
+            BDSKGroup *currentGroup = [allGroups member:group];
+            if (currentGroup)
+                [groupsToSelect addObject:currentGroup];
         }
         if ([groupsToSelect count])
             [self selectGroups:groupsToSelect];
@@ -2300,13 +2301,14 @@
                 titles = nil;
             for (NSURL *newURL in newURLs) {
                 if ([newURL isFileURL]) {
-                    NSArray *parsedItems = [self 
extractPublicationsFromFileURL:newURL verbose:verbose error:&error];
+                    NSURL *fileURL = newURL;
+                    NSArray *parsedItems = [self 
extractPublicationsFromFileURL:fileURL verbose:verbose error:&error];
                     if ([parsedItems count] > 0) {
                         [newURLPubs addObjectsFromArray:parsedItems];
                     } else {
-                        if ([newURL isFileReferenceURL])
-                            newURL = [newURL filePathURL];
-                        BibItem *item = [BibItem itemWithFileURL:newURL 
owner:self];
+                        if ([fileURL isFileReferenceURL])
+                            fileURL = [fileURL filePathURL];
+                        BibItem *item = [BibItem itemWithFileURL:fileURL 
owner:self];
                         if (newFilePubs == nil)
                             newFilePubs = [NSMutableArray array];
                         [newURLPubs addObject:item];

Modified: trunk/bibdesk/BibDocument_DataSource.m
===================================================================
--- trunk/bibdesk/BibDocument_DataSource.m      2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/BibDocument_DataSource.m      2024-01-08 17:20:21 UTC (rev 
28578)
@@ -747,9 +747,10 @@
                             [pub autoFileLocalUrl];
                     } else {
                         for (NSURL *theURL in urlsToAdd) {
-                            if ([theURL isFileReferenceURL])
-                                theURL = [theURL filePathURL];
-                            [pub addFileForURL:theURL autoFile:YES 
runScriptHook:YES];
+                            NSURL *theFileURL = theURL;
+                            if ([theFileURL isFileReferenceURL])
+                                theFileURL = [theFileURL filePathURL];
+                            [pub addFileForURL:theFileURL autoFile:YES 
runScriptHook:YES];
                         }
                     }
                     [self selectPublication:pub];
@@ -1272,7 +1273,8 @@
             BDSKGroup *lastGroup = nil;
             BOOL undoable = NO;
             
-            for (NSURL *url in urls) {
+            for (NSURL *aURL in urls) {
+                NSURL *url = aURL;
                 if ([url isFileReferenceURL])
                     url = [url filePathURL];
                 if ([[url scheme] isEqualToString:BDSKSearchGroupURLScheme] ||

Modified: trunk/bibdesk/BibDocument_Groups.m
===================================================================
--- trunk/bibdesk/BibDocument_Groups.m  2024-01-07 22:26:38 UTC (rev 28577)
+++ trunk/bibdesk/BibDocument_Groups.m  2024-01-08 17:20:21 UTC (rev 28578)
@@ -1376,9 +1376,9 @@
     for (BibItem *pub in items) {
         if ([currentPubs containsObject:pub] == NO) {
             // get complex strings with the correct macroResolver
-            pub = [pub copyWithMacroResolver:[self macroResolver]];
-            [newPubs addObject:pub];
-            [pub release];
+            BibItem *copiedPub = [pub copyWithMacroResolver:[self 
macroResolver]];
+            [newPubs addObject:copiedPub];
+            [copiedPub release];
         }
     }
     

Modified: trunk/bibdesk/BibItem.m
===================================================================
--- trunk/bibdesk/BibItem.m     2024-01-07 22:26:38 UTC (rev 28577)
+++ trunk/bibdesk/BibItem.m     2024-01-08 17:20:21 UTC (rev 28578)
@@ -1747,21 +1747,21 @@
     NSString *string;
     
     string = [self citeKey];
-       if (string && 
CFStringFindWithOptions((CFStringRef)string,(CFStringRef)searchterm, 
CFRangeMake(0, [string length]), kCFCompareCaseInsensitive, NULL))
+       if (string && CFStringFindWithOptions((__bridge 
CFStringRef)string,(__bridge CFStringRef)searchterm, CFRangeMake(0, [string 
length]), kCFCompareCaseInsensitive, NULL))
         return YES;
     
        for (BibAuthor *auth in [self allPeople]) {
         string = [auth lastName] ?: [auth name];
-        if (string && 
CFStringFindWithOptions((CFStringRef)string,(CFStringRef)searchterm, 
CFRangeMake(0, [string length]), kCFCompareCaseInsensitive, NULL))
+        if (string && CFStringFindWithOptions((__bridge 
CFStringRef)string,(__bridge CFStringRef)searchterm, CFRangeMake(0, [string 
length]), kCFCompareCaseInsensitive, NULL))
             return YES;
        }
     
     string = [self displayTitle];
-       if (string && 
CFStringFindWithOptions((CFStringRef)string,(CFStringRef)searchterm, 
CFRangeMake(0, [string length]), kCFCompareCaseInsensitive, NULL))
+       if (string && CFStringFindWithOptions((__bridge 
CFStringRef)string,(__bridge CFStringRef)searchterm, CFRangeMake(0, [string 
length]), kCFCompareCaseInsensitive, NULL))
         return YES;
     
     string = [self valueForKey:BDSKKeywordsString];
-       if (string && 
CFStringFindWithOptions((CFStringRef)string,(CFStringRef)searchterm, 
CFRangeMake(0, [string length]), kCFCompareCaseInsensitive, NULL))
+       if (string && CFStringFindWithOptions((__bridge 
CFStringRef)string,(__bridge CFStringRef)searchterm, CFRangeMake(0, [string 
length]), kCFCompareCaseInsensitive, NULL))
         return YES;
     
     return NO;

Modified: trunk/bibdesk/NSPasteboard_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSPasteboard_BDSKExtensions.m 2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/NSPasteboard_BDSKExtensions.m 2024-01-08 17:20:21 UTC (rev 
28578)
@@ -143,9 +143,9 @@
             if ([filenames count]  > 0) {
                 NSMutableArray *files = [NSMutableArray array];
                 for (NSString *filename in filenames) {
-                    filename = [filename stringByExpandingTildeInPath];
-                    if (types == nil || fileConformsToTypes(filename, types))
-                        [files addObject:[NSURL fileURLWithPath:filename 
isDirectory:NO]];
+                    NSString *file = [filename stringByExpandingTildeInPath];
+                    if (types == nil || fileConformsToTypes(file, types))
+                        [files addObject:[NSURL fileURLWithPath:file 
isDirectory:NO]];
                 }
                 if ([files count] > 0)
                     fileURLs = files;

Modified: trunk/bibdesk/NSString_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSString_BDSKExtensions.m     2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/NSString_BDSKExtensions.m     2024-01-08 17:20:21 UTC (rev 
28578)
@@ -1000,10 +1000,12 @@
 
 - (NSString *)acronymValueIgnoringWordLength:(NSUInteger)ignoreLength{
     NSMutableString *result = [NSMutableString string];
+    NSString *component;
        NSUInteger currentIgnoreLength;
     
-    for (NSString *component in [self componentsSeparatedByString:@" "]) {
+    for (NSString *comp in [self componentsSeparatedByString:@" "]) {
                currentIgnoreLength = ignoreLength;
+        component = comp;
         if(![component isEqualToString:@""]) // 
stringByTrimmingCharactersInSet will choke on an empty string
             component = [component 
stringByTrimmingCharactersInSet:[NSCharacterSet 
whitespaceAndNewlineCharacterSet]];
                if([component length] > 1 && [component 
characterAtIndex:[component length] - 1] == '.')

Modified: trunk/bibdesk/NSTextView_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSTextView_BDSKExtensions.m   2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/NSTextView_BDSKExtensions.m   2024-01-08 17:20:21 UTC (rev 
28578)
@@ -199,13 +199,14 @@
     NSUInteger length = [[self string] length];
     NSMutableArray *mutableRanges = [NSMutableArray array];
     for (NSValue *value in ranges) {
-        NSRange range = [value rangeValue];
+        NSValue *rangeValue = value;
+        NSRange range = [rangeValue rangeValue];
         if (NSMaxRange(range) > length) {
             if (range.location >= length)
                 continue;
-            value = [NSValue valueWithRange:NSMakeRange(range.location, length 
- range.location)];
+            rangeValue = [NSValue valueWithRange:NSMakeRange(range.location, 
length - range.location)];
         }
-        [mutableRanges addObject:value];
+        [mutableRanges addObject:rangeValue];
     }
     if ([mutableRanges count] == 0)
         [mutableRanges addObject:[NSValue valueWithRange:NSMakeRange(length, 
0)]];

Modified: trunk/bibdesk/NSURL_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSURL_BDSKExtensions.m        2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/NSURL_BDSKExtensions.m        2024-01-08 17:20:21 UTC (rev 
28578)
@@ -510,8 +510,8 @@
 
 - (NSArray *)scriptingSkimNotes {
     NSMutableArray *notes = [NSMutableArray array];
-    for (NSDictionary *note in [self SkimNotes]) {
-        note = [note mutableCopy];
+    for (NSDictionary *aNote in [self SkimNotes]) {
+        NSMutableDictionary *note = [aNote mutableCopy];
         id value;
         if ((value = [note objectForKey:@"bounds"])) {
             NSRect nsBounds = NSRectFromString(value);

Modified: trunk/bibdesk/NSWorkspace_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSWorkspace_BDSKExtensions.m  2024-01-07 22:26:38 UTC (rev 
28577)
+++ trunk/bibdesk/NSWorkspace_BDSKExtensions.m  2024-01-08 17:20:21 UTC (rev 
28578)
@@ -49,10 +49,9 @@
 - (BOOL)openURLs:(NSArray *)fileURLs withSearchString:(NSString *)searchString
 {
     BOOL success = YES;
-    NSURL *url;
     
     if ([NSString isEmptyString:searchString]) {
-        for (url in fileURLs) {
+        for (NSURL *url in fileURLs) {
             if (NO == [self openURLWithDefaultApp:url])
                 success = NO;
         }
@@ -60,15 +59,14 @@
     }
     
     NSMutableDictionary *urlsForApps = [NSMutableDictionary dictionary];
-    NSString *appID;
     NSURL *appURL;
     NSDictionary *defaultViewers = [[NSUserDefaults standardUserDefaults] 
dictionaryForKey:BDSKDefaultViewersKey];
     
-    for (url in fileURLs) {
+    for (NSURL *url in fileURLs) {
         if ([url isEqual:[NSNull null]]) continue;
         // Find the application that should open this file
         NSString *extension = [[url pathExtension] lowercaseString];
-        appID = [defaultViewers objectForKey:extension];
+        NSString *appID = [defaultViewers objectForKey:extension];
         appURL = appID ? [self URLForApplicationWithBundleIdentifier:appID] : 
nil;
         if (appURL == nil) {
             if ((appURL = [self URLForApplicationToOpenURL:url]))
@@ -84,7 +82,7 @@
         [urls addObject:url];
     }
     
-    for (appID in urlsForApps) {
+    for (NSString *appID in urlsForApps) {
         NSArray *urls = [urlsForApps objectForKey:appID];
         BOOL didOpen = NO;
         
@@ -93,7 +91,7 @@
             NSAppleEventDescriptor *openEvent = [NSAppleEventDescriptor 
appleEventWithEventClass:kCoreEventClass eventID:kAEOpenDocuments 
targetDescriptor:nil returnID:kAutoGenerateReturnID 
transactionID:kAnyTransactionID];
             NSAppleEventDescriptor *fileListDesc = [NSAppleEventDescriptor 
listDescriptor];
             NSInteger i = 0;
-            for (url in urls)
+            for (NSURL *url in urls)
                 [fileListDesc insertDescriptor:[NSAppleEventDescriptor 
descriptorWithFileURL:url] atIndex:++i];
             [openEvent setParamDescriptor:fileListDesc 
forKeyword:keyDirectObject];
             [openEvent setParamDescriptor:[NSAppleEventDescriptor 
descriptorWithString:searchString] forKeyword:keyAESearchText];
@@ -115,7 +113,7 @@
         if (didOpen == NO) {
             // handle the case where somehow we are still not able to open
             didOpen = YES;
-            for (url in urls) {
+            for (NSURL *url in urls) {
                 if (NO == [self openURLWithDefaultApp:url])
                     didOpen = NO;
             }

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



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to