diff --git a/Applications/TextMate/src/AppController.mm b/Applications/TextMate/src/AppController.mm index 2730f6b5..b2af9126 100644 --- a/Applications/TextMate/src/AppController.mm +++ b/Applications/TextMate/src/AppController.mm @@ -23,6 +23,7 @@ #import #import #import +#import #import #import #import @@ -224,6 +225,21 @@ BOOL HasDocumentWindow (NSArray* windows) }]; RegisterDefaults(); + // LEGACY format used prior to 2.0-beta.12.23 + if(NSDictionary* volumeSettings = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"volumeSettings"]) + { + for(NSString* pathPrefix in volumeSettings) + { + id setting = volumeSettings[pathPrefix][@"extendedAttributes"]; + if(setting && [setting boolValue] == NO) + { + std::string const glob = path::glob_t::escape(to_s(pathPrefix)) + "**"; + settings_t::set(kSettingsDisableExtendedAttributesKey, true, NULL_STR, glob); + } + } + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"volumeSettings"]; + } + [[TMPlugInController sharedInstance] loadAllPlugIns:nil]; std::string dest = path::join(path::home(), "Library/Application Support/TextMate/Managed");