Revision: 29007
          http://sourceforge.net/p/bibdesk/svn/29007
Author:   hofman
Date:     2025-02-16 18:05:46 +0000 (Sun, 16 Feb 2025)
Log Message:
-----------
add nullability to most data classes

Modified Paths:
--------------
    trunk/bibdesk/BDSKBookmark.h
    trunk/bibdesk/BDSKCondition.h
    trunk/bibdesk/BDSKErrorObject.h
    trunk/bibdesk/BDSKErrorObject.m
    trunk/bibdesk/BDSKFieldCollection.h
    trunk/bibdesk/BDSKFileSearchResult.h
    trunk/bibdesk/BDSKFilter.h
    trunk/bibdesk/BDSKGroupsArray.h
    trunk/bibdesk/BDSKIBArray.h
    trunk/bibdesk/BDSKLinkedFile.h
    trunk/bibdesk/BDSKPersistentSearch.h
    trunk/bibdesk/BDSKPreferenceRecord.h
    trunk/bibdesk/BDSKPreviewItem.h
    trunk/bibdesk/BDSKPublicationsArray.h
    trunk/bibdesk/BDSKScriptHook.h
    trunk/bibdesk/BDSKScriptHook.m
    trunk/bibdesk/BDSKSearchBookmark.h
    trunk/bibdesk/BDSKServerInfo.h
    trunk/bibdesk/BDSKStringNode.h
    trunk/bibdesk/BDSKTask.h
    trunk/bibdesk/BDSKTemplate.h
    trunk/bibdesk/BDSKTemplateObjectProxy.h
    trunk/bibdesk/BDSKTemplateTag.h
    trunk/bibdesk/BDSKToken.h
    trunk/bibdesk/BDSKTreeNode.h
    trunk/bibdesk/BDSKTypeTemplate.h
    trunk/bibdesk/BDSKVersionNumber.h
    trunk/bibdesk/BibAuthor.h

Modified: trunk/bibdesk/BDSKBookmark.h
===================================================================
--- trunk/bibdesk/BDSKBookmark.h        2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKBookmark.h        2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, BDSKBookmarkType) {
     BDSKBookmarkTypeBookmark,
     BDSKBookmarkTypeFolder,
@@ -48,25 +50,25 @@
     __weak BDSKBookmark *parent;
 }
 
-- (instancetype)initWithURL:(NSURL *)aURL name:(NSString *)aName;
-- (instancetype)initFolderWithChildren:(NSArray *)aChildren name:(NSString 
*)aName;
-- (instancetype)initFolderWithName:(NSString *)aName;
-- (instancetype)initRootWithChildrenDictionaries:(NSArray *)dictionaries;
-- (instancetype)initSeparator;
-- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
+- (nullable instancetype)initWithURL:(NSURL *)aURL name:(nullable NSString 
*)aName;
+- (nullable instancetype)initFolderWithChildren:(NSArray *)aChildren 
name:(nullable NSString *)aName;
+- (nullable instancetype)initFolderWithName:(nullable NSString *)aName;
+- (nullable instancetype)initRootWithChildrenDictionaries:(nullable NSArray 
*)dictionaries;
+- (nullable instancetype)initSeparator;
+- (nullable instancetype)initWithDictionary:(NSDictionary *)dictionary;
 
 @property (nonatomic, readonly) NSDictionary *dictionaryValue;
 
 @property (nonatomic, readonly) BDSKBookmarkType bookmarkType;
 
-@property (nonatomic, strong) NSURL *URL;
-@property (nonatomic, strong) NSString *name;
-@property (nonatomic, readonly) NSImage *icon;
-@property (nonatomic, readonly) NSString *URLDescription;
+@property (nonatomic, nullable, strong) NSURL *URL;
+@property (nonatomic, nullable, strong) NSString *name;
+@property (nonatomic, nullable, readonly) NSImage *icon;
+@property (nonatomic, nullable, readonly) NSString *URLDescription;
 
-@property (nonatomic, weak) BDSKBookmark *parent;
+@property (nonatomic, nullable, weak) BDSKBookmark *parent;
 
-- (NSArray *)children;
+- (nullable NSArray *)children;
 - (NSUInteger)countOfChildren;
 - (BDSKBookmark *)objectInChildrenAtIndex:(NSUInteger)idx;
 - (void)insertObject:(BDSKBookmark *)child inChildrenAtIndex:(NSUInteger)idx;
@@ -78,3 +80,5 @@
 - (BOOL)isDescendantOfArray:(NSArray *)bookmarks;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKCondition.h
