| 
					
				 | 
			
			
				@@ -474,22 +474,11 @@ class PatternMatcher: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return self.fallback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def normalized(func): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    """ Decorator for the Pattern match methods, returning a wrapper that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    normalizes OSX paths to match the normalized pattern on OSX, and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    returning the original method on other platforms""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @wraps(func) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def normalize_wrapper(self, path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return func(self, unicodedata.normalize("NFD", path)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if sys.platform in ('darwin',): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # HFS+ converts paths to a canonical form, so users shouldn't be 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # required to enter an exact match 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return normalize_wrapper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # Windows and Unix filesystems allow different forms, so users 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # always have to enter an exact match 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return func 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def normalize_path(path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    """normalize paths for MacOS (but do nothing on other platforms)""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # HFS+ converts paths to a canonical form, so users shouldn't be required to enter an exact match. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # Windows and Unix filesystems allow different forms, so users always have to enter an exact match. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return unicodedata.normalize('NFD', path) if sys.platform == 'darwin' else path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class PatternBase: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -500,19 +489,14 @@ class PatternBase: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def __init__(self, pattern): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.pattern_orig = pattern 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.match_count = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if sys.platform in ('darwin',): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pattern = unicodedata.normalize("NFD", pattern) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pattern = normalize_path(pattern) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self._prepare(pattern) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @normalized 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def match(self, path): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        path = normalize_path(path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         matches = self._match(path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if matches: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.match_count += 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return matches 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def __repr__(self): 
			 |