Revision: 30081
http://sourceforge.net/p/bibdesk/svn/30081
Author: hofman
Date: 2026-02-28 16:48:35 +0000 (Sat, 28 Feb 2026)
Log Message:
-----------
Make arguments for local error class factories nonnull. Add convenience one
with recovery suggestion.
Modified Paths:
--------------
trunk/bibdesk/BDSKBibTeXParser.m
trunk/bibdesk/BDSKBookmark.m
trunk/bibdesk/BDSKDocumentController.m
trunk/bibdesk/BDSKEditor.m
trunk/bibdesk/BDSKSciFinderParser.m
trunk/bibdesk/BDSKScriptGroup.m
trunk/bibdesk/BDSKServerInfo.m
trunk/bibdesk/BDSKStringParser.m
trunk/bibdesk/BibDocument.m
trunk/bibdesk/BibItem.m
trunk/bibdesk/NSError_BDSKExtensions.h
trunk/bibdesk/NSError_BDSKExtensions.m
Modified: trunk/bibdesk/BDSKBibTeXParser.m
===================================================================
--- trunk/bibdesk/BDSKBibTeXParser.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BDSKBibTeXParser.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -291,17 +291,13 @@
error = [NSError localErrorWithCode:kBDSKBibTeXParserFailed
localizedDescription:NSLocalizedString(@"Unable to parse string as BibTeX",
@"Error description") underlyingError:error];
// If no critical errors, warn about ignoring macros or frontmatter;
callers can ignore this by passing a valid NSMutableString for frontmatter (or
ignoring the partial data flag). Mainly relevant for paste/drag on the
document.
} else if (hadCircularMacros) {
- error = [NSError
mutableLocalErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Macros ignored while parsing BibTeX",
@"")];
- [error setValue:NSLocalizedString(@"Circular macro ignored.",
@"Error description") forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Macros ignored while parsing BibTeX",
@"") localizedRecoverySuggestion:NSLocalizedString(@"Circular macro ignored.",
@"Error description")];
} else if (ignoredMacros && ignoredFrontmatter) {
- error = [NSError
mutableLocalErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Macros and front matter ignored while
parsing BibTeX", @"")];
- [error setValue:NSLocalizedString(@"Front matter (preamble and
comments) from pasted data should be added via a text editor, and macros should
be added via the macro editor (cmd-shift-M)", @"")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Macros and front matter ignored while
parsing BibTeX", @"") localizedRecoverySuggestion:NSLocalizedString(@"Front
matter (preamble and comments) from pasted data should be added via a text
editor, and macros should be added via the macro editor (cmd-shift-M)", @"")];
} else if (ignoredMacros) {
- error = [NSError
mutableLocalErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Macros ignored while parsing BibTeX",
@"")];
- [error setValue:NSLocalizedString(@"Macros must be added via the
macro editor (cmd-shift-M)", @"") forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Macros ignored while parsing BibTeX",
@"") localizedRecoverySuggestion:NSLocalizedString(@"Macros must be added via
the macro editor (cmd-shift-M)", @"")];
} else if (ignoredFrontmatter) {
- error = [NSError
mutableLocalErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Front matter ignored while parsing
BibTeX", @"")];
- [error setValue:NSLocalizedString(@"Front matter (preamble and
comments) from pasted data should be added via a text editor", @"")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKParserIgnoredFrontMatter
localizedDescription:NSLocalizedString(@"Front matter ignored while parsing
BibTeX", @"") localizedRecoverySuggestion:NSLocalizedString(@"Front matter
(preamble and comments) from pasted data should be added via a text editor",
@"")];
}
*outError = error;
}
Modified: trunk/bibdesk/BDSKBookmark.m
===================================================================
--- trunk/bibdesk/BDSKBookmark.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BDSKBookmark.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -317,8 +317,7 @@
if ([*value length] && [NSURL URLWithString:*value])
return YES;
if (error) {
- *error = [NSError mutableLocalErrorWithCode:kBDSKUnknownError
localizedDescription:NSLocalizedString(@"Invalid URL", @"Message in alert
dialog when setting an invalid URL")];
- [*error setValue:[NSString stringWithFormat:NSLocalizedString(@"\"%@\"
is not a valid URL.", @"Informative text in alert dialog"), *value]
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ *error = [NSError localErrorWithCode:kBDSKUnknownError
localizedDescription:NSLocalizedString(@"Invalid URL", @"Message in alert
dialog when setting an invalid URL") localizedRecoverySuggestion:[NSString
stringWithFormat:NSLocalizedString(@"\"%@\" is not a valid URL.", @"Informative
text in alert dialog"), *value]];
}
return NO;
}
Modified: trunk/bibdesk/BDSKDocumentController.m
===================================================================
--- trunk/bibdesk/BDSKDocumentController.m 2026-02-27 22:37:18 UTC (rev
30080)
+++ trunk/bibdesk/BDSKDocumentController.m 2026-02-28 16:48:35 UTC (rev
30081)
@@ -314,8 +314,7 @@
filteredString = [[NSString alloc] initWithData:filteredData
encoding:encoding];
}
if ([NSString isEmptyString:filteredString] && outError) {
- *outError = [NSError
mutableLocalErrorWithCode:kBDSKDocumentOpenError
localizedDescription:NSLocalizedString(@"Unable To Open With Filter", @"Error
description")];
- [*outError setValue:NSLocalizedString(@"Unable to read the
file correctly. Please ensure that the shell command specified for filtering is
correct by testing it in Terminal.app.", @"Error description")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ *outError = [NSError localErrorWithCode:kBDSKDocumentOpenError
localizedDescription:NSLocalizedString(@"Unable To Open With Filter", @"Error
description") localizedRecoverySuggestion:NSLocalizedString(@"Unable to read
the file correctly. Please ensure that the shell command specified for
filtering is correct by testing it in Terminal.app.", @"Error description")];
}
}
if ([NSString isEmptyString:filteredString] == NO) {
Modified: trunk/bibdesk/BDSKEditor.m
===================================================================
--- trunk/bibdesk/BDSKEditor.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BDSKEditor.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -1985,13 +1985,12 @@
if (nil == errorString) {
// shouldn't get here
- err = [NSError mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")];
+ err = [NSError localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")];
NSLog(@"%@:%d formatter failed for unknown reason",
__FILENAMEASNSSTRING__, __LINE__);
} else if (control == citeKeyField) {
// !!! may have to revisit this with strict invalid keys?
// this may occur if the cite key formatter fails to format
- err = [NSError mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Cite Key", @"Message in alert
dialog when enetring invalid cite key")];
- [err setValue:errorString
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ err = [NSError localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Cite Key", @"Message in alert
dialog when enetring invalid cite key")
localizedRecoverySuggestion:errorString];
} else {
@@ -2001,19 +2000,15 @@
NSString *fieldName = [fields objectAtIndex:row];
if ([fieldName isEqualToString:BDSKCrossrefString]) {
// this may occur if the cite key formatter fails to format
- err = [NSError mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Crossref Key", @"Message in
alert dialog when entering invalid Crossref key")];
- [err setValue:errorString
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ err = [NSError localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Crossref Key", @"Message in
alert dialog when entering invalid Crossref key")
localizedRecoverySuggestion:errorString];
} else if ([fieldName isCitationField]) {
// this may occur if the citation formatter fails to format
- err = [NSError mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Citation Key", @"Message in
alert dialog when entering invalid Crossref key")];
- [err setValue:errorString
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ err = [NSError localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Citation Key", @"Message in
alert dialog when entering invalid Crossref key")
localizedRecoverySuggestion:errorString];
} else if (NO == [tableCellFormatter editAsComplexString]) {
// this is a simple string, an error means that there are
unbalanced braces
- err = [NSError mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")];
- [err setValue:NSLocalizedString(@"The value you entered
contains unbalanced braces and cannot be saved.", @"Informative text in alert
dialog") forKey:NSLocalizedRecoverySuggestionErrorKey];
+ err = [NSError localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")
localizedRecoverySuggestion:NSLocalizedString(@"The value you entered contains
unbalanced braces and cannot be saved.", @"Informative text in alert dialog")];
} else {
- err = [NSError
mutableLocalErrorWithCode:kBDSKComplexStringError
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")];
- [err setValue:errorString
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ err = [NSError localErrorWithCode:kBDSKComplexStringError
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")
localizedRecoverySuggestion:errorString];
}
}
}
@@ -2072,8 +2067,7 @@
else // shouldn't happen
message = NSLocalizedString(@"Cannot set this cite key as
this would lead to a crossreff chain.", @"Informative text in alert dialog");
- NSError *err = [NSError
mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")];
- [err setValue:message
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ NSError *err = [NSError localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value") localizedRecoverySuggestion:message];
*error = err;
}
} else if (editorFlags.allowFragileCharacters == NO) {
@@ -2123,8 +2117,7 @@
else if (errorCode == BDSKIsCrossreffedCrossrefError)
message = NSLocalizedString(@"Cannot set the
Crossref field, as the current item is cross referenced.", @"Informative text
in alert dialog");
- NSError *err = [NSError
mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Crossref Value", @"Message in
alert dialog when entering an invalid Crossref key")];
- [err setValue:message
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ NSError *err = [NSError
localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Crossref Value", @"Message in
alert dialog when entering an invalid Crossref key")
localizedRecoverySuggestion:message];
*error = err;
}
}
@@ -2231,8 +2224,7 @@
BDSKASSERT(aTextObject == currentEditedView);
BOOL isValid = [[currentEditedView string]
isStringTeXQuotingBalancedWithBraces:YES connected:NO];
if (isValid == NO && error) {
- NSError *err = [NSError mutableLocalErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")];
- [err setValue:NSLocalizedString(@"The value you entered contains
unbalanced braces and cannot be saved.", @"Informative text in alert dialog")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ NSError *err = [NSError localErrorWithCode:kBDSKFailedToCommit
localizedDescription:NSLocalizedString(@"Invalid Value", @"Message in alert
dialog when entering an invalid value")
localizedRecoverySuggestion:NSLocalizedString(@"The value you entered contains
unbalanced braces and cannot be saved.", @"Informative text in alert dialog")];
*error = err;
}
return isValid;
Modified: trunk/bibdesk/BDSKSciFinderParser.m
===================================================================
--- trunk/bibdesk/BDSKSciFinderParser.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BDSKSciFinderParser.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -192,8 +192,7 @@
}
if (nStart != nStop) {
if (outError) {
- *outError = [NSError
mutableLocalErrorWithCode:kBDSKWebParserFailed
localizedDescription:NSLocalizedString(@"Unable to parse SciFinder data",
@"error message for SciFinder")];
- [*outError setValue:NSLocalizedString(@"Unbalanced START_RECORD
and END_RECORD tags", @"error message for SciFinder; do not translate
START_RECORD or END_RECORD") forKey:NSLocalizedRecoverySuggestionErrorKey];
+ *outError = [NSError localErrorWithCode:kBDSKWebParserFailed
localizedDescription:NSLocalizedString(@"Unable to parse SciFinder data",
@"error message for SciFinder")
localizedRecoverySuggestion:NSLocalizedString(@"Unbalanced START_RECORD and
END_RECORD tags", @"error message for SciFinder; do not translate START_RECORD
or END_RECORD")];
}
return nil;
}
Modified: trunk/bibdesk/BDSKScriptGroup.m
===================================================================
--- trunk/bibdesk/BDSKScriptGroup.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BDSKScriptGroup.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -367,8 +367,7 @@
argsArray = [[scriptArguments shellScriptArgumentsArray] copy];
}
@catch (id exception) {
- NSError *error = [NSError mutableLocalErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Error parsing script arguments",
@"Error description")];
- [error setValue:[exception reason]
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ NSError *error = [NSError localErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Error parsing script arguments",
@"Error description") localizedRecoverySuggestion:[exception reason]];
[self scriptDidFailWithError:error];
// !!! early return here
Modified: trunk/bibdesk/BDSKServerInfo.m
===================================================================
--- trunk/bibdesk/BDSKServerInfo.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BDSKServerInfo.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -569,8 +569,7 @@
}
if (NO == isValid && error) {
- *error = [NSError mutableLocalErrorWithCode:kBDSKUnknownError
localizedDescription:NSLocalizedString(@"Not a recognized IANA character set
name", @"error title for setting zoom result encoding")];
- [*error setValue:NSLocalizedString(@"See
http://www.iana.org/assignments/character-sets for recognized values.", @"error
suggestion for setting zoom result encoding")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ *error = [NSError localErrorWithCode:kBDSKUnknownError
localizedDescription:NSLocalizedString(@"Not a recognized IANA character set
name", @"error title for setting zoom result encoding")
localizedRecoverySuggestion:NSLocalizedString(@"See
http://www.iana.org/assignments/character-sets for recognized values.", @"error
suggestion for setting zoom result encoding")];
}
return isValid;
}
Modified: trunk/bibdesk/BDSKStringParser.m
===================================================================
--- trunk/bibdesk/BDSKStringParser.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BDSKStringParser.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -95,8 +95,7 @@
Class parserClass = classForType(stringType);
BDSKASSERT(parserClass == Nil || [parserClass
conformsToProtocol:@protocol(BDSKStringParser)]);
if (Nil == parserClass && outError){
- *outError = [NSError mutableLocalErrorWithCode:kBDSKParserUnsupported
localizedDescription:NSLocalizedString(@"Unsupported or invalid format",
@"error when parsing text fails")];
- [*outError setValue:NSLocalizedString(@"BibDesk was not able to
determine the syntax of this data. It may be incorrect or an unsupported type
of text.", @"error description when parsing text fails")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ *outError = [NSError localErrorWithCode:kBDSKParserUnsupported
localizedDescription:NSLocalizedString(@"Unsupported or invalid format",
@"error when parsing text fails")
localizedRecoverySuggestion:NSLocalizedString(@"BibDesk was not able to
determine the syntax of this data. It may be incorrect or an unsupported type
of text.", @"error description when parsing text fails")];
}
return [parserClass itemsFromString:string error:outError];
}
Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BibDocument.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -1082,11 +1082,9 @@
}else if(type == BDSKStringTypeBibTeX){
success = [self readFromBibTeXData:data string:string
fromURL:absoluteURL encoding:encoding error:&error];
}else if (type == BDSKStringTypeNoKeyBibTeX){
- error = [NSError mutableLocalErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Unable To Open Document", @"Error
description")];
- [error setValue:NSLocalizedString(@"This file appears to contain
invalid BibTeX because of missing cite keys. Try to open using temporary cite
keys to fix this.", @"Error informative text")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Unable To Open Document", @"Error
description") localizedRecoverySuggestion:NSLocalizedString(@"This file appears
to contain invalid BibTeX because of missing cite keys. Try to open using
temporary cite keys to fix this.", @"Error informative text")];
}else if (type == BDSKStringTypeUnknown){
- error = [NSError mutableLocalErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Unable To Open Document", @"Error
description")];
- [error setValue:NSLocalizedString(@"This text file does not
contain a recognized data type.", @"Error informative text")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Unable To Open Document", @"Error
description") localizedRecoverySuggestion:NSLocalizedString(@"This text file
does not contain a recognized data type.", @"Error informative text")];
}else{
NSArray *newPubs = [BDSKStringParser itemsFromString:string
ofType:type error:&error];
if (newPubs) {
@@ -1095,8 +1093,7 @@
[self setFileURL:nil];
success = YES;
} else {
- error = [NSError mutableLocalErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Unable To Open Document", @"Error
description")];
- [error setValue:NSLocalizedString(@"This text file does not
contain a recognized data type.", @"Error informative text")
forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKParserFailed
localizedDescription:NSLocalizedString(@"Unable To Open Document", @"Error
description") localizedRecoverySuggestion:NSLocalizedString(@"This text file
does not contain a recognized data type.", @"Error informative text")];
}
}
}
Modified: trunk/bibdesk/BibItem.m
===================================================================
--- trunk/bibdesk/BibItem.m 2026-02-27 22:37:18 UTC (rev 30080)
+++ trunk/bibdesk/BibItem.m 2026-02-28 16:48:35 UTC (rev 30081)
@@ -1860,8 +1860,7 @@
// btparse apparently runs out of memory and crashes with 98+ fields
if (isOK && numFields >= 98) {
- error = [NSError mutableLocalErrorWithCode:kBDSKDocumentSaveError
localizedDescription:NSLocalizedString(@"Too many fields", @"Error
description")];
- [error setValue:[NSString stringWithFormat:NSLocalizedString(@"Too
many fields for item with cite key \"%@\".", @"Error informative text"), [self
citeKey]] forKey:NSLocalizedRecoverySuggestionErrorKey];
+ error = [NSError localErrorWithCode:kBDSKDocumentSaveError
localizedDescription:NSLocalizedString(@"Too many fields", @"Error
description") localizedRecoverySuggestion:[NSString
stringWithFormat:NSLocalizedString(@"Too many fields for item with cite key
\"%@\".", @"Error informative text"), [self citeKey]]];
}
if(isOK == NO && outError)
Modified: trunk/bibdesk/NSError_BDSKExtensions.h
===================================================================
--- trunk/bibdesk/NSError_BDSKExtensions.h 2026-02-27 22:37:18 UTC (rev
30080)
+++ trunk/bibdesk/NSError_BDSKExtensions.h 2026-02-28 16:48:35 UTC (rev
30081)
@@ -78,8 +78,9 @@
@property (class, nonatomic, readonly) NSString *localErrorDomain;
// returns BibDesk-specific errors that don't allow valueForKey: and
setValue:forKey: usage
-+ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(nullable NSString *)description;
-+ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(nullable NSString *)description underlyingError:(nullable
NSError *)underlyingError;
++ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(NSString *)description;
++ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(NSString *)description underlyingError:(NSError
*)underlyingError;
++ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(NSString *)description
localizedRecoverySuggestion:(NSString *)recoverySuggestion;
// returns BibDesk-specific errors that can allow valueForKey: and
setValue:forKey: usage
+ (instancetype)mutableErrorWithDomain:(NSString *)domain code:(NSInteger)code
userInfo:(nullable NSDictionary<NSString *, id> *)dict;
Modified: trunk/bibdesk/NSError_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSError_BDSKExtensions.m 2026-02-27 22:37:18 UTC (rev
30080)
+++ trunk/bibdesk/NSError_BDSKExtensions.m 2026-02-28 16:48:35 UTC (rev
30081)
@@ -114,16 +114,22 @@
+ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(NSString *)description;
{
- NSDictionary *userInfo = [NSDictionary
dictionaryWithObjectsAndKeys:description, NSLocalizedDescriptionKey, nil];
+ NSDictionary *userInfo = @{NSLocalizedDescriptionKey: description};
return [[self alloc] initWithDomain:[NSError localErrorDomain] code:code
userInfo:userInfo];
}
+ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(NSString *)description underlyingError:(NSError
*)underlyingError;
{
- NSDictionary *userInfo = [NSDictionary
dictionaryWithObjectsAndKeys:description, NSLocalizedDescriptionKey,
underlyingError, NSUnderlyingErrorKey, nil];
+ NSDictionary *userInfo = @{NSLocalizedDescriptionKey: description,
NSUnderlyingErrorKey: underlyingError};
return [[self alloc] initWithDomain:[NSError localErrorDomain] code:code
userInfo:userInfo];
}
++ (instancetype)localErrorWithCode:(NSInteger)code
localizedDescription:(NSString *)description
localizedRecoverySuggestion:(NSString *)recoverySuggestion;
+{
+ NSDictionary *userInfo = @{NSLocalizedDescriptionKey: description,
NSLocalizedRecoverySuggestionErrorKey: recoverySuggestion};
+ return [[self alloc] initWithDomain:[NSError localErrorDomain] code:code
userInfo:userInfo];
+}
+
+ (instancetype)mutableLocalErrorWithCode:(NSInteger)code
localizedDescription:(NSString *)description;
{
return [[BDSKMutableError alloc] initLocalErrorWithCode:code
localizedDescription:description];
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