===================================================================
--- trunk/bibdesk/BDSKCondition.h       2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKCondition.h       2025-02-16 18:05:46 UTC (rev 29007)
@@ -39,6 +39,8 @@
 #import <Cocoa/Cocoa.h>
 #import "NSDate_BDSKExtensions.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 // this should correspond to the tags of the items in the popup
 typedef NS_ENUM(NSInteger, BDSKStringComparison) {
        BDSKGroupContain = 0,
@@ -116,7 +118,7 @@
 
 @property (class, nonatomic, readonly) NSString *dictionaryVersion;
 
-- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
+- (nullable instancetype)initWithDictionary:(NSDictionary *)dictionary;
 
 @property (nonatomic, readonly) NSDictionary *dictionaryValue;
 
@@ -123,13 +125,13 @@
 - (BOOL)isSatisfiedByItem:(BibItem *)item;
 
 // Generic accessors
-@property (nonatomic, strong) NSString *key;
-@property (nonatomic, strong) NSString *value;
+@property (nonatomic, nullable, strong) NSString *key;
+@property (nonatomic, nullable, strong) NSString *value;
 @property (nonatomic) NSInteger comparison;
 
 // String accessors
 @property (nonatomic) BDSKStringComparison stringComparison;
-@property (nonatomic, strong) NSString *stringValue;
+@property (nonatomic, nullable, strong) NSString *stringValue;
 
 // Count accessors
 @property (nonatomic) BDSKAttachmentComparison attachmentComparison;
@@ -140,8 +142,8 @@
 @property (nonatomic) NSInteger numberValue;
 @property (nonatomic) NSInteger andNumberValue;
 @property (nonatomic) BDSKPeriod periodValue;
-@property (nonatomic, strong) NSDate *dateValue;
-@property (nonatomic, strong) NSDate *toDateValue;
+@property (nonatomic, nullable, strong) NSDate *dateValue;
+@property (nonatomic, nullable, strong) NSDate *toDateValue;
 
 - (void)setDefaultComparison;
 - (void)setDefaultValue;
@@ -150,7 +152,7 @@
 @property (nonatomic, readonly, getter=isAttachmentCondition) BOOL 
attachmentCondition;
 @property (nonatomic, readonly, getter=isStringCondition) BOOL stringCondition;
 
-@property (nonatomic, weak) id<BDSKSmartGroup> group;
+@property (nonatomic, nullable, weak) id<BDSKSmartGroup> group;
 
 @end
 
@@ -158,3 +160,5 @@
 @interface NSString (BDSKConditionExtensions)
 @property (nonatomic, readonly) BDSKFieldType fieldType;
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKErrorObject.h
===================================================================
--- trunk/bibdesk/BDSKErrorObject.h     2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKErrorObject.h     2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Foundation/Foundation.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 @class BDSKErrorEditor, BibItem;
 
 @interface BDSKErrorObject : NSObject <NSCopying> {
@@ -52,12 +54,12 @@
     BOOL ignorableWarning;
 }
 
-+ (void)reportError:(NSString *)className message:(NSString *)msg 
forFile:(NSString *)filePath line:(NSInteger)line isWarning:(BOOL)flag;
-+ (void)reportErrorMessage:(NSString *)msg forFile:(NSString *)filePath 
line:(NSInteger)line;
++ (void)reportError:(NSString *)className message:(NSString *)msg 
forFile:(nullable NSString *)filePath line:(NSInteger)line isWarning:(BOOL)flag;
++ (void)reportErrorMessage:(NSString *)msg forFile:(nullable NSString 
*)filePath line:(NSInteger)line;
 
-- (instancetype)initWithClassName:(NSString *)className message:(NSString 
*)msg forFile:(NSString *)filePath line:(NSInteger)line isWarning:(BOOL)flag;
+- (instancetype)initWithClassName:(NSString *)className message:(NSString 
*)msg forFile:(nullable NSString *)filePath line:(NSInteger)line 
isWarning:(BOOL)flag;
 
-@property (nonatomic, readonly) NSString *fileName;
+@property (nonatomic, nullable, readonly) NSString *fileName;
 @property (nonatomic, readonly) NSInteger lineNumber;
 @property (nonatomic, readonly) NSString *errorClassName;
 @property (nonatomic, readonly) NSString *errorMessage;
@@ -66,3 +68,5 @@
 @property (nonatomic, strong) BibItem *publication;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKErrorObject.m
===================================================================
--- trunk/bibdesk/BDSKErrorObject.m     2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKErrorObject.m     2025-02-16 18:05:46 UTC (rev 29007)
@@ -60,7 +60,7 @@
 }
 
 - (instancetype)init {
-    return [self initWithClassName:nil message:nil forFile:nil line:-1 
isWarning:NO];
+    return [self initWithClassName:NSLocalizedString(@"error", @"error name") 
message:@"" forFile:nil line:-1 isWarning:NO];
 }
 
 - (id)copyWithZone:(NSZone *)zone {

Modified: trunk/bibdesk/BDSKFieldCollection.h
===================================================================
--- trunk/bibdesk/BDSKFieldCollection.h 2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKFieldCollection.h 2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,7 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
 
 typedef NS_ENUM(NSInteger, BDSKFieldCollectionType) {
     BDSKStringFieldCollection, 
@@ -78,3 +79,5 @@
 - (id)objectAtIndex:(NSUInteger)index;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKFileSearchResult.h
===================================================================
--- trunk/bibdesk/BDSKFileSearchResult.h        2025-02-16 16:33:36 UTC (rev 
29006)
+++ trunk/bibdesk/BDSKFileSearchResult.h        2025-02-16 18:05:46 UTC (rev 
29007)
@@ -38,6 +38,7 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
 
 @interface BDSKFileSearchResult : NSObject <NSCopying>
 {
@@ -61,3 +62,4 @@
 
 @end
 
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKFilter.h
===================================================================
--- trunk/bibdesk/BDSKFilter.h  2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKFilter.h  2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, BDSKConjunction) {
        BDSKAnd = 0,
        BDSKOr = 1
@@ -63,8 +65,10 @@
 @property (nonatomic, strong) NSArray *conditions;
 @property (nonatomic) BDSKConjunction conjunction;
 
-@property (nonatomic, weak) id<BDSKSmartGroup> group;
+@property (nonatomic, nullable, weak) id<BDSKSmartGroup> group;
 
-@property (nonatomic, readonly) NSUndoManager *undoManager;
+@property (nonatomic, nullable, readonly) NSUndoManager *undoManager;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKGroupsArray.h
===================================================================
--- trunk/bibdesk/BDSKGroupsArray.h     2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKGroupsArray.h     2025-02-16 18:05:46 UTC (rev 29007)
@@ -39,6 +39,8 @@
 #import <Cocoa/Cocoa.h>
 #import "BDSKGroup.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 extern NSString *BDSKDocumentGroupsKey;
 extern NSString *BDSKDocumentParentGroupKey;
 
@@ -58,7 +60,7 @@
 @property (nonatomic, readonly) NSArray *categoryParents;
 
 @property (nonatomic, readonly) BDSKLibraryGroup *libraryGroup;
-@property (nonatomic, readonly) BDSKLastImportGroup *lastImportGroup;
+@property (nonatomic, nullable, readonly) BDSKLastImportGroup *lastImportGroup;
 @property (nonatomic, readonly) NSArray *sharedGroups;
 @property (nonatomic, readonly) NSArray *URLGroups;
 @property (nonatomic, readonly) NSArray *scriptGroups;
@@ -80,8 +82,10 @@
 
 - (void)sortUsingDescriptors:(NSArray *)sortDescriptors;
 
-@property (nonatomic, weak, readonly) BibDocument *document;
+@property (nonatomic, weak, nullable, readonly) BibDocument *document;
 
 - (void)setGroupsOfType:(BDSKGroupType)groupType fromSerializedData:(NSData 
*)data;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKIBArray.h
===================================================================
--- trunk/bibdesk/BDSKIBArray.h 2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKIBArray.h 2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,10 +38,13 @@
 
 #import <Cocoa/Cocoa.h>
 
- 
+ NS_ASSUME_NONNULL_BEGIN
+
 @interface BDSKIBArray : NSArray {
     id object[9];
     unsigned long mutations;
 }
-@property (nonatomic, strong) IBOutlet id object1, object2, object3, object4, 
object5, object6, object7, object8, object9;
+@property (nonatomic, nullable, strong) IBOutlet id object1, object2, object3, 
object4, object5, object6, object7, object8, object9;
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKLinkedFile.h
===================================================================
--- trunk/bibdesk/BDSKLinkedFile.h      2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKLinkedFile.h      2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,10 +38,12 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 @class BDSKLinkedFile;
 
 @protocol BDSKLinkedFileDelegate <NSObject>
-- (NSString *)basePathForLinkedFile:(BDSKLinkedFile *)file;
+- (nullable NSString *)basePathForLinkedFile:(BDSKLinkedFile *)file;
 - (void)linkedFileURLChanged:(BDSKLinkedFile *)file;
 @end
 
@@ -48,25 +50,25 @@
 
 @interface BDSKLinkedFile : NSObject <NSCopying, NSCoding>
 
-@property (nonatomic, readonly) NSURL *URL;
+@property (nonatomic, nullable, readonly) NSURL *URL;
 @property (nonatomic, readonly, getter=isFile) BOOL file;
 
 // string value to be saved as a field value, base64 encoded data for a local 
file or an absolute URL string for a remote URL
-- (NSString *)stringRelativeToPath:(NSString *)newBasePath;
+- (nullable NSString *)stringRelativeToPath:(nullable NSString *)newBasePath;
 
-@property (nonatomic, readonly) NSURL *displayURL;
-@property (nonatomic, readonly) NSString *path;
+@property (nonatomic, nullable, readonly) NSURL *displayURL;
+@property (nonatomic, nullable, readonly) NSString *path;
 
-@property (nonatomic, readonly) NSString *stringValue;
-@property (nonatomic, readonly) NSString *bibTeXString;
+@property (nonatomic, nullable, readonly) NSString *stringValue;
+@property (nonatomic, nullable, readonly) NSString *bibTeXString;
 
 // the rest is only relevant for local files, but it's safe to call for any 
linked file object
 
-@property (nonatomic, readonly) NSString *relativePath;
+@property (nonatomic, nullable, readonly) NSString *relativePath;
 
-@property (nonatomic, weak) id<BDSKLinkedFileDelegate> delegate;
+@property (nonatomic, nullable, weak) id<BDSKLinkedFileDelegate> delegate;
 
-- (void)updateWithPath:(NSString *)aPath;
+- (void)updateWithPath:(nullable NSString *)aPath;
 
 @property (nonatomic, readonly) BOOL hasSkimNotes;
 
@@ -77,15 +79,17 @@
 
 @interface BDSKLinkedFile (BDSKLinkedFileCreation)
 
-+ (instancetype)linkedFileWithURL:(NSURL *)aURL 
delegate:(id<BDSKLinkedFileDelegate>)aDelegate;
-+ (instancetype)linkedFileWithBase64String:(NSString *)base64String 
delegate:(id<BDSKLinkedFileDelegate>)aDelegate;
-+ (instancetype)linkedFileWithURLString:(NSString *)aString;
++ (nullable instancetype)linkedFileWithURL:(NSURL *)aURL delegate:(nullable 
id<BDSKLinkedFileDelegate>)aDelegate;
++ (nullable instancetype)linkedFileWithBase64String:(NSString *)base64String 
delegate:(nullable id<BDSKLinkedFileDelegate>)aDelegate;
++ (nullable instancetype)linkedFileWithURLString:(NSString *)aString;
 
 // creates a linked local file or remote URL object depending on the URL
-- (instancetype)initWithURL:(NSURL *)aURL 
delegate:(id<BDSKLinkedFileDelegate>)aDelegate;
+- (nullable instancetype)initWithURL:(NSURL *)aURL delegate:(nullable 
id<BDSKLinkedFileDelegate>)aDelegate;
 // creates a linked local file
-- (instancetype)initWithBase64String:(NSString *)base64String 
delegate:(id<BDSKLinkedFileDelegate>)aDelegate;
+- (nullable instancetype)initWithBase64String:(NSString *)base64String 
delegate:(nullable id<BDSKLinkedFileDelegate>)aDelegate;
 // creates a linked remote URL
-- (instancetype)initWithURLString:(NSString *)aString;
+- (nullable instancetype)initWithURLString:(NSString *)aString;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKPersistentSearch.h
===================================================================
--- trunk/bibdesk/BDSKPersistentSearch.h        2025-02-16 16:33:36 UTC (rev 
29006)
+++ trunk/bibdesk/BDSKPersistentSearch.h        2025-02-16 18:05:46 UTC (rev 
29007)
@@ -37,6 +37,7 @@
  */
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
 
 @interface BDSKPersistentSearch : NSObject 
 {
@@ -54,10 +55,12 @@
 - (BOOL)addQuery:(NSString *)queryString scopes:(NSArray *)searchScopes;
 
 // returns nil if no results (yet)
-- (NSArray *)resultsForQuery:(NSString *)queryString attribute:(NSString 
*)attribute;
+- (nullable NSArray *)resultsForQuery:(NSString *)queryString 
attribute:(NSString *)attribute;
 
-@property (class, nonatomic, readonly) NSString *recentDownloadsQuery;
+@property (class, nonatomic, nullable, readonly) NSString 
*recentDownloadsQuery;
 
 - (BOOL)addRecentDownloadsQuery;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKPreferenceRecord.h
===================================================================
--- trunk/bibdesk/BDSKPreferenceRecord.h        2025-02-16 16:33:36 UTC (rev 
29006)
+++ trunk/bibdesk/BDSKPreferenceRecord.h        2025-02-16 18:05:46 UTC (rev 
29007)
@@ -38,6 +38,7 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
 
 @interface BDSKPreferenceRecord : NSObject {
     NSImage *icon;
@@ -47,17 +48,19 @@
 
 - (instancetype)initWithDictionary:(NSDictionary *)aDictionary;
 
-@property (nonatomic, readonly) NSString *identifier;
-@property (nonatomic, readonly) Class paneClass;
-@property (nonatomic, readonly) NSString *nibName;
-@property (nonatomic, readonly) NSString *title;
-@property (nonatomic, readonly) NSString *label;
-@property (nonatomic, readonly) NSString *toolTip;
-@property (nonatomic, readonly) NSImage *icon;
-@property (nonatomic, readonly) NSString *helpAnchor;
-@property (nonatomic, readonly) NSURL *helpURL;
-@property (nonatomic, readonly) NSDictionary *initialValues;
-@property (nonatomic, readonly) NSArray *searchTerms;
+@property (nonatomic, nullable, readonly) NSString *identifier;
+@property (nonatomic, nullable, readonly) Class paneClass;
+@property (nonatomic, nullable, readonly) NSString *nibName;
+@property (nonatomic, nullable, readonly) NSString *title;
+@property (nonatomic, nullable, readonly) NSString *label;
+@property (nonatomic, nullable, readonly) NSString *toolTip;
+@property (nonatomic, nullable, readonly) NSImage *icon;
+@property (nonatomic, nullable, readonly) NSString *helpAnchor;
+@property (nonatomic, nullable, readonly) NSURL *helpURL;
+@property (nonatomic, nullable, readonly) NSDictionary *initialValues;
+@property (nonatomic, nullable, readonly) NSArray *searchTerms;
 @property (nonatomic, readonly) NSDictionary *dictionary;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKPreviewItem.h
===================================================================
--- trunk/bibdesk/BDSKPreviewItem.h     2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKPreviewItem.h     2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,7 @@
 
 #import "BDSKFormatParser.h"
 
+NS_ASSUME_NONNULL_BEGIN
 
 @class BDSKPreviewOwner, BDSKPreviewLinkedFile;
 
@@ -50,9 +51,11 @@
 
 @property (class, nonatomic, readonly) BDSKPreviewItem *sharedItem;
 
-@property (nonatomic, readonly) NSString *suggestedLocalFilePath;
-@property (nonatomic, readonly) NSString *suggestedCiteKey;
+@property (nonatomic, nullable, readonly) NSString *suggestedLocalFilePath;
+@property (nonatomic, nullable, readonly) NSString *suggestedCiteKey;
 
 @property (nonatomic, readonly) NSString *displayText;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKPublicationsArray.h
===================================================================
--- trunk/bibdesk/BDSKPublicationsArray.h       2025-02-16 16:33:36 UTC (rev 
29006)
+++ trunk/bibdesk/BDSKPublicationsArray.h       2025-02-16 18:05:46 UTC (rev 
29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 @class BibItem, BDSKItemSearchIndexes;
 
 @interface BDSKPublicationsArray : NSMutableArray {
@@ -47,21 +49,23 @@
     BDSKItemSearchIndexes *searchIndexes;
 }
 
-- (instancetype)initWithArray:(NSArray *)anArray NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithArray:(nullable NSArray *)anArray 
NS_DESIGNATED_INITIALIZER;
 - (BDSKPublicationsArray *)copyTemporary;
 
 // otherArray should contain the same publications, just reordered
 - (void)setReorderedArray:(NSArray *)otherArray;
 
-- (BibItem *)itemForCiteKey:(NSString *)key;
-- (NSArray *)allItemsForCiteKey:(NSString *)key;
+- (nullable BibItem *)itemForCiteKey:(NSString *)key;
+- (nullable NSArray *)allItemsForCiteKey:(NSString *)key;
 - (void)changeCiteKey:(NSString *)oldKey toCiteKey:(NSString *)newKey 
forItem:(BibItem *)anItem;
 
-- (BibItem *)itemForIdentifierURL:(NSURL *)aURL;
-- (NSArray *)itemsForIdentifierURLs:(NSArray *)anArray;
+- (nullable BibItem *)itemForIdentifierURL:(NSURL *)aURL;
+- (nullable NSArray *)itemsForIdentifierURLs:(NSArray *)anArray;
 
-- (SKIndexRef)copyIndexForField:(NSString *)field;
+- (nullable SKIndexRef)copyIndexForField:(NSString *)field;
 
 - (void)reindexPublication:(BibItem *)pub;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKScriptHook.h
===================================================================
--- trunk/bibdesk/BDSKScriptHook.h      2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKScriptHook.h      2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 extern NSString *BDSKScriptHookNameCloseEditorWindow;
 extern NSString *BDSKScriptHookNameChangeField;
 extern NSString *BDSKScriptHookNameAddFile;
@@ -63,21 +65,23 @@
     NSDocument *document;
 }
 
-+ (BDSKScriptHook *)scriptHookWithUniqueID:(NSString *)uniqueID;
++ (nullable BDSKScriptHook *)scriptHookWithUniqueID:(NSString *)uniqueID;
 
-+ (BDSKScriptHook *)newWithName:(NSString *)name;
++ (nullable BDSKScriptHook *)newWithName:(NSString *)name;
 
-- (instancetype)initWithName:(NSString *)aName script:(NSUserAppleScriptTask 
*)aScript;
+- (nullable instancetype)initWithName:(NSString *)aName 
script:(NSUserAppleScriptTask *)aScript;
 
 @property (nonatomic, readonly) NSString *name;
 @property (nonatomic, readonly) NSString *uniqueID;
-@property (nonatomic, strong) NSString *field;
-@property (nonatomic, strong) NSArray *oldValues;
-@property (nonatomic, strong) NSArray *values;
+@property (nonatomic, nullable, strong) NSString *field;
+@property (nonatomic, nullable, strong) NSArray *oldValues;
+@property (nonatomic,nullable,  strong) NSArray *values;
 @property (nonatomic) BOOL cancelled;
 @property (nonatomic, strong) NSDocument *document;
 @property (nonatomic, readonly) NSUserAppleScriptTask *script;
 
-- (void)runWithPublications:(NSArray *)items completionHandler:(void (^)(BOOL 
cancelled))handler;
+- (void)runWithPublications:(nullable NSArray *)items completionHandler:(void 
(^ _Nullable)(BOOL cancelled))handler;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKScriptHook.m
===================================================================
--- trunk/bibdesk/BDSKScriptHook.m      2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKScriptHook.m      2025-02-16 18:05:46 UTC (rev 29007)
@@ -105,7 +105,8 @@
 
 // old designated initializer, shouldn't be used
 - (instancetype)init {
-       return [self initWithName:nil script:nil];
+    self = nil;
+       return self;
 }
 
 // designated initializer

Modified: trunk/bibdesk/BDSKSearchBookmark.h
===================================================================
--- trunk/bibdesk/BDSKSearchBookmark.h  2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKSearchBookmark.h  2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, BDSKSearchBookmarkType) {
     BDSKSearchBookmarkTypeBookmark,
     BDSKSearchBookmarkTypeFolder,
@@ -48,30 +50,30 @@
     __weak BDSKSearchBookmark *parent;
 }
 
-- (instancetype)initFolderWithChildren:(NSArray *)aChildren label:(NSString 
*)aLabel;
-- (instancetype)initFolderWithLabel:(NSString *)aLabel;
-- (instancetype)initRootWithChildrenDictionaries:(NSArray *)dictionaries;
-- (instancetype)initSeparator;
-- (instancetype)initWithInfo:(NSDictionary *)aDictionary label:(NSString 
*)aLabel;
-- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
+- (nullable instancetype)initFolderWithChildren:(NSArray *)aChildren 
label:(nullable NSString *)aLabel;
+- (nullable instancetype)initFolderWithLabel:(nullable NSString *)aLabel;
+- (nullable instancetype)initRootWithChildrenDictionaries:(nullable NSArray 
*)dictionaries;
+- (nullable instancetype)initSeparator;
+- (nullable instancetype)initWithInfo:(NSDictionary *)aDictionary 
label:(nullable NSString *)aLabel;
+- (nullable instancetype)initWithDictionary:(NSDictionary *)dictionary;
 
 @property (nonatomic, readonly) NSDictionary *dictionaryValue;
 
 @property (nonatomic, readonly) BDSKSearchBookmarkType bookmarkType;
 
-@property (nonatomic, strong) NSDictionary *info;
+@property (nonatomic, nullable, strong) NSDictionary *info;
 
-@property (nonatomic, strong) NSString *label;
+@property (nonatomic, nullable, strong) NSString *label;
 
-@property (nonatomic, readonly) NSImage *icon;
+@property (nonatomic, nullable, readonly) NSImage *icon;
 
-@property (nonatomic, readonly) NSString *name;
+@property (nonatomic, nullable, readonly) NSString *name;
 
-@property (nonatomic, strong) NSString *searchTerm;
+@property (nonatomic, nullable, strong) NSString *searchTerm;
 
-@property (nonatomic, weak) BDSKSearchBookmark *parent;
+@property (nonatomic, nullable, weak) BDSKSearchBookmark *parent;
 
-- (NSArray *)children;
+- (nullable NSArray *)children;
 - (NSUInteger)countOfChildren;
 - (BDSKSearchBookmark *)objectInChildrenAtIndex:(NSUInteger)idx;
 - (void)insertObject:(BDSKSearchBookmark *)child 
inChildrenAtIndex:(NSUInteger)idx;
@@ -83,3 +85,5 @@
 - (BOOL)isDescendantOfArray:(NSArray *)bookmarks;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKServerInfo.h
===================================================================
--- trunk/bibdesk/BDSKServerInfo.h      2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKServerInfo.h      2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, BDSKServerType) {
     BDSKServerTypeEntrez,
     BDSKServerTypeZoom,
@@ -59,11 +61,11 @@
     BDSKReadWriteLock *passwordLock;
 }
 
-+ (instancetype)defaultServerInfoWithType:(NSString *)aType;
++ (nullable instancetype)defaultServerInfoWithType:(NSString *)aType;
 
-- (instancetype)initWithType:(NSString *)aType name:(NSString *)aName 
database:(NSString *)aDbase host:(NSString *)aHost port:(NSString *)aPort 
options:(NSDictionary *)options;
+- (nullable instancetype)initWithType:(NSString *)aType name:(NSString *)aName 
database:(NSString *)aDbase host:(nullable NSString *)aHost port:(nullable 
NSString *)aPort options:(nullable NSDictionary *)options;
 
-- (instancetype)initWithDictionary:(NSDictionary *)info;
+- (nullable instancetype)initWithDictionary:(NSDictionary *)info;
 
 @property (nonatomic, readonly) NSDictionary *dictionaryValue;
 
@@ -70,15 +72,15 @@
 @property (nonatomic, readonly) NSString *type;
 @property (nonatomic, readonly) NSString *name;
 @property (nonatomic, readonly) NSString *database;
-@property (nonatomic, readonly) NSString *host;
-@property (nonatomic, readonly) NSString *port;
-@property (nonatomic, readonly) NSString *username;
-@property (nonatomic, readonly) NSString *recordSyntax;
-@property (nonatomic, readonly) NSString *resultEncoding;
-@property (nonatomic, readonly) NSString *queryConfig;
+@property (nonatomic, nullable, readonly) NSString *host;
+@property (nonatomic, nullable, readonly) NSString *port;
+@property (nonatomic, nullable, readonly) NSString *username;
+@property (nonatomic, nullable, readonly) NSString *recordSyntax;
+@property (nonatomic, nullable, readonly) NSString *resultEncoding;
+@property (nonatomic, nullable, readonly) NSString *queryConfig;
 @property (nonatomic, readonly) BOOL removeDiacritics;
 @property (nonatomic, readonly, getter=isLite) BOOL lite;
-@property (nonatomic, readonly) NSDictionary *options;
+@property (nonatomic, nullable, readonly) NSDictionary *options;
 
 @property (nonatomic, readonly, getter=isEntrez) BOOL entrez;
 @property (nonatomic, readonly, getter=isZoom) BOOL zoom;
@@ -90,7 +92,7 @@
 @property (nonatomic, readonly) NSURL *URLValue;
 
 // use this to get the password, as the accessor returns nil to deny access to 
templating
-- (BOOL)getUsername:(NSString **)username password:(NSString **)password;
+- (BOOL)getUsername:(NSString * _Nullable * _Nullable)username 
password:(NSString * _Nullable * _Nullable)password;
 
 - (void)savePasswordInKeychain;
 
@@ -101,13 +103,15 @@
 @property (nonatomic, copy) NSString *type;
 @property (nonatomic, copy) NSString *name;
 @property (nonatomic, copy) NSString *database;
-@property (nonatomic, copy) NSString *host;
-@property (nonatomic, copy) NSString *port;
-@property (nonatomic, copy) NSString *password;
-@property (nonatomic, copy) NSString *username;
-@property (nonatomic, copy) NSString *recordSyntax;
-@property (nonatomic, copy) NSString *resultEncoding;
+@property (nonatomic, nullable, copy) NSString *host;
+@property (nonatomic, nullable, copy) NSString *port;
+@property (nonatomic, nullable, copy) NSString *password;
+@property (nonatomic, nullable, copy) NSString *username;
+@property (nonatomic, nullable, copy) NSString *recordSyntax;
+@property (nonatomic, nullable, copy) NSString *resultEncoding;
 @property (nonatomic) BOOL removeDiacritics;
 @property (nonatomic, getter=isLite) BOOL lite;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKStringNode.h
===================================================================
--- trunk/bibdesk/BDSKStringNode.h      2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKStringNode.h      2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,7 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
 
 typedef NS_ENUM(NSUInteger, BDSKStringNodeType) {
     BDSKStringNodeString = 0,
@@ -133,3 +134,5 @@
 @property (nonatomic, readonly) NSString *value;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKTask.h
===================================================================
--- trunk/bibdesk/BDSKTask.h    2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKTask.h    2025-02-16 18:05:46 UTC (rev 29007)
@@ -51,6 +51,8 @@
  
  */
 
+NS_ASSUME_NONNULL_BEGIN
+
 @interface BDSKTask : NSTask {
 @private
     NSString                *_launchPath;
@@ -83,3 +85,5 @@
     __eintr_result__;\
 })
 #endif
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKTemplate.h
===================================================================
--- trunk/bibdesk/BDSKTemplate.h        2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKTemplate.h        2025-02-16 18:05:46 UTC (rev 29007)
@@ -39,6 +39,8 @@
 #import <Cocoa/Cocoa.h>
 #import "BDSKTreeNode.h"
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_OPTIONS(NSUInteger, BDSKTemplateFormat) {
     BDSKTemplateFormatUnknown = 0,
     BDSKTemplateFormatText = 1 << 0, // generic plain text template
@@ -74,17 +76,17 @@
 + (NSString *)unlocalizedRoleString:(NSString *)string; 
 
 // all templates
-@property (class, nonatomic, copy) NSArray *exportTemplates;
-@property (class, nonatomic, copy) NSArray *serviceTemplates;
+@property (class, nonatomic, nullable, copy) NSArray *exportTemplates;
+@property (class, nonatomic, nullable, copy) NSArray *serviceTemplates;
 
 // known export style names
 @property (class, nonatomic, readonly) NSArray *allStyleNames;
 @property (class, nonatomic, readonly) NSString *defaultPreviewTemplateName;
 + (NSArray *)allStyleNamesForFormat:(BDSKTemplateFormat)format;
-+ (NSString *)defaultStyleNameForFileType:(NSString *)fileType;
++ (nullable NSString *)defaultStyleNameForFileType:(NSString *)fileType;
 
 // export templates
-+ (BDSKTemplate *)templateForStyle:(NSString *)styleName;
++ (nullable BDSKTemplate *)templateForStyle:(NSString *)styleName;
 
 + (BDSKTemplate *)templateWithName:(NSString *)name mainPageURL:(NSURL 
*)fileURL;
 + (BDSKTemplate *)templateWithString:(NSString *)string fileType:(NSString 
*)fileType;
@@ -98,38 +100,38 @@
 // top-level template accessors
 
 @property (nonatomic, readonly) BDSKTemplateFormat templateFormat, 
templateFormatNoUI;
-@property (nonatomic, readonly) NSString *fileExtension;
-@property (nonatomic, readonly) NSString *documentType;
+@property (nonatomic, nullable, readonly) NSString *fileExtension;
+@property (nonatomic, nullable, readonly) NSString *documentType;
 
-@property (nonatomic, readonly) NSString *mainPageString;
-- (NSAttributedString 
*)mainPageAttributedStringWithDocumentAttributes:(NSDictionary **)docAttributes;
-@property (nonatomic, readonly) NSString *scriptPath;
+@property (nonatomic, nullable, readonly) NSString *mainPageString;
+- (nullable NSAttributedString 
*)mainPageAttributedStringWithDocumentAttributes:(NSDictionary * _Nullable * 
_Nullable)docAttributes;
+@property (nonatomic, nullable, readonly) NSString *scriptPath;
 
 // returns the contents of a child for the given type or of the default 
template
 // (pass nil for the type if you explicitly desire the default template 
content)
 // encoding should be either Unicode, UTF-8, or defaultCStringEncoding
-- (NSString *)stringForType:(NSString *)type;
-- (NSAttributedString *)attributedStringForType:(NSString *)type;
+- (nullable NSString *)stringForType:(NSString *)type;
+- (nullable NSAttributedString *)attributedStringForType:(NSString *)type;
 
-@property (nonatomic, readonly) NSURL *mainPageTemplateURL;
-@property (nonatomic, readonly) NSURL *defaultItemTemplateURL;
+@property (nonatomic, nullable, readonly) NSURL *mainPageTemplateURL;
+@property (nonatomic, nullable, readonly) NSURL *defaultItemTemplateURL;
 
 @property (nonatomic, readonly) BOOL hasMainPageTemplateURL;
 
-- (NSURL *)templateURLForType:(NSString *)pubType;
+- (nullable NSURL *)templateURLForType:(NSString *)pubType;
 
-@property (nonatomic, readonly) NSArray *accessoryFileURLs;
-@property (nonatomic, readonly) NSURL *scriptURL;
+@property (nonatomic, nullable, readonly) NSArray *accessoryFileURLs;
+@property (nonatomic, nullable, readonly) NSURL *scriptURL;
 
 // child template accessors
-@property (nonatomic, strong) NSURL *representedFileURL;
+@property (nonatomic, nullable, strong) NSURL *representedFileURL;
 
-@property (nonatomic, readonly) NSURL *representedFileURLNoUI;
+@property (nonatomic, nullable, readonly) NSURL *representedFileURLNoUI;
 
 // other methods
 - (BOOL)addChildWithURL:(NSURL *)fileURL role:(NSString *)role;
-- (instancetype)childForRole:(NSString *)role;
+- (nullable instancetype)childForRole:(NSString *)role;
 
 @end
 
-
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKTemplateObjectProxy.h
===================================================================
--- trunk/bibdesk/BDSKTemplateObjectProxy.h     2025-02-16 16:33:36 UTC (rev 
29006)
+++ trunk/bibdesk/BDSKTemplateObjectProxy.h     2025-02-16 18:05:46 UTC (rev 
29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 @class BDSKTemplate;
 
 @interface BDSKTemplateObjectProxy : NSObject {
@@ -48,13 +50,13 @@
 }
 
 + (NSString *)stringByParsingTemplate:(BDSKTemplate *)template 
withObject:(id)anObject publications:(NSArray *)items;
-+ (NSString *)stringByParsingTemplate:(BDSKTemplate *)template 
withObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(NSArray *)itemsContext;
-+ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate 
*)template withObject:(id)anObject publications:(NSArray *)items 
documentAttributes:(NSDictionary **)docAttributes;
-+ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate 
*)template withObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(NSArray *)itemsContext documentAttributes:(NSDictionary 
**)docAttributes;
-+ (NSData *)dataByParsingTemplate:(BDSKTemplate *)template 
withObject:(id)anObject publications:(NSArray *)items;
-+ (NSData *)dataByParsingTemplate:(BDSKTemplate *)template 
withObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(NSArray *)itemsContext;
++ (NSString *)stringByParsingTemplate:(BDSKTemplate *)template 
withObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(nullable NSArray *)itemsContext;
++ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate 
*)template withObject:(id)anObject publications:(NSArray *)items 
documentAttributes:(NSDictionary * _Nullable * _Nullable)docAttributes;
++ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate 
*)template withObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(nullable NSArray *)itemsContext 
documentAttributes:(NSDictionary * _Nullable * _Nullable)docAttributes;
++ (nullable NSData *)dataByParsingTemplate:(BDSKTemplate *)template 
withObject:(id)anObject publications:(NSArray *)items;
++ (nullable NSData *)dataByParsingTemplate:(BDSKTemplate *)template 
withObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(nullable NSArray *)itemsContext;
 
