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