Index: RegexpOps.cs
===================================================================
--- RegexpOps.cs	(revision 93)
+++ RegexpOps.cs	(working copy)
@@ -53,6 +53,60 @@
         //  IGNORECASE
         //  MULTILINE
 
+
+        [RubyMethod("quote", RubyMethodAttributes.PublicSingleton)]
+        public static MutableString quote(object self, MutableString/*!*/ str)
+        {
+            StringBuilder builder = new StringBuilder(str.Length);
+            for (int i = 0; i < str.Length; i++)
+            {
+                char c = str[i];
+                switch (c)
+                {
+                    case '[':
+                    case ']':
+                    case '{':
+                    case '}':
+                    case '(':
+                    case ')':
+                    case '|':
+                    case '-':
+                    case '*':
+                    case '.':
+                    case '\\':
+                    case '?':
+                    case '+':
+                    case '^':
+                    case '$':
+                    case ' ':
+                    case '#':
+                        builder.Append('\\');
+                        builder.Append(c);
+                        break;
+                    case '\t':
+                        builder.Append('\\');
+                        builder.Append('t');
+                        break;
+                    case '\n':
+                        builder.Append('\\');
+                        builder.Append('n');
+                        break;
+                    case '\r':
+                        builder.Append('\\');
+                        builder.Append('r');
+                        break;
+                    case '\f':
+                        builder.Append('\\');
+                        builder.Append('f');
+                        break;
+                    default:
+                        builder.Append(c);
+                        break;
+                }
+            }
+            return new MutableString(builder.ToString());
+        }
+
         [RubyMethod("=~")]
         public static object MatchIndex(CodeContext/*!*/ context, Regexp/*!*/ self, MutableString str) {
             if (str == null) return null;
@@ -74,5 +128,11 @@
         public static MutableString/*!*/ Source(Regexp/*!*/ self) {
             return new MutableString(self.Regex.ToString());
         }
+
+        [RubyMethod("===")]
+        public static bool reg_eqq(Regexp/*!*/ self, MutableString str)
+        {
+            return self.Regex.Match(str).Success;
+        }
     }
 }