-- (instancetype)initWithObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(NSArray *)itemsContext template:(BDSKTemplate *)aTemplate;
+- (instancetype)initWithObject:(id)anObject publications:(NSArray *)items 
publicationsContext:(nullable NSArray *)itemsContext template:(BDSKTemplate 
*)aTemplate;
 
 @property (nonatomic, readonly) NSArray *publications;
 @property (nonatomic, readonly) id publicationsUsingTemplate;
@@ -62,3 +64,5 @@
 @property (nonatomic, readonly) NSDate *currentDate;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKTemplateTag.h
===================================================================
--- trunk/bibdesk/BDSKTemplateTag.h     2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKTemplateTag.h     2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, BDSKTemplateTagType) {
     BDSKTemplateTagValue,
     BDSKTemplateTagCollection,
@@ -88,7 +90,7 @@
 
 @property (nonatomic, readonly) NSDictionary *attributes;
 
-@property (nonatomic, readonly) BDSKAttributeTemplate *linkTemplate;
+@property (nonatomic, nullable, readonly) BDSKAttributeTemplate *linkTemplate;
 
 @end
 
@@ -101,10 +103,10 @@
     NSArray *separatorTemplate;
 }
 
-- (instancetype)initWithKeyPath:(NSString *)aKeyPath 
itemTemplateString:(NSString *)anItemTemplateString 
separatorTemplateString:(NSString *)aSeparatorTemplateString;
+- (instancetype)initWithKeyPath:(NSString *)aKeyPath 
itemTemplateString:(NSString *)anItemTemplateString 
separatorTemplateString:(nullable NSString *)aSeparatorTemplateString;
 
 @property (nonatomic, readonly) NSArray *itemTemplate;
