[Python-checkins] CVS: python/dist/src/Lib fnmatch.py,1.10,1.11

Fred L. Drake fdrake@users.sourceforge.net
Wed, 21 Mar 2001 10:05:50 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv15932

Modified Files:
	fnmatch.py 
Log Message:

Donovan Baarda <abo@users.sourceforge.net>:
Patch to make "\" in a character group work properly.

This closes SF bug #409651.


Index: fnmatch.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/fnmatch.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** fnmatch.py	2001/01/20 23:34:12	1.10
--- fnmatch.py	2001/03/21 18:05:48	1.11
***************
*** 76,90 ****
                  res = res + '\\['
              else:
!                 stuff = pat[i:j]
                  i = j+1
                  if stuff[0] == '!':
!                     stuff = '[^' + stuff[1:] + ']'
!                 elif stuff == '^'*len(stuff):
!                     stuff = '\\^'
!                 else:
!                     while stuff[0] == '^':
!                         stuff = stuff[1:] + stuff[0]
!                     stuff = '[' + stuff + ']'
!                 res = res + stuff
          else:
              res = res + re.escape(c)
--- 76,86 ----
                  res = res + '\\['
              else:
!                 stuff = pat[i:j].replace('\\','\\\\')
                  i = j+1
                  if stuff[0] == '!':
!                     stuff = '^' + stuff[1:]
!                 elif stuff[0] == '^':
!                     stuff = '\\' + stuff
!                 res = '%s[%s]' % (res, stuff)
          else:
              res = res + re.escape(c)