Adapted to new "regex" module.
Introduced egrep() and emgrep() variants.
Use '==' for equality test.
.,
diff --git a/Lib/lib-old/grep.py b/Lib/lib-old/grep.py
index 767498b..bfee3f5 100644
--- a/Lib/lib-old/grep.py
+++ b/Lib/lib-old/grep.py
@@ -1,24 +1,36 @@
 # 'grep'
 
-import regexp
+import regex
+from regex_syntax import *
 import string
 
-def grep(expr, filename):
-	match = regexp.compile(expr).match
+def grep(pat, filename):
+	return ggrep(RE_SYNTAX_GREP, pat, filename)
+
+def egrep(pat, filename):
+	return ggrep(RE_SYNTAX_EGREP, pat, filename)
+
+def emgrep(pat, filename):
+	return ggrep(RE_SYNTAX_EMACS, pat, filename)
+
+def ggrep(syntax, pat, filename):
+	syntax = regex.set_syntax(syntax)
+	try:
+		prog = regex.compile(pat)
+	finally:
+		syntax = regex.set_syntax(syntax)
 	fp = open(filename, 'r')
 	lineno = 0
 	while 1:
 		line = fp.readline()
 		if not line: break
 		lineno = lineno + 1
-		res = match(line)
-		if res:
-			#print res
-			start, end = res[0]
-			if line[-1:] = '\n': line = line[:-1]
+		if prog.search(line) >= 0:
+			if line[-1:] == '\n': line = line[:-1]
 			prefix = string.rjust(`lineno`, 3) + ': '
 			print prefix + line
-			if 0:
+			if 0: # XXX
+				start, end = prog.regs()[0]
 				line = line[:start]
 				if '\t' not in line:
 					prefix = ' ' * (len(prefix) + start)
@@ -27,6 +39,6 @@
 					for c in line:
 						if c <> '\t': c = ' '
 						prefix = prefix + c
-				if start = end: prefix = prefix + '\\'
+				if start == end: prefix = prefix + '\\'
 				else: prefix = prefix + '^'*(end-start)
 				print prefix