-@property (nonatomic, readonly) NSArray *separatorTemplate;
+@property (nonatomic, nullable, readonly) NSArray *separatorTemplate;
 
 @end
 
@@ -117,10 +119,10 @@
     NSArray *separatorTemplate;
 }
 
-- (instancetype)initWithKeyPath:(NSString *)aKeyPath 
itemTemplateAttributedString:(NSAttributedString 
*)anItemTemplateAttributedString 
separatorTemplateAttributedString:(NSAttributedString 
*)aSeparatorTemplateAttributedString;
+- (instancetype)initWithKeyPath:(NSString *)aKeyPath 
itemTemplateAttributedString:(NSAttributedString 
*)anItemTemplateAttributedString separatorTemplateAttributedString:(nullable 
NSAttributedString *)aSeparatorTemplateAttributedString;
 
 @property (nonatomic, readonly) NSArray *itemTemplate;
-@property (nonatomic, readonly) NSArray *separatorTemplate;
+@property (nonatomic, nullable, readonly) NSArray *separatorTemplate;
 
 @end
 
@@ -186,12 +188,14 @@
     Class attributeClass;
 }
 
-- (instancetype)initWithTemplate:(NSArray *)aTemplate range:(NSRange)aRange 
attributeClass:(Class)aClass;
+- (instancetype)initWithTemplate:(nullable NSArray *)aTemplate 
range:(NSRange)aRange attributeClass:(nullable Class)aClass;
 
