Revision: 15807
          http://sourceforge.net/p/skim-app/code/15807
Author:   hofman
Date:     2025-11-17 22:21:14 +0000 (Mon, 17 Nov 2025)
Log Message:
-----------
shorter bbackward compatibility code

Modified Paths:
--------------
    trunk/SkimNotes/SKNDocument.m
    trunk/SkimNotes/SKNUtilities.m
    trunk/SkimNotes/skimnotes.m

Modified: trunk/SkimNotes/SKNDocument.m
===================================================================
--- trunk/SkimNotes/SKNDocument.m       2025-11-17 17:43:12 UTC (rev 15806)
+++ trunk/SkimNotes/SKNDocument.m       2025-11-17 22:21:14 UTC (rev 15807)
@@ -94,7 +94,7 @@
 - (NSData *)dataOfType:(NSString *)docType error:(NSError **)outError {
     NSData *data = nil;
     if ([[NSWorkspace sharedWorkspace] type:SKNSkimNotesDocumentType 
conformsToType:docType]) {
-        data = [NSKeyedArchiver archivedDataWithRootObject:_notes 
requiringSecureCoding:YES error:NULL];
+        data = SKNDataFromSkimNotes(_notes, YES);
     }
     if (data == nil && outError)
         *outError = [NSError errorWithDomain:SKNDocumentErrorDomain code:0 
userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Unable 
to save notes", @""), NSLocalizedDescriptionKey, nil]];
@@ -127,10 +127,7 @@
         [ws type:docType conformsToType:SKNSkimNotesDocumentType]) {
         data = [[SKNSkimReader sharedReader] SkimNotesAtURL:absoluteURL];
         if (data) {
-            @try { array = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet 
setWithObjects:[NSArray class], [NSDictionary class], [NSString class], 
[NSNumber class], [NSData class], [NSDate class], [NSColor class], [NSFont 
class], [NSAttributedString class], [NSImage class], nil] fromData:data 
error:NULL]; }
-            @catch (id e) {}
-            if (array == nil)
-                array = [NSPropertyListSerialization propertyListWithData:data 
options:NSPropertyListImmutable format:NULL error:NULL];
+            array = SKNSkimNotesFromData(data);
         }
     }
 
@@ -143,10 +140,7 @@
         [ws type:docType conformsToType:SKNSkimNotesDocumentType]) {
         data = [[SKNXPCSkimReader sharedReader] SkimNotesAtURL:absoluteURL];
         if (data) {
-            @try { array = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet 
setWithObjects:[NSArray class], [NSDictionary class], [NSString class], 
[NSNumber class], [NSData class], [NSDate class], [NSColor class], [NSFont 
class], [NSAttributedString class], [NSImage class], nil] fromData:data 
error:NULL]; }
-            @catch (id e) {}
-            if (array == nil)
-                array = [NSPropertyListSerialization propertyListWithData:data 
options:NSPropertyListImmutable format:NULL error:NULL];
+            array = SKNSkimNotesFromData(data);
         }
     }
 
