From 6397a2f789398896775906c509bacfc4d130b287 Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Tue, 18 Nov 2008 15:57:32 -0600
Subject: [PATCH 1/5] move state-tables to basis

---
 {extra => basis}/state-tables/authors.txt               | 0
 {extra => basis}/state-tables/state-tables-tests.factor | 0
 {extra => basis}/state-tables/state-tables.factor       | 0
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename {extra => basis}/state-tables/authors.txt (100%)
 rename {extra => basis}/state-tables/state-tables-tests.factor (100%)
 rename {extra => basis}/state-tables/state-tables.factor (100%)

diff --git a/extra/state-tables/authors.txt b/basis/state-tables/authors.txt
similarity index 100%
rename from extra/state-tables/authors.txt
rename to basis/state-tables/authors.txt
diff --git a/extra/state-tables/state-tables-tests.factor b/basis/state-tables/state-tables-tests.factor
similarity index 100%
rename from extra/state-tables/state-tables-tests.factor
rename to basis/state-tables/state-tables-tests.factor
diff --git a/extra/state-tables/state-tables.factor b/basis/state-tables/state-tables.factor
similarity index 100%
rename from extra/state-tables/state-tables.factor
rename to basis/state-tables/state-tables.factor

From 535a9223bd11fe2a773837a30ef977630f7eef2f Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Tue, 18 Nov 2008 15:57:48 -0600
Subject: [PATCH 2/5] remove bogus dependency on vars

---
 basis/regexp/backend/backend.factor | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/basis/regexp/backend/backend.factor b/basis/regexp/backend/backend.factor
index 1a261fb0af..75a010b705 100644
--- a/basis/regexp/backend/backend.factor
+++ b/basis/regexp/backend/backend.factor
@@ -1,6 +1,6 @@
 ! Copyright (C) 2008 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors hashtables kernel math state-tables vars vectors ;
+USING: accessors hashtables kernel math state-tables vectors ;
 IN: regexp.backend
 
 TUPLE: regexp

From 860bd1923bbd88f2f840dad20676727e0d40053f Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Tue, 18 Nov 2008 15:59:20 -0600
Subject: [PATCH 3/5] fix stack effect

---
 basis/regexp/regexp.factor | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/basis/regexp/regexp.factor b/basis/regexp/regexp.factor
index 083a48a470..e99077f4aa 100644
--- a/basis/regexp/regexp.factor
+++ b/basis/regexp/regexp.factor
@@ -28,7 +28,7 @@ IN: regexp
 : match ( string regexp -- pair )
     <dfa-traverser> do-match return-match ;
 
-: match* ( string regexp -- pair )
+: match* ( string regexp -- pair captured-groups )
     <dfa-traverser> do-match [ return-match ] [ captured-groups>> ] bi ;
 
 : matches? ( string regexp -- ? )

From 239bfeafda8f1da53c58da86e7663c87cf5d33d4 Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Tue, 18 Nov 2008 16:06:56 -0600
Subject: [PATCH 4/5] fix "\\/" <regexp>

---
 basis/regexp/parser/parser.factor | 1 +
 basis/regexp/regexp-tests.factor  | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/basis/regexp/parser/parser.factor b/basis/regexp/parser/parser.factor
index b7716d8580..b5022c602e 100644
--- a/basis/regexp/parser/parser.factor
+++ b/basis/regexp/parser/parser.factor
@@ -294,6 +294,7 @@ ERROR: unrecognized-escape char ;
     read1
     {
         { CHAR: \ [ CHAR: \ <constant> ] }
+        { CHAR: / [ CHAR: / <constant> ] }
         { CHAR: ^ [ CHAR: ^ <constant> ] }
         { CHAR: $ [ CHAR: $ <constant> ] }
         { CHAR: - [ CHAR: - <constant> ] }
diff --git a/basis/regexp/regexp-tests.factor b/basis/regexp/regexp-tests.factor
index 3e7d83a12b..15e78629b6 100644
--- a/basis/regexp/regexp-tests.factor
+++ b/basis/regexp/regexp-tests.factor
@@ -55,6 +55,8 @@ IN: regexp-tests
 [ t ] [ " " "[\\W]" <regexp> matches? ] unit-test
 [ f ] [ "a" "[\\W]" <regexp> matches? ] unit-test
 
+[ t ] [ "/" "\\/" <regexp> matches? ] unit-test
+
 [ t ] [ "" "a|b*|c+|d?" <regexp> matches? ] unit-test
 [ t ] [ "a" "a|b*|c+|d?" <regexp> matches? ] unit-test
 [ t ] [ "c" "a|b*|c+|d?" <regexp> matches? ] unit-test

From f5adb971f60e8dc35b4127e04364e35686abb41e Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Tue, 18 Nov 2008 16:09:47 -0600
Subject: [PATCH 5/5] re-enable literal syntax for regexps

---
 basis/regexp/regexp-tests.factor | 2 ++
 basis/regexp/regexp.factor       | 3 ---
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/basis/regexp/regexp-tests.factor b/basis/regexp/regexp-tests.factor
index 15e78629b6..ba7dfed657 100644
--- a/basis/regexp/regexp-tests.factor
+++ b/basis/regexp/regexp-tests.factor
@@ -57,6 +57,8 @@ IN: regexp-tests
 
 [ t ] [ "/" "\\/" <regexp> matches? ] unit-test
 
+[ t ] [ "a" R' a'i matches? ] unit-test
+
 [ t ] [ "" "a|b*|c+|d?" <regexp> matches? ] unit-test
 [ t ] [ "a" "a|b*|c+|d?" <regexp> matches? ] unit-test
 [ t ] [ "c" "a|b*|c+|d?" <regexp> matches? ] unit-test
diff --git a/basis/regexp/regexp.factor b/basis/regexp/regexp.factor
index e99077f4aa..c9a1d2f47d 100644
--- a/basis/regexp/regexp.factor
+++ b/basis/regexp/regexp.factor
@@ -129,8 +129,6 @@ IN: regexp
 : option? ( option regexp -- ? )
     options>> key? ;
 
-USE: multiline
-/*
 M: regexp pprint*
     [
         [
@@ -139,4 +137,3 @@ M: regexp pprint*
             case-insensitive swap option? [ "i" % ] when
         ] "" make
     ] keep present-text ;
-*/