-@property (nonatomic, readonly) NSArray *template;
+@property (nonatomic, nullable, readonly) NSArray *template;
 
 @property (nonatomic, readonly) NSRange range;
 
-@property (nonatomic, readonly) Class attributeClass;
+@property (nonatomic, nullable, readonly) Class attributeClass;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKToken.h
===================================================================
--- trunk/bibdesk/BDSKToken.h   2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKToken.h   2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, BDSKTokenType) {
     BDSKTokenTypeField,
     BDSKTokenTypeURL,
@@ -70,18 +72,18 @@
 @property (nonatomic, readonly) NSString *boxTitle;
 @property (nonatomic, getter=isInRepository) BOOL inRepository;
 
-@property (nonatomic, strong) NSString *fontName;
+@property (nonatomic, nullable, strong) NSString *fontName;
 @property (nonatomic) CGFloat fontSize;
 @property (nonatomic) NSInteger bold;
 @property (nonatomic) NSInteger italic;
 
-@property (nonatomic, readonly) NSString *string;
+@property (nonatomic, nullable, readonly) NSString *string;
 
-- (NSAttributedString *)attributedStringWithDefaultAttributes:(NSDictionary 
*)attributes;
+- (nullable NSAttributedString 
*)attributedStringWithDefaultAttributes:(NSDictionary *)attributes;
 
 @property (nonatomic, readonly) NSSet *keysForValuesToObserveForUndo;
 
-- (void)setKey:(NSString *)aKey toValue:(id)aValue;
+- (void)setKey:(NSString *)aKey toValue:(nullable id)aValue;
 
 @end
 
@@ -106,8 +108,8 @@
 }
 
 @property (nonatomic, strong) NSString *appendingKey;
