]> granicus.if.org Git - vim/commitdiff
patch 8.1.0063: Mac: NSStringPboardType is deprecated v8.1.0063
authorBram Moolenaar <Bram@vim.org>
Sun, 17 Jun 2018 13:01:04 +0000 (15:01 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 17 Jun 2018 13:01:04 +0000 (15:01 +0200)
Problem:    Mac: NSStringPboardType is deprecated.
Solution:   Use NSPasteboardTypeString. (Akshay Hegde, closes #3022)

src/os_macosx.m
src/version.c

index b0d29d947755437cafd6087f77bc2254dc497394..752bdae116cb743761226989121517d1a1ed52c4 100644 (file)
@@ -63,8 +63,13 @@ clip_mch_request_selection(VimClipboard *cbd)
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 
     NSPasteboard *pb = [NSPasteboard generalPasteboard];
+#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+    NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType,
+           NSPasteboardTypeString, nil];
+#else
     NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType,
            NSStringPboardType, nil];
+#endif
     NSString *bestType = [pb availableTypeFromArray:supportedTypes];
     if (!bestType) goto releasepool;
 
@@ -76,7 +81,7 @@ clip_mch_request_selection(VimClipboard *cbd)
        /* This type should consist of an array with two objects:
         *   1. motion type (NSNumber)
         *   2. text (NSString)
-        * If this is not the case we fall back on using NSStringPboardType.
+        * If this is not the case we fall back on using NSPasteboardTypeString.
         */
        id plist = [pb propertyListForType:VimPboardType];
        if ([plist isKindOfClass:[NSArray class]] && [plist count] == 2)
@@ -92,10 +97,15 @@ clip_mch_request_selection(VimClipboard *cbd)
 
     if (!string)
     {
-       /* Use NSStringPboardType.  The motion type is detected automatically.
+       /* Use NSPasteboardTypeString.  The motion type is detected automatically.
         */
+#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+       NSMutableString *mstring =
+               [[pb stringForType:NSPasteboardTypeString] mutableCopy];
+#else
        NSMutableString *mstring =
                [[pb stringForType:NSStringPboardType] mutableCopy];
+#endif
        if (!mstring) goto releasepool;
 
        /* Replace unrecognized end-of-line sequences with \x0a (line feed). */
@@ -178,15 +188,24 @@ clip_mch_set_selection(VimClipboard *cbd)
 
        /* See clip_mch_request_selection() for info on pasteboard types. */
        NSPasteboard *pb = [NSPasteboard generalPasteboard];
+#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+       NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType,
+               NSPasteboardTypeString, nil];
+#else
        NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType,
                NSStringPboardType, nil];
+#endif
        [pb declareTypes:supportedTypes owner:nil];
 
        NSNumber *motion = [NSNumber numberWithInt:motion_type];
        NSArray *plist = [NSArray arrayWithObjects:motion, string, nil];
        [pb setPropertyList:plist forType:VimPboardType];
 
+#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+       [pb setString:string forType:NSPasteboardTypeString];
+#else
        [pb setString:string forType:NSStringPboardType];
+#endif
 
        [string release];
     }
index bcbbe40221b3044705d3e69235124579ec49867c..9b4e028ba136f938a3b461f90f6e3ad7593339f5 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    63,
 /**/
     62,
 /**/