@@ -157,11 +151,7 @@
         [ws type:docType conformsToType:SKNSkimNotesDocumentType]) {
         [[SKNXPCSkimReader sharedReader] readSkimNotesAtURL:absoluteURL 
reply:(NSData *data){
             if (data) {
-                NSArray *arr = nil;
-                @try { arr = [NSKeyedUnarchiver 
unarchivedObjectOfClasses:[NSSet setWithObjects:[NSArray class], [NSDictionary 
class], [NSString class], [NSNumber class], [NSData class], [NSDate class], 
[NSColor class], [NSFont class], [NSAttributedString class], [NSImage class], 
nil] fromData:data error:NULL]; }
-                @catch (id e) {}
-                if (arr == nil)
-                    arr = [NSPropertyListSerialization 
propertyListWithData:data options:NSPropertyListImmutable format:NULL 
error:NULL];
+                NSArray *arr = SKNSkimNotesFromData(data);
                 if (arr)
                     [self setNotes:arr];
             }
@@ -227,10 +217,7 @@
     }
     if (data) {
         if ([data length]) {
-            @try { array = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet 
setWithObjects:[NSArray class], [NSDictionary class], [NSString class], 
[NSNumber class], [NSData class], [NSDate class], [NSColor class], [NSFont 
class], [NSAttributedString class], [NSImage class], nil] fromData:data 
error:NULL]; }
-            @catch (id e) {}
-            if (array == nil)
-                array = [NSPropertyListSerialization propertyListWithData:data 
options:NSPropertyListImmutable format:NULL error:NULL];
+            array = SKNSkimNotesFromData(data);
         } else {
             array = @[];
         }

Modified: trunk/SkimNotes/SKNUtilities.m
===================================================================
--- trunk/SkimNotes/SKNUtilities.m      2025-11-17 17:43:12 UTC (rev 15806)
+++ trunk/SkimNotes/SKNUtilities.m      2025-11-17 22:21:14 UTC (rev 15807)
@@ -241,16 +241,16 @@
     ch >>= 4;
     if (ch == 0xD) {
 #if !defined(SKIMNOTES_PLATFORM_IOS)
+        @try {
 #if (!defined(MAC_OS_X_VERSION_10_13) || MAC_OS_X_VERSION_MIN_REQUIRED < 
MAC_OS_X_VERSION_10_13)
-        if ([NSKeyedUnarchiver 
respondsToSelector:@selector(unarchivedObjectOfClasses:fromData:error:)] == NO) 
{
-            @try { noteDicts = [NSKeyedUnarchiver 
unarchiveObjectWithData:data]; }
-            @catch (id e) {}
-        } else
+            if ([NSKeyedUnarchiver 
respondsToSelector:@selector(unarchivedObjectOfClasses:fromData:error:)] == NO)
+                noteDicts = [NSKeyedUnarchiver unarchiveObjectWithData:data];
+            else
 #endif
-        {
-            @try { noteDicts = [NSKeyedUnarchiver 
unarchivedObjectOfClasses:[NSSet setWithObjects:[NSArray class], [NSDictionary 
class], [NSString class], [NSNumber class], [NSData class], [NSDate class], 
[NSColor class], [NSFont class], [NSAttributedString class], [NSImage class], 
nil] fromData:data error:NULL]; }
-            @catch (id e) {}
+            noteDicts = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet 
setWithObjects:[NSArray class], [NSDictionary class], [NSString class], 
[NSNumber class], [NSData class], [NSDate class], [NSColor class], [NSFont 
class], [NSAttributedString class], [NSImage class], nil] fromData:data 
error:NULL];
+        
         }
+        @catch (id e) {}
         if ([noteDicts isKindOfClass:[NSArray class]] == NO) {
             noteDicts = nil;
         }

Modified: trunk/SkimNotes/skimnotes.m
===================================================================
--- trunk/SkimNotes/skimnotes.m 2025-11-17 17:43:12 UTC (rev 15806)
+++ trunk/SkimNotes/skimnotes.m 2025-11-17 22:21:14 UTC (rev 15807)
@@ -573,16 +573,15 @@
                 if (data) {
                     NSArray *inNotes = nil;
                     BOOL isPlist = NO;
+                    @try {
 #if (!defined(MAC_OS_X_VERSION_10_13) || MAC_OS_X_VERSION_MIN_REQUIRED < 
MAC_OS_X_VERSION_10_13)
-                    if ([NSKeyedUnarchiver 
respondsToSelector:@selector(unarchivedObjectOfClasses:fromData:error:)] == NO) 
{
-                        @try { inNotes = [NSKeyedUnarchiver 
unarchiveObjectWithData:data]; }
-                        @catch (id e) {}
-                    } else
+                        if ([NSKeyedUnarchiver 
respondsToSelector:@selector(unarchivedObjectOfClasses:fromData:error:)] == NO)
+                            inNotes = [NSKeyedUnarchiver 
unarchiveObjectWithData:data];
+                        else
 #endif
-                    {
-                        @try { inNotes = [NSKeyedUnarchiver 
unarchivedObjectOfClasses:[NSSet setWithObjects:[NSArray class], [NSDictionary 
class], [NSString class], [NSNumber class], [NSData class], [NSDate class], 
[NSColor class], [NSFont class], [NSAttributedString class], [NSImage class], 
nil] fromData:data error:NULL]; }
-                        @catch (id e) {}
+                        inNotes = [NSKeyedUnarchiver 
unarchivedObjectOfClasses:[NSSet setWithObjects:[NSArray class], [NSDictionary 
class], [NSString class], [NSNumber class], [NSData class], [NSDate class], 
[NSColor class], [NSFont class], [NSAttributedString class], [NSImage class], 
nil] fromData:data error:NULL];
                     }
+                    @catch (id e) {}
                     if (inNotes == nil) {
                         inNotes = [NSPropertyListSerialization 
propertyListWithData:data options:NSPropertyListImmutable format:NULL 
error:NULL];
                         isPlist = YES;

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



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to