-@property (nonatomic, strong) NSString *prefix;
-@property (nonatomic, strong) NSString *suffix;
+@property (nonatomic, nullable, strong) NSString *prefix;
+@property (nonatomic, nullable, strong) NSString *suffix;
 
 @end
 
@@ -118,8 +120,8 @@
     NSString *cleaningKey;
 }
 
-@property (nonatomic, strong) NSString *casingKey;
-@property (nonatomic, strong) NSString *cleaningKey;
+@property (nonatomic, nullable, strong) NSString *casingKey;
+@property (nonatomic, nullable, strong) NSString *cleaningKey;
 
 @end
 
@@ -129,7 +131,7 @@
     NSString *urlFormatKey;
 }
 
-@property (nonatomic, strong) NSString *urlFormatKey;
+@property (nonatomic, nullable, strong) NSString *urlFormatKey;
 
 @end
 
@@ -140,8 +142,8 @@
     NSString *joinStyleKey;
 }
 
-@property (nonatomic, strong) NSString *nameStyleKey;
-@property (nonatomic, strong) NSString *joinStyleKey;
+@property (nonatomic, nullable, strong) NSString *nameStyleKey;
+@property (nonatomic, nullable, strong) NSString *joinStyleKey;
 
 @end
 
@@ -152,8 +154,8 @@
     NSString *linkedFileJoinStyleKey;
 }
 
-@property (nonatomic, strong) NSString *linkedFileFormatKey;
-@property (nonatomic, strong) NSString *linkedFileJoinStyleKey;
+@property (nonatomic, nullable, strong) NSString *linkedFileFormatKey;
+@property (nonatomic, nullable, strong) NSString *linkedFileJoinStyleKey;
 
 @end
 
@@ -163,7 +165,7 @@
     NSString *dateFormatKey;
 }
 
-@property (nonatomic, strong) NSString *dateFormatKey;
+@property (nonatomic, nullable, strong) NSString *dateFormatKey;
 
 @end
 
@@ -174,8 +176,8 @@
     NSString *counterCasingKey;
 }
 
-@property (nonatomic, strong) NSString *counterStyleKey;
-@property (nonatomic, strong) NSString *counterCasingKey;
+@property (nonatomic, nullable, strong) NSString *counterStyleKey;
+@property (nonatomic, nullable, strong) NSString *counterCasingKey;
 
 @end
 
@@ -187,7 +189,9 @@
 }
 
 @property (nonatomic, strong) NSString *title;
-@property (nonatomic, strong) NSString *field;
-@property (nonatomic, strong) NSString *altText;
+@property (nonatomic, nullable, strong) NSString *field;
+@property (nonatomic, nullable, strong) NSString *altText;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKTreeNode.h
===================================================================
--- trunk/bibdesk/BDSKTreeNode.h        2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKTreeNode.h        2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,7 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
 
 @interface BDSKTreeNode : NSObject <NSCoding, NSCopying>
 {
@@ -46,18 +47,20 @@
     __weak BDSKTreeNode *parent;
 }
 
-- (instancetype)initWithColumnValues:(NSDictionary *)newColumnValues 
children:(NSArray *)newChildren;
+- (instancetype)initWithColumnValues:(nullable NSDictionary *)newColumnValues 
children:(nullable NSArray *)newChildren;
 
 // uses isEqual:
-- (NSArray *)children;
-- (void)setChildren:(NSArray *)newChildren;
+- (nullable NSArray *)children;
+- (void)setChildren:(nullable NSArray *)newChildren;
 - (NSUInteger)countOfChildren;
 - (id)objectInChildrenAtIndex:(NSUInteger)anIndex;
 - (void)insertObject:(id)obj inChildrenAtIndex:(NSUInteger)anIndex;
 - (void)removeObjectFromChildrenAtIndex:(NSUInteger)anIndex;
 
-@property (nonatomic, weak) BDSKTreeNode *parent;
+@property (nonatomic, nullable, weak) BDSKTreeNode *parent;
 
 @property (nonatomic, readonly, getter=isLeaf) BOOL leaf;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKTypeTemplate.h
===================================================================
--- trunk/bibdesk/BDSKTypeTemplate.h    2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKTypeTemplate.h    2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 extern NSString *BDSKTemplateDidChangeNotification;
 
 @interface BDSKTypeTemplate : NSObject {
@@ -56,7 +58,7 @@
 @property (nonatomic, getter=isIncluded) BOOL included;
 @property (nonatomic, getter=isDefaultTemplate) BOOL defaultTemplate;
 
-@property (nonatomic, readonly) NSColor *textColor;
+@property (nonatomic, nullable, readonly) NSColor *textColor;
 
 @property (nonatomic, readonly) NSArray *requiredTokens;
 @property (nonatomic, readonly) NSArray *optionalTokens;
@@ -67,3 +69,5 @@
 - (NSAttributedString *)attributedStringWithDefaultAttributes:(NSDictionary 
*)attributes;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BDSKVersionNumber.h
===================================================================
--- trunk/bibdesk/BDSKVersionNumber.h   2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BDSKVersionNumber.h   2025-02-16 18:05:46 UTC (rev 29007)
@@ -38,6 +38,8 @@
 
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, BDSKVersionType) {
     BDSKVersionTypeRelease = 0,
     BDSKVersionTypeReleaseCandidate = -1,
@@ -58,9 +60,9 @@
 
 + (NSComparisonResult)compareVersionString:(NSString *)versionString 
toVersionString:(NSString *)otherVersionString;
 
-+ (instancetype)versionNumberWithVersionString:(NSString *)versionString;
++ (nullable instancetype)versionNumberWithVersionString:(NSString 
*)versionString;
 
-- (instancetype)initWithVersionString:(NSString *)versionString;
+- (nullable instancetype)initWithVersionString:(NSString *)versionString;
 
 @property (nonatomic, readonly) NSString *originalVersionString;
 @property (nonatomic, readonly) NSString *cleanVersionString;
@@ -73,3 +75,5 @@
 - (NSComparisonResult)compare:(BDSKVersionNumber *)otherVersion;
 
 @end
+
+NS_ASSUME_NONNULL_END

Modified: trunk/bibdesk/BibAuthor.h
===================================================================
--- trunk/bibdesk/BibAuthor.h   2025-02-16 16:33:36 UTC (rev 29006)
+++ trunk/bibdesk/BibAuthor.h   2025-02-16 18:05:46 UTC (rev 29007)
@@ -39,6 +39,8 @@
 */
 #import <Cocoa/Cocoa.h>
 
+NS_ASSUME_NONNULL_BEGIN
+
 @class BibItem;
 
 typedef NS_OPTIONS(NSUInteger, BDSKAuthorDisplay) {
@@ -77,7 +79,7 @@
 @property (class, nonatomic, readonly) BibAuthor *emptyAuthor;
 + (BibAuthor *)authorWithVCardRepresentation:(NSData *)vCard;
 
-- (instancetype)initWithName:(NSString *)aName publication:(BibItem *)aPub 
forField:(NSString *)aField;
+- (instancetype)initWithName:(NSString *)aName publication:(nullable BibItem 
*)aPub forField:(nullable NSString *)aField;
 
 - (NSComparisonResult)compare:(BibAuthor *)otherAuth;
 - (BOOL)fuzzyEqual:(BibAuthor *)otherAuth;
@@ -95,10 +97,10 @@
 - (NSComparisonResult)sortCompare:(BibAuthor *)otherAuth;
 
 // The basic parts as interpreted by btparse
-@property (nonatomic, readonly) NSString *firstName;
-@property (nonatomic, readonly) NSString *vonPart;
-@property (nonatomic, readonly) NSString *lastName;
-@property (nonatomic, readonly) NSString *jrPart;
+@property (nonatomic, nullable, readonly) NSString *firstName;
+@property (nonatomic, nullable, readonly) NSString *vonPart;
+@property (nonatomic, nullable, readonly) NSString *lastName;
+@property (nonatomic, nullable, readonly) NSString *jrPart;
 
 // name used to create the BibAuthor instance
 @property (nonatomic, readonly) NSString *originalName;
@@ -124,12 +126,12 @@
 
 - (NSXMLElement *)MODSXMLElementWithRole:(NSString *)rel;
 
-@property (nonatomic, weak) BibItem *publication;
+@property (nonatomic, nullable, weak) BibItem *publication;
 
-@property (nonatomic, readonly) NSString *field;
+@property (nonatomic, nullable, readonly) NSString *field;
 
-@property (nonatomic, readonly) NSData *imageData;
-@property (nonatomic, readonly) NSData *vCardRepresentation;
+@property (nonatomic, nullable, readonly) NSData *imageData;
+@property (nonatomic, nullable, readonly) NSData *vCardRepresentation;
 
 @end
 
@@ -137,3 +139,5 @@
 @interface NSArray (BibAuthorMultipleCompare)
 - (NSComparisonResult)sortCompareToAuthorArray:(NSArray *)other;
 @end
+
+NS_ASSUME_NONNULL_END

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



_______________________________________________
Bibdesk-commit mailing list
Bibdesk-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to