You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2013/05/26 17:35:30 UTC

[lucy-commits] [2/9] git commit: refs/heads/separate-clownfish-wip1 - Rename Lucy prefixes in Perl bindings to Clownfish

Rename Lucy prefixes in Perl bindings to Clownfish


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/d462f11a
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/d462f11a
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/d462f11a

Branch: refs/heads/separate-clownfish-wip1
Commit: d462f11a21b3204924abef9980c90b85718353c4
Parents: 9c65f94
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sun May 19 21:56:06 2013 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Sun May 26 16:04:06 2013 +0200

----------------------------------------------------------------------
 clownfish/compiler/src/CFCBindAliases.c    |   66 ++++++++-
 clownfish/compiler/src/CFCPerlTypeMap.c    |   28 ++++-
 perl/buildlib/Lucy/Build/Binding/Index.pm  |   14 +-
 perl/buildlib/Lucy/Build/Binding/Misc.pm   |   18 ++--
 perl/buildlib/Lucy/Build/Binding/Object.pm |  170 +++++++++++-----------
 perl/buildlib/Lucy/Build/Binding/Search.pm |    6 +-
 perl/buildlib/Lucy/Build/Binding/Util.pm   |   10 +-
 perl/xs/Lucy/Analysis/RegexTokenizer.c     |   26 ++--
 perl/xs/Lucy/Document/Doc.c                |   80 ++++++------
 perl/xs/Lucy/Index/DocReader.c             |    8 +-
 perl/xs/Lucy/Index/Inverter.c              |   48 +++---
 perl/xs/XSBind.h                           |   22 ++--
 12 files changed, 286 insertions(+), 210 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/clownfish/compiler/src/CFCBindAliases.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCBindAliases.c b/clownfish/compiler/src/CFCBindAliases.c
index 0354080..c32f925 100644
--- a/clownfish/compiler/src/CFCBindAliases.c
+++ b/clownfish/compiler/src/CFCBindAliases.c
@@ -32,45 +32,64 @@ struct alias aliases[] = {
     {"cfish_Obj_get_refcount", "lucy_Obj_get_refcount"},
     {"cfish_Obj_inc_refcount", "lucy_Obj_inc_refcount"},
     {"cfish_Obj_to_host", "lucy_Obj_to_host"},
+    {"Cfish_Obj_Dec_RefCount", "Lucy_Obj_Dec_RefCount"},
+    {"Cfish_Obj_Deserialize", "Lucy_Obj_Deserialize"},
     {"Cfish_Obj_Destroy", "Lucy_Obj_Destroy"},
     {"Cfish_Obj_Destroy_OFFSET", "Lucy_Obj_Destroy_OFFSET"},
     {"Cfish_Obj_Destroy_t", "Lucy_Obj_Destroy_t"},
     {"Cfish_Obj_Dump", "Lucy_Obj_Dump"},
     {"Cfish_Obj_Get_Class_Name", "Lucy_Obj_Get_Class_Name"},
+    {"Cfish_Obj_Inc_RefCount", "Lucy_Obj_Inc_RefCount"},
     {"Cfish_Obj_Is_A", "Lucy_Obj_Is_A"},
     {"Cfish_Obj_Load", "Lucy_Obj_Load"},
     {"Cfish_Obj_Load_OFFSET", "Lucy_Obj_Load_OFFSET"},
     {"Cfish_Obj_Load_t", "Lucy_Obj_Load_t"},
+    {"Cfish_Obj_Serialize", "Lucy_Obj_Serialize"},
     {"Cfish_Obj_To_F64", "Lucy_Obj_To_F64"},
     {"Cfish_Obj_To_I64", "Lucy_Obj_To_I64"},
     {"Cfish_Obj_To_Bool", "Lucy_Obj_To_Bool"},
     {"Cfish_Obj_To_Host", "Lucy_Obj_To_Host"},
-    {"Cfish_Obj_Dec_RefCount", "Lucy_Obj_Dec_RefCount"},
-    {"Cfish_Obj_Inc_RefCount", "Lucy_Obj_Inc_RefCount"},
 
     {"cfish_ByteBuf", "lucy_ByteBuf"},
     {"CFISH_BYTEBUF", "LUCY_BYTEBUF"},
-    {"Cfish_BB_Get_Size", "Lucy_BB_Get_Size"},
+    {"cfish_BB_init", "lucy_BB_init"},
+    {"Cfish_BB_Deserialize", "Lucy_BB_Deserialize"},
     {"Cfish_BB_Get_Buf", "Lucy_BB_Get_Buf"},
+    {"Cfish_BB_Get_Size", "Lucy_BB_Get_Size"},
+    {"Cfish_BB_Mimic_Bytes", "Lucy_BB_Mimic_Bytes"},
+    {"Cfish_BB_To_Host", "Lucy_BB_To_Host"},
+    {"cfish_ViewByteBuf", "lucy_ViewByteBuf"},
+    {"cfish_ViewBB_new", "lucy_ViewBB_new"},
+    {"Cfish_ViewBB_Assign_Bytes", "Lucy_ViewBB_Assign_Bytes"},
 
     {"cfish_CharBuf", "lucy_CharBuf"},
     {"CFISH_CHARBUF", "LUCY_CHARBUF"},
+    {"cfish_CB_clone", "lucy_CB_clone"},
     {"cfish_CB_newf", "lucy_CB_newf"},
     {"cfish_CB_new_from_trusted_utf8", "lucy_CB_new_from_trusted_utf8"},
+    {"cfish_CB_init", "lucy_CB_init"},
+    {"Cfish_CB_Cat_Trusted_Str", "Lucy_CB_Cat_Trusted_Str"},
     {"Cfish_CB_Clone", "Lucy_CB_Clone"},
+    {"Cfish_CB_Deserialize", "Lucy_CB_Deserialize"},
+    {"Cfish_CB_Find_Str", "Lucy_CB_Find_Str"},
+    {"Cfish_CB_Get_Ptr8", "Lucy_CB_Get_Ptr8"},
+    {"Cfish_CB_Get_Size", "Lucy_CB_Get_Size"},
+    {"Cfish_CB_Mimic_Str", "Lucy_CB_Mimic_Str"},
     {"Cfish_CB_Nip_One_OFFSET", "Lucy_CB_Nip_One_OFFSET"},
     {"Cfish_CB_Nip_One_t", "Lucy_CB_Nip_One_t"},
+    {"Cfish_CB_To_Host", "Lucy_CB_To_Host"},
+    {"cfish_ViewCharBuf", "lucy_ViewCharBuf"},
+    {"CFISH_VIEWCHARBUF", "LUCY_VIEWCHARBUF"},
+    {"cfish_ViewCB_new_from_trusted_utf8", "lucy_ViewCB_new_from_trusted_utf8"},
+    {"Cfish_ViewCB_Assign_Str", "Lucy_ViewCB_Assign_Str"},
     {"cfish_ZombieCharBuf", "lucy_ZombieCharBuf"},
     {"CFISH_ZOMBIECHARBUF", "LUCY_ZOMBIECHARBUF"},
-    {"CFISH_VIEWCHARBUF", "LUCY_VIEWCHARBUF"},
     {"cfish_ZCB_new", "lucy_ZCB_new"},
     {"cfish_ZCB_size", "lucy_ZCB_size"},
     {"cfish_ZCB_wrap", "lucy_ZCB_wrap"},
     {"cfish_ZCB_wrap_str", "lucy_ZCB_wrap_str"},
     {"Cfish_ZCB_Assign_Str", "Lucy_ZCB_Assign_Str"},
     {"Cfish_ZCB_Assign_Trusted_Str", "Lucy_ZCB_Assign_Trusted_Str"},
-    {"Cfish_CB_Get_Ptr8", "Lucy_CB_Get_Ptr8"},
-    {"Cfish_CB_Get_Size", "Lucy_CB_Get_Size"},
 
     {"CFISH_FLOATNUM", "LUCY_FLOATNUM"},
     {"CFISH_INTNUM", "LUCY_INTNUM"},
@@ -112,11 +131,15 @@ struct alias aliases[] = {
     {"cfish_Hash", "lucy_Hash"},
     {"CFISH_HASH", "LUCY_HASH"},
     {"cfish_Hash_new", "lucy_Hash_new"},
+    {"cfish_Hash_fetch", "lucy_Hash_fetch"},
+    {"cfish_Hash_store", "lucy_Hash_store"},
+    {"Cfish_Hash_Deserialize", "Lucy_Hash_Deserialize"},
+    {"Cfish_Hash_Fetch_Str", "Lucy_Hash_Fetch_Str"},
     {"Cfish_Hash_Iterate", "Lucy_Hash_Iterate"},
     {"Cfish_Hash_Next", "Lucy_Hash_Next"},
-    {"Cfish_Hash_Fetch_Str", "Lucy_Hash_Fetch_Str"},
     {"Cfish_Hash_Store_Str", "Lucy_Hash_Store_Str"},
     {"Cfish_Hash_Store", "Lucy_Hash_Store"},
+    {"Cfish_Hash_To_Host", "Lucy_Hash_To_Host"},
 
     {"cfish_LockFreeRegistry", "lucy_LockFreeRegistry"},
     {"CFISH_LOCKFREEREGISTRY", "LUCY_LOCKFREEREGISTRY"},
@@ -130,6 +153,17 @@ struct alias aliases[] = {
     {"cfish_Memory_wrapped_malloc", "lucy_Memory_wrapped_malloc"},
     {"cfish_Memory_wrapped_realloc", "lucy_Memory_wrapped_realloc"},
 
+    {"cfish_Float32", "lucy_Float32"},
+    {"cfish_Float32_init", "lucy_Float32_init"},
+    {"Cfish_Float32_Set_Value", "Lucy_Float32_Set_Value"},
+    {"cfish_Float64", "lucy_Float64"},
+    {"cfish_Float64_init", "lucy_Float64_init"},
+    {"Cfish_Float64_Set_Value", "Lucy_Float64_Set_Value"},
+    {"cfish_Integer32", "lucy_Integer32"},
+    {"Cfish_Int32_Set_Value", "Lucy_Int32_Set_Value"},
+    {"cfish_Integer64", "lucy_Integer64"},
+    {"Cfish_Int64_Set_Value", "Lucy_Int64_Set_Value"},
+
     {"cfish_NumUtil_decode_bigend_f32", "lucy_NumUtil_decode_bigend_f32"},
     {"cfish_NumUtil_decode_bigend_f64", "lucy_NumUtil_decode_bigend_f64"},
     {"cfish_NumUtil_decode_bigend_u16", "lucy_NumUtil_decode_bigend_u16"},
@@ -160,6 +194,8 @@ struct alias aliases[] = {
     {"cfish_NumUtil_u4shifts", "lucy_NumUtil_u4shifts"},
     {"cfish_NumUtil_skip_cint", "lucy_NumUtil_skip_cint"},
 
+    {"cfish_StrHelp_to_base36", "lucy_StrHelp_to_base36"},
+    {"cfish_StrHelp_utf8_valid", "lucy_StrHelp_utf8_valid"},
     {"cfish_StrHelp_UTF8_COUNT", "lucy_StrHelp_UTF8_COUNT"},
 
     {"cfish_TestBatch_fail", "lucy_TestBatch_fail"},
@@ -173,29 +209,43 @@ struct alias aliases[] = {
     {"cfish_TestFormatter", "lucy_TestFormatter"},
     {"cfish_TestFormatterCF", "lucy_TestFormatterCF"},
     {"cfish_TestFormatterCF_new", "lucy_TestFormatterCF_new"},
+    {"cfish_TestFormatterTAP", "lucy_TestFormatterTAP"},
+    {"cfish_TestFormatterTAP_new", "lucy_TestFormatterTAP_new"},
 
     {"cfish_VArray", "lucy_VArray"},
     {"CFISH_VARRAY", "LUCY_VARRAY"},
     {"cfish_VA_new", "lucy_VA_new"},
+    {"cfish_VA_store", "lucy_VA_store"},
+    {"Cfish_VA_Clone", "Lucy_VA_Clone"},
+    {"Cfish_VA_Delete", "Lucy_VA_Delete"},
+    {"Cfish_VA_Deserialize", "Lucy_VA_Deserialize"},
     {"Cfish_VA_Fetch", "Lucy_VA_Fetch"},
     {"Cfish_VA_Get_Size", "Lucy_VA_Get_Size"},
+    {"Cfish_VA_Pop", "Lucy_VA_Pop"},
+    {"Cfish_VA_Push", "Lucy_VA_Push"},
     {"Cfish_VA_Resize", "Lucy_VA_Resize"},
+    {"Cfish_VA_Shallow_Copy", "Lucy_VA_Shallow_Copy"},
+    {"Cfish_VA_Shift", "Lucy_VA_Shift"},
     {"Cfish_VA_Store", "Lucy_VA_Store"},
-    {"Cfish_VA_Push", "Lucy_VA_Push"},
+    {"Cfish_VA_To_Host", "Lucy_VA_To_Host"},
 
     {"cfish_VTable", "lucy_VTable"},
     {"CFISH_VTABLE", "LUCY_VTABLE"},
     {"cfish_VTable_add_alias_to_registry", "lucy_VTable_add_alias_to_registry"},
     {"cfish_VTable_bootstrap", "lucy_VTable_bootstrap"},
+    {"cfish_VTable_fetch_vtable", "lucy_VTable_fetch_vtable"},
     {"cfish_VTable_find_parent_class", "lucy_VTable_find_parent_class"},
     {"cfish_VTable_foster_obj", "lucy_VTable_foster_obj"},
     {"cfish_VTable_fresh_host_methods", "lucy_VTable_fresh_host_methods"},
     {"cfish_VTable_init_obj", "lucy_VTable_init_obj"},
+    {"cfish_VTable_init_registry", "lucy_VTable_init_registry"},
     {"cfish_VTable_make_obj", "lucy_VTable_make_obj"},
     {"cfish_VTable_offset_of_parent", "lucy_VTable_offset_of_parent"},
     {"cfish_VTable_register_with_host", "lucy_VTable_register_with_host"},
+    {"cfish_VTable_registry", "lucy_VTable_registry"},
     {"cfish_VTable_singleton", "lucy_VTable_singleton"},
     {"cfish_VTable_to_host", "lucy_VTable_to_host"},
+    {"Cfish_VTable_Foster_Obj", "Lucy_VTable_Foster_Obj"},
     {"Cfish_VTable_Get_Name", "Lucy_VTable_Get_Name"},
     {"Cfish_VTable_Make_Obj", "Lucy_VTable_Make_Obj"},
     {"Cfish_VTable_To_Host", "Lucy_VTable_To_Host"},

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/clownfish/compiler/src/CFCPerlTypeMap.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCPerlTypeMap.c b/clownfish/compiler/src/CFCPerlTypeMap.c
index ce05145..22b0f15 100644
--- a/clownfish/compiler/src/CFCPerlTypeMap.c
+++ b/clownfish/compiler/src/CFCPerlTypeMap.c
@@ -214,7 +214,7 @@ static const char typemap_start[] =
     "uint32_t\tCHY_UNSIGNED_INT\n"
     "uint64_t\tCHY_BIG_UNSIGNED_INT\n"
     "\n"
-    "const lucy_CharBuf*\tCONST_CHARBUF\n";
+    "const cfish_CharBuf*\tCONST_CHARBUF\n";
 
 
 static const char typemap_input[] =
@@ -275,6 +275,32 @@ CFCPerlTypeMap_write_xs_typemap(CFCHierarchy *hierarchy) {
         const char *full_struct_sym = CFCClass_full_struct_sym(klass);
         const char *vtable_var      = CFCClass_full_vtable_var(klass);
 
+        /* Temporary hack until the Clownfish parcel is ready. */
+        if (strcmp(full_struct_sym, "lucy_ByteBuf") == 0) {
+            full_struct_sym = "cfish_ByteBuf";
+            vtable_var      = "CFISH_BYTEBUF";
+        }
+        else if (strcmp(full_struct_sym, "lucy_CharBuf") == 0) {
+            full_struct_sym = "cfish_CharBuf";
+            vtable_var      = "CFISH_CHARBUF";
+        }
+        else if (strcmp(full_struct_sym, "lucy_Hash") == 0) {
+            full_struct_sym = "cfish_Hash";
+            vtable_var      = "CFISH_HASH";
+        }
+        else if (strcmp(full_struct_sym, "lucy_Obj") == 0) {
+            full_struct_sym = "cfish_Obj";
+            vtable_var      = "CFISH_OBJ";
+        }
+        else if (strcmp(full_struct_sym, "lucy_VArray") == 0) {
+            full_struct_sym = "cfish_VArray";
+            vtable_var      = "CFISH_VARRAY";
+        }
+        else if (strcmp(full_struct_sym, "lucy_VTable") == 0) {
+            full_struct_sym = "cfish_VTable";
+            vtable_var      = "CFISH_VTABLE";
+        }
+
         start = CFCUtil_cat(start, full_struct_sym, "*\t", vtable_var, "_\n",
                             NULL);
         input = CFCUtil_cat(input, vtable_var, "_\n"

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/buildlib/Lucy/Build/Binding/Index.pm
----------------------------------------------------------------------
diff --git a/perl/buildlib/Lucy/Build/Binding/Index.pm b/perl/buildlib/Lucy/Build/Binding/Index.pm
index 13e4fee..71913b1 100644
--- a/perl/buildlib/Lucy/Build/Binding/Index.pm
+++ b/perl/buildlib/Lucy/Build/Binding/Index.pm
@@ -407,8 +407,8 @@ set_race_condition_debug1(val_sv)
     SV *val_sv;
 PPCODE:
     CFISH_DECREF(lucy_PolyReader_race_condition_debug1);
-    lucy_PolyReader_race_condition_debug1 = (lucy_CharBuf*)
-        XSBind_maybe_sv_to_cfish_obj(val_sv, LUCY_CHARBUF, NULL);
+    lucy_PolyReader_race_condition_debug1 = (cfish_CharBuf*)
+        XSBind_maybe_sv_to_cfish_obj(val_sv, CFISH_CHARBUF, NULL);
     if (lucy_PolyReader_race_condition_debug1) {
         (void)CFISH_INCREF(lucy_PolyReader_race_condition_debug1);
     }
@@ -584,7 +584,7 @@ PPCODE:
         }
     }
     else if (items == 1) {
-        CFISH_THROW(LUCY_ERR, "Missing required argument 'doc'");
+        CFISH_THROW(CFISH_ERR, "Missing required argument 'doc'");
     }
 
     // Either get a Doc or use the stock doc.
@@ -602,8 +602,8 @@ PPCODE:
         }
     }
     if (!doc) {
-        THROW(LUCY_ERR, "Need either a hashref or a %o",
-              Lucy_VTable_Get_Name(LUCY_DOC));
+        THROW(CFISH_ERR, "Need either a hashref or a %o",
+              Cfish_VTable_Get_Name(LUCY_DOC));
     }
 
     Lucy_Indexer_Add_Doc(self, doc, boost);
@@ -1116,8 +1116,8 @@ CODE:
         CFISH_RETHROW(CFISH_INCREF(cfish_Err_get_error()));
     }
     {
-        lucy_Obj *blank = Lucy_SortCache_Make_Blank(self);
-        lucy_Obj *value = Lucy_SortCache_Value(self, ord, blank);
+        cfish_Obj *blank = Lucy_SortCache_Make_Blank(self);
+        cfish_Obj *value = Lucy_SortCache_Value(self, ord, blank);
         RETVAL = XSBind_cfish_to_perl(value);
         CFISH_DECREF(blank);
     }

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/buildlib/Lucy/Build/Binding/Misc.pm
----------------------------------------------------------------------
diff --git a/perl/buildlib/Lucy/Build/Binding/Misc.pm b/perl/buildlib/Lucy/Build/Binding/Misc.pm
index 0fb31a8..0e25807 100644
--- a/perl/buildlib/Lucy/Build/Binding/Misc.pm
+++ b/perl/buildlib/Lucy/Build/Binding/Misc.pm
@@ -46,7 +46,7 @@ to_clownfish(sv)
     SV *sv;
 CODE:
 {
-    lucy_Obj *obj = XSBind_perl_to_cfish(sv);
+    cfish_Obj *obj = XSBind_perl_to_cfish(sv);
     RETVAL = CFISH_OBJ_TO_SV_NOINC(obj);
 }
 OUTPUT: RETVAL
@@ -58,7 +58,7 @@ CODE:
 {
     if (sv_isobject(sv) && sv_derived_from(sv, "Clownfish::Obj")) {
         IV tmp = SvIV(SvRV(sv));
-        lucy_Obj* obj = INT2PTR(lucy_Obj*, tmp);
+        cfish_Obj* obj = INT2PTR(cfish_Obj*, tmp);
         RETVAL = XSBind_cfish_to_perl(obj);
     }
     else {
@@ -85,9 +85,9 @@ bool
 run_tests(package)
     char *package;
 CODE:
-    lucy_CharBuf *class_name = lucy_CB_newf("%s", package);
-    lucy_TestFormatter *formatter
-        = (lucy_TestFormatter*)lucy_TestFormatterTAP_new();
+    cfish_CharBuf *class_name = cfish_CB_newf("%s", package);
+    cfish_TestFormatter *formatter
+        = (cfish_TestFormatter*)cfish_TestFormatterTAP_new();
     bool result = lucy_Test_run_batch(class_name, formatter);
     CFISH_DECREF(class_name);
     CFISH_DECREF(formatter);
@@ -129,8 +129,8 @@ CODE:
 {
     void *address = Lucy_BBSortEx_Fetch(self);
     if (address) {
-        RETVAL = XSBind_cfish_to_perl(*(lucy_Obj**)address);
-        CFISH_DECREF(*(lucy_Obj**)address);
+        RETVAL = XSBind_cfish_to_perl(*(cfish_Obj**)address);
+        CFISH_DECREF(*(cfish_Obj**)address);
     }
     else {
         RETVAL = newSV(0);
@@ -145,7 +145,7 @@ CODE:
 {
     void *address = Lucy_BBSortEx_Peek(self);
     if (address) {
-        RETVAL = XSBind_cfish_to_perl(*(lucy_Obj**)address);
+        RETVAL = XSBind_cfish_to_perl(*(cfish_Obj**)address);
     }
     else {
         RETVAL = newSV(0);
@@ -156,7 +156,7 @@ OUTPUT: RETVAL
 void
 feed(self, bb)
     lucy_BBSortEx *self;
-    lucy_ByteBuf *bb;
+    cfish_ByteBuf *bb;
 CODE:
     CFISH_INCREF(bb);
     Lucy_BBSortEx_Feed(self, &bb);

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/buildlib/Lucy/Build/Binding/Object.pm
----------------------------------------------------------------------
diff --git a/perl/buildlib/Lucy/Build/Binding/Object.pm b/perl/buildlib/Lucy/Build/Binding/Object.pm
index ba9f957..0ba0bb6 100644
--- a/perl/buildlib/Lucy/Build/Binding/Object.pm
+++ b/perl/buildlib/Lucy/Build/Binding/Object.pm
@@ -92,20 +92,20 @@ CODE:
 {
     STRLEN size;
     char *ptr = SvPV(sv, size);
-    lucy_ByteBuf *self = (lucy_ByteBuf*)XSBind_new_blank_obj(either_sv);
-    lucy_BB_init(self, size);
-    Lucy_BB_Mimic_Bytes(self, ptr, size);
+    cfish_ByteBuf *self = (cfish_ByteBuf*)XSBind_new_blank_obj(either_sv);
+    cfish_BB_init(self, size);
+    Cfish_BB_Mimic_Bytes(self, ptr, size);
     RETVAL = CFISH_OBJ_TO_SV_NOINC(self);
 }
 OUTPUT: RETVAL
 
 SV*
 _deserialize(self, instream)
-    lucy_ByteBuf *self;
+    cfish_ByteBuf *self;
     lucy_InStream *instream;
 CODE:
-    lucy_ByteBuf *thawed = Lucy_BB_Deserialize(self, instream);
-    RETVAL = (SV*)Lucy_BB_To_Host(thawed);
+    cfish_ByteBuf *thawed = Cfish_BB_Deserialize(self, instream);
+    RETVAL = (SV*)Cfish_BB_To_Host(thawed);
 OUTPUT: RETVAL
 END_XS_CODE
 
@@ -131,32 +131,32 @@ CODE:
 {
     STRLEN size;
     char *ptr = SvPVutf8(sv, size);
-    lucy_CharBuf *self = (lucy_CharBuf*)XSBind_new_blank_obj(either_sv);
-    lucy_CB_init(self, size);
-    Lucy_CB_Cat_Trusted_Str(self, ptr, size);
+    cfish_CharBuf *self = (cfish_CharBuf*)XSBind_new_blank_obj(either_sv);
+    cfish_CB_init(self, size);
+    Cfish_CB_Cat_Trusted_Str(self, ptr, size);
     RETVAL = CFISH_OBJ_TO_SV_NOINC(self);
 }
 OUTPUT: RETVAL
 
 SV*
 _clone(self)
-    lucy_CharBuf *self;
+    cfish_CharBuf *self;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV_NOINC(lucy_CB_clone(self));
+    RETVAL = CFISH_OBJ_TO_SV_NOINC(cfish_CB_clone(self));
 OUTPUT: RETVAL
 
 SV*
 _deserialize(self, instream)
-    lucy_CharBuf *self;
+    cfish_CharBuf *self;
     lucy_InStream *instream;
 CODE:
-    lucy_CharBuf *thawed = Lucy_CB_Deserialize(self, instream);
-    RETVAL = (SV*)Lucy_CB_To_Host(thawed);
+    cfish_CharBuf *thawed = Cfish_CB_Deserialize(self, instream);
+    RETVAL = (SV*)Cfish_CB_To_Host(thawed);
 OUTPUT: RETVAL
 
 SV*
 to_perl(self)
-    lucy_CharBuf *self;
+    cfish_CharBuf *self;
 CODE:
     RETVAL = XSBind_cb_to_sv(self);
 OUTPUT: RETVAL
@@ -171,8 +171,8 @@ CODE:
 {
     STRLEN size;
     char *ptr = SvPVutf8(sv, size);
-    lucy_ViewCharBuf *self
-        = lucy_ViewCB_new_from_trusted_utf8(ptr, size);
+    cfish_ViewCharBuf *self
+        = cfish_ViewCB_new_from_trusted_utf8(ptr, size);
     CHY_UNUSED_VAR(unused);
     RETVAL = CFISH_OBJ_TO_SV_NOINC(self);
 }
@@ -249,43 +249,43 @@ MODULE =  Lucy    PACKAGE = Clownfish::Hash
 
 SV*
 _deserialize(self, instream)
-    lucy_Hash *self;
+    cfish_Hash *self;
     lucy_InStream *instream;
 CODE:
-    lucy_Hash *thawed = Lucy_Hash_Deserialize(self, instream);
-    RETVAL = (SV*)Lucy_Hash_To_Host(thawed);
+    cfish_Hash *thawed = Cfish_Hash_Deserialize(self, instream);
+    RETVAL = (SV*)Cfish_Hash_To_Host(thawed);
 OUTPUT: RETVAL
 
 SV*
 _fetch(self, key)
-    lucy_Hash *self;
-    const lucy_CharBuf *key;
+    cfish_Hash *self;
+    const cfish_CharBuf *key;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV(lucy_Hash_fetch(self, (lucy_Obj*)key));
+    RETVAL = CFISH_OBJ_TO_SV(cfish_Hash_fetch(self, (cfish_Obj*)key));
 OUTPUT: RETVAL
 
 void
 store(self, key, value);
-    lucy_Hash          *self;
-    const lucy_CharBuf *key;
-    lucy_Obj           *value;
+    cfish_Hash          *self;
+    const cfish_CharBuf *key;
+    cfish_Obj           *value;
 PPCODE:
 {
     if (value) { CFISH_INCREF(value); }
-    lucy_Hash_store(self, (lucy_Obj*)key, value);
+    cfish_Hash_store(self, (cfish_Obj*)key, value);
 }
 
 void
 next(self)
-    lucy_Hash *self;
+    cfish_Hash *self;
 PPCODE:
 {
-    lucy_Obj *key;
-    lucy_Obj *val;
+    cfish_Obj *key;
+    cfish_Obj *val;
 
-    if (Lucy_Hash_Next(self, &key, &val)) {
-        SV *key_sv = (SV*)Lucy_Obj_To_Host(key);
-        SV *val_sv = (SV*)Lucy_Obj_To_Host(val);
+    if (Cfish_Hash_Next(self, &key, &val)) {
+        SV *key_sv = (SV*)Cfish_Obj_To_Host(key);
+        SV *val_sv = (SV*)Cfish_Obj_To_Host(val);
 
         XPUSHs(sv_2mortal(key_sv));
         XPUSHs(sv_2mortal(val_sv));
@@ -346,7 +346,7 @@ CODE:
         lucy_I32Arr_init(self, ints, size);
     }
     else {
-        THROW(LUCY_ERR, "Required param 'ints' isn't an arrayref");
+        THROW(CFISH_ERR, "Required param 'ints' isn't an arrayref");
     }
 
     RETVAL = CFISH_OBJ_TO_SV_NOINC(self);
@@ -401,8 +401,8 @@ new(either_sv, value)
     float  value;
 CODE:
 {
-    lucy_Float32 *self = (lucy_Float32*)XSBind_new_blank_obj(either_sv);
-    lucy_Float32_init(self, value);
+    cfish_Float32 *self = (cfish_Float32*)XSBind_new_blank_obj(either_sv);
+    cfish_Float32_init(self, value);
     RETVAL = CFISH_OBJ_TO_SV_NOINC(self);
 }
 OUTPUT: RETVAL
@@ -428,8 +428,8 @@ new(either_sv, value)
     double  value;
 CODE:
 {
-    lucy_Float64 *self = (lucy_Float64*)XSBind_new_blank_obj(either_sv);
-    lucy_Float64_init(self, value);
+    cfish_Float64 *self = (cfish_Float64*)XSBind_new_blank_obj(either_sv);
+    cfish_Float64_init(self, value);
     RETVAL = CFISH_OBJ_TO_SV_NOINC(self);
 }
 OUTPUT: RETVAL
@@ -550,29 +550,29 @@ MODULE = Lucy     PACKAGE = Clownfish::Obj
 
 bool
 is_a(self, class_name)
-    lucy_Obj *self;
-    const lucy_CharBuf *class_name;
+    cfish_Obj *self;
+    const cfish_CharBuf *class_name;
 CODE:
 {
-    lucy_VTable *target = lucy_VTable_fetch_vtable(class_name);
-    RETVAL = Lucy_Obj_Is_A(self, target);
+    cfish_VTable *target = cfish_VTable_fetch_vtable(class_name);
+    RETVAL = Cfish_Obj_Is_A(self, target);
 }
 OUTPUT: RETVAL
 
 void
 STORABLE_freeze(self, ...)
-    lucy_Obj *self;
+    cfish_Obj *self;
 PPCODE:
 {
     CHY_UNUSED_VAR(self);
     if (items < 2 || !SvTRUE(ST(1))) {
         SV *retval;
-        lucy_ByteBuf *serialized_bb;
+        cfish_ByteBuf *serialized_bb;
         lucy_RAMFileHandle *file_handle
             = lucy_RAMFH_open(NULL, LUCY_FH_WRITE_ONLY | LUCY_FH_CREATE, NULL);
-        lucy_OutStream *target = lucy_OutStream_open((lucy_Obj*)file_handle);
+        lucy_OutStream *target = lucy_OutStream_open((cfish_Obj*)file_handle);
 
-        Lucy_Obj_Serialize(self, target);
+        Cfish_Obj_Serialize(self, target);
 
         Lucy_OutStream_Close(target);
         serialized_bb
@@ -582,7 +582,7 @@ PPCODE:
         CFISH_DECREF(target);
 
         if (SvCUR(retval) == 0) { // Thwart Storable bug
-            THROW(LUCY_ERR, "Calling serialize produced an empty string");
+            THROW(CFISH_ERR, "Calling serialize produced an empty string");
         }
         ST(0) = sv_2mortal(retval);
         XSRETURN(1);
@@ -606,19 +606,19 @@ STORABLE_thaw(blank_obj, cloning, serialized_sv)
 PPCODE:
 {
     char *class_name = HvNAME(SvSTASH(SvRV(blank_obj)));
-    lucy_ZombieCharBuf *klass
+    cfish_ZombieCharBuf *klass
         = CFISH_ZCB_WRAP_STR(class_name, strlen(class_name));
-    lucy_VTable *vtable
-        = (lucy_VTable*)lucy_VTable_singleton((lucy_CharBuf*)klass, NULL);
+    cfish_VTable *vtable
+        = (cfish_VTable*)cfish_VTable_singleton((cfish_CharBuf*)klass, NULL);
     STRLEN len;
     char *ptr = SvPV(serialized_sv, len);
-    lucy_ViewByteBuf *contents = lucy_ViewBB_new(ptr, len);
-    lucy_RAMFile *ram_file = lucy_RAMFile_new((lucy_ByteBuf*)contents, true);
+    cfish_ViewByteBuf *contents = cfish_ViewBB_new(ptr, len);
+    lucy_RAMFile *ram_file = lucy_RAMFile_new((cfish_ByteBuf*)contents, true);
     lucy_RAMFileHandle *file_handle
         = lucy_RAMFH_open(NULL, LUCY_FH_READ_ONLY, ram_file);
-    lucy_InStream *instream = lucy_InStream_open((lucy_Obj*)file_handle);
-    lucy_Obj *self = Lucy_VTable_Foster_Obj(vtable, blank_obj);
-    lucy_Obj *deserialized = Lucy_Obj_Deserialize(self, instream);
+    lucy_InStream *instream = lucy_InStream_open((cfish_Obj*)file_handle);
+    cfish_Obj *self = Cfish_VTable_Foster_Obj(vtable, blank_obj);
+    cfish_Obj *deserialized = Cfish_Obj_Deserialize(self, instream);
 
     CHY_UNUSED_VAR(cloning);
     CFISH_DECREF(contents);
@@ -628,7 +628,7 @@ PPCODE:
 
     // Catch bad deserialize() override.
     if (deserialized != self) {
-        THROW(LUCY_ERR, "Error when deserializing obj of class %o", klass);
+        THROW(CFISH_ERR, "Error when deserializing obj of class %o", klass);
     }
 }
 END_XS_CODE
@@ -660,66 +660,66 @@ MODULE = Lucy   PACKAGE = Clownfish::VArray
 
 SV*
 shallow_copy(self)
-    lucy_VArray *self;
+    cfish_VArray *self;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV_NOINC(Lucy_VA_Shallow_Copy(self));
+    RETVAL = CFISH_OBJ_TO_SV_NOINC(Cfish_VA_Shallow_Copy(self));
 OUTPUT: RETVAL
 
 SV*
 _deserialize(self, instream)
-    lucy_VArray *self;
+    cfish_VArray *self;
     lucy_InStream *instream;
 CODE:
-    lucy_VArray *thawed = Lucy_VA_Deserialize(self, instream);
-    RETVAL = (SV*)Lucy_VA_To_Host(thawed);
+    cfish_VArray *thawed = Cfish_VA_Deserialize(self, instream);
+    RETVAL = (SV*)Cfish_VA_To_Host(thawed);
 OUTPUT: RETVAL
 
 SV*
 _clone(self)
-    lucy_VArray *self;
+    cfish_VArray *self;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV_NOINC(Lucy_VA_Clone(self));
+    RETVAL = CFISH_OBJ_TO_SV_NOINC(Cfish_VA_Clone(self));
 OUTPUT: RETVAL
 
 SV*
 shift(self)
-    lucy_VArray *self;
+    cfish_VArray *self;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV_NOINC(Lucy_VA_Shift(self));
+    RETVAL = CFISH_OBJ_TO_SV_NOINC(Cfish_VA_Shift(self));
 OUTPUT: RETVAL
 
 SV*
 pop(self)
-    lucy_VArray *self;
+    cfish_VArray *self;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV_NOINC(Lucy_VA_Pop(self));
+    RETVAL = CFISH_OBJ_TO_SV_NOINC(Cfish_VA_Pop(self));
 OUTPUT: RETVAL
 
 SV*
 delete(self, tick)
-    lucy_VArray *self;
+    cfish_VArray *self;
     uint32_t    tick;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV_NOINC(Lucy_VA_Delete(self, tick));
+    RETVAL = CFISH_OBJ_TO_SV_NOINC(Cfish_VA_Delete(self, tick));
 OUTPUT: RETVAL
 
 void
 store(self, tick, value);
-    lucy_VArray *self;
+    cfish_VArray *self;
     uint32_t     tick;
-    lucy_Obj    *value;
+    cfish_Obj    *value;
 PPCODE:
 {
     if (value) { CFISH_INCREF(value); }
-    lucy_VA_store(self, tick, value);
+    cfish_VA_store(self, tick, value);
 }
 
 SV*
 fetch(self, tick)
-    lucy_VArray *self;
+    cfish_VArray *self;
     uint32_t     tick;
 CODE:
-    RETVAL = CFISH_OBJ_TO_SV(Lucy_VA_Fetch(self, tick));
+    RETVAL = CFISH_OBJ_TO_SV(Cfish_VA_Fetch(self, tick));
 OUTPUT: RETVAL
 END_XS_CODE
 
@@ -742,10 +742,10 @@ MODULE = Lucy   PACKAGE = Clownfish::VTable
 SV*
 _get_registry()
 CODE:
-    if (lucy_VTable_registry == NULL) {
-        lucy_VTable_init_registry();
+    if (cfish_VTable_registry == NULL) {
+        cfish_VTable_init_registry();
     }
-    RETVAL = (SV*)Lucy_Obj_To_Host((lucy_Obj*)lucy_VTable_registry);
+    RETVAL = (SV*)Cfish_Obj_To_Host((cfish_Obj*)cfish_VTable_registry);
 OUTPUT: RETVAL
 
 SV*
@@ -754,28 +754,28 @@ singleton(unused_sv, ...)
 CODE:
 {
     CHY_UNUSED_VAR(unused_sv);
-    lucy_CharBuf *class_name = NULL;
-    lucy_VTable  *parent     = NULL;
+    cfish_CharBuf *class_name = NULL;
+    cfish_VTable  *parent     = NULL;
     bool args_ok
         = XSBind_allot_params(&(ST(0)), 1, items,
                               ALLOT_OBJ(&class_name, "class_name", 10, true,
-                                        LUCY_CHARBUF, alloca(cfish_ZCB_size())),
+                                        CFISH_CHARBUF, alloca(cfish_ZCB_size())),
                               ALLOT_OBJ(&parent, "parent", 6, false,
-                                        LUCY_VTABLE, NULL),
+                                        CFISH_VTABLE, NULL),
                               NULL);
     if (!args_ok) {
         CFISH_RETHROW(CFISH_INCREF(cfish_Err_get_error()));
     }
-    lucy_VTable *singleton = lucy_VTable_singleton(class_name, parent);
-    RETVAL = (SV*)Lucy_VTable_To_Host(singleton);
+    cfish_VTable *singleton = cfish_VTable_singleton(class_name, parent);
+    RETVAL = (SV*)Cfish_VTable_To_Host(singleton);
 }
 OUTPUT: RETVAL
 
 SV*
 make_obj(self)
-    lucy_VTable *self;
+    cfish_VTable *self;
 CODE:
-    lucy_Obj *blank = Lucy_VTable_Make_Obj(self);
+    cfish_Obj *blank = Cfish_VTable_Make_Obj(self);
     RETVAL = CFISH_OBJ_TO_SV_NOINC(blank);
 OUTPUT: RETVAL
 END_XS_CODE

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/buildlib/Lucy/Build/Binding/Search.pm
----------------------------------------------------------------------
diff --git a/perl/buildlib/Lucy/Build/Binding/Search.pm b/perl/buildlib/Lucy/Build/Binding/Search.pm
index 51d6193..af63475 100644
--- a/perl/buildlib/Lucy/Build/Binding/Search.pm
+++ b/perl/buildlib/Lucy/Build/Binding/Search.pm
@@ -513,7 +513,7 @@ CODE:
         CFISH_RETHROW(CFISH_INCREF(cfish_Err_get_error()));
     }
     const char *type_str = SvPVutf8_nolen(type_sv);
-    lucy_Obj *value = NULL;
+    cfish_Obj *value = NULL;
     uint32_t type = 0;
 
     if (strcmp(type_str, "OPEN_PAREN") == 0) {
@@ -539,11 +539,11 @@ CODE:
     }
     else if (strcmp(type_str, "FIELD") == 0) {
         type = LUCY_QPARSER_TOKEN_FIELD; 
-        value = CFISH_CERTIFY(XSBind_perl_to_cfish(value_sv), LUCY_CHARBUF);
+        value = CFISH_CERTIFY(XSBind_perl_to_cfish(value_sv), CFISH_CHARBUF);
     }
     else if (strcmp(type_str, "STRING") == 0) {
         type = LUCY_QPARSER_TOKEN_STRING; 
-        value = CFISH_CERTIFY(XSBind_perl_to_cfish(value_sv), LUCY_CHARBUF);
+        value = CFISH_CERTIFY(XSBind_perl_to_cfish(value_sv), CFISH_CHARBUF);
     }
     else if (strcmp(type_str, "QUERY") == 0) {
         type = LUCY_QPARSER_TOKEN_QUERY; 

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/buildlib/Lucy/Build/Binding/Util.pm
----------------------------------------------------------------------
diff --git a/perl/buildlib/Lucy/Build/Binding/Util.pm b/perl/buildlib/Lucy/Build/Binding/Util.pm
index 237e93d..45b9ab4 100644
--- a/perl/buildlib/Lucy/Build/Binding/Util.pm
+++ b/perl/buildlib/Lucy/Build/Binding/Util.pm
@@ -116,7 +116,7 @@ MODULE = Lucy   PACKAGE = Lucy::Util::IndexFileNames
 
 uint64_t
 extract_gen(name)
-    const lucy_CharBuf *name;
+    const cfish_CharBuf *name;
 CODE:
     RETVAL = lucy_IxFileNames_extract_gen(name);
 OUTPUT: RETVAL
@@ -126,7 +126,7 @@ latest_snapshot(folder)
     lucy_Folder *folder;
 CODE:
 {
-    lucy_CharBuf *latest = lucy_IxFileNames_latest_snapshot(folder);
+    cfish_CharBuf *latest = lucy_IxFileNames_latest_snapshot(folder);
     RETVAL = XSBind_cb_to_sv(latest);
     CFISH_DECREF(latest);
 }
@@ -222,7 +222,7 @@ to_base36(num)
 CODE:
 {
     char base36[cfish_StrHelp_MAX_BASE36_BYTES];
-    size_t size = lucy_StrHelp_to_base36(num, &base36);
+    size_t size = cfish_StrHelp_to_base36(num, &base36);
     RETVAL = newSVpvn(base36, size);
 }
 OUTPUT: RETVAL
@@ -254,7 +254,7 @@ CODE:
 {
     STRLEN len;
     char *ptr = SvPV(sv, len);
-    RETVAL = lucy_StrHelp_utf8_valid(ptr, len);
+    RETVAL = cfish_StrHelp_utf8_valid(ptr, len);
 }
 OUTPUT: RETVAL
 
@@ -274,7 +274,7 @@ PPCODE:
 {
     STRLEN len;
     char *ptr = SvPV(catted, len);
-    if (SvUTF8(sv)) { CFISH_THROW(LUCY_ERR, "Can't cat_bytes onto a UTF-8 SV"); }
+    if (SvUTF8(sv)) { CFISH_THROW(CFISH_ERR, "Can't cat_bytes onto a UTF-8 SV"); }
     sv_catpvn(sv, ptr, len);
 }
 END_XS_CODE

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/xs/Lucy/Analysis/RegexTokenizer.c
----------------------------------------------------------------------
diff --git a/perl/xs/Lucy/Analysis/RegexTokenizer.c b/perl/xs/Lucy/Analysis/RegexTokenizer.c
index 211e461..d175b59 100644
--- a/perl/xs/Lucy/Analysis/RegexTokenizer.c
+++ b/perl/xs/Lucy/Analysis/RegexTokenizer.c
@@ -40,20 +40,20 @@ lucy_RegexTokenizer_is_available(void) {
 
 lucy_RegexTokenizer*
 lucy_RegexTokenizer_init(lucy_RegexTokenizer *self,
-                         const lucy_CharBuf *pattern) {
+                         const cfish_CharBuf *pattern) {
     lucy_Analyzer_init((lucy_Analyzer*)self);
     #define DEFAULT_PATTERN "\\w+(?:['\\x{2019}]\\w+)*"
     if (pattern) {
-        if (Lucy_CB_Find_Str(pattern, "\\p", 2) != -1
-            || Lucy_CB_Find_Str(pattern, "\\P", 2) != -1
+        if (Cfish_CB_Find_Str(pattern, "\\p", 2) != -1
+            || Cfish_CB_Find_Str(pattern, "\\P", 2) != -1
            ) {
             CFISH_DECREF(self);
-            THROW(LUCY_ERR, "\\p and \\P constructs forbidden");
+            THROW(CFISH_ERR, "\\p and \\P constructs forbidden");
         }
-        self->pattern = Lucy_CB_Clone(pattern);
+        self->pattern = Cfish_CB_Clone(pattern);
     }
     else {
-        self->pattern = lucy_CB_new_from_trusted_utf8(
+        self->pattern = cfish_CB_new_from_trusted_utf8(
                             DEFAULT_PATTERN, sizeof(DEFAULT_PATTERN) - 1);
     }
 
@@ -94,12 +94,12 @@ S_set_token_re_but_not_pattern(lucy_RegexTokenizer *self, void *token_re) {
         magic = mg_find((SV*)token_re, PERL_MAGIC_qr);
     }
     if (!magic) {
-        THROW(LUCY_ERR, "token_re is not a qr// entity");
+        THROW(CFISH_ERR, "token_re is not a qr// entity");
     }
     REGEXP *rx = (REGEXP*)magic->mg_obj;
 #endif
     if (rx == NULL) {
-        THROW(LUCY_ERR, "Failed to extract REGEXP from token_re '%s'",
+        THROW(CFISH_ERR, "Failed to extract REGEXP from token_re '%s'",
               SvPV_nolen((SV*)token_re));
     }
     if (self->token_re) { ReREFCNT_dec(((REGEXP*)self->token_re)); }
@@ -112,7 +112,7 @@ S_set_pattern_from_token_re(lucy_RegexTokenizer *self, void *token_re) {
     SV *rv = newRV((SV*)token_re);
     STRLEN len = 0;
     char *ptr = SvPVutf8((SV*)rv, len);
-    Lucy_CB_Mimic_Str(self->pattern, ptr, len);
+    Cfish_CB_Mimic_Str(self->pattern, ptr, len);
     SvREFCNT_dec(rv);
 }
 
@@ -171,16 +171,16 @@ lucy_RegexTokenizer_tokenize_str(lucy_RegexTokenizer *self,
 
         // Get start and end offsets in Unicode code points.
         for (; string_arg < start_ptr; num_code_points++) {
-            string_arg += lucy_StrHelp_UTF8_COUNT[(uint8_t)(*string_arg)];
+            string_arg += cfish_StrHelp_UTF8_COUNT[(uint8_t)(*string_arg)];
             if (string_arg > string_end) {
-                THROW(LUCY_ERR, "scanned past end of '%s'", string_beg);
+                THROW(CFISH_ERR, "scanned past end of '%s'", string_beg);
             }
         }
         start = num_code_points;
         for (; string_arg < end_ptr; num_code_points++) {
-            string_arg += lucy_StrHelp_UTF8_COUNT[(uint8_t)(*string_arg)];
+            string_arg += cfish_StrHelp_UTF8_COUNT[(uint8_t)(*string_arg)];
             if (string_arg > string_end) {
-                THROW(LUCY_ERR, "scanned past end of '%s'", string_beg);
+                THROW(CFISH_ERR, "scanned past end of '%s'", string_beg);
             }
         }
         end = num_code_points;

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/xs/Lucy/Document/Doc.c
----------------------------------------------------------------------
diff --git a/perl/xs/Lucy/Document/Doc.c b/perl/xs/Lucy/Document/Doc.c
index aa3e4df..c20c2b0 100644
--- a/perl/xs/Lucy/Document/Doc.c
+++ b/perl/xs/Lucy/Document/Doc.c
@@ -25,7 +25,7 @@ lucy_Doc*
 lucy_Doc_init(lucy_Doc *self, void *fields, int32_t doc_id) {
     // Assign.
     if (fields) {
-        if (SvTYPE((SV*)fields) != SVt_PVHV) { THROW(LUCY_ERR, "Not a hash"); }
+        if (SvTYPE((SV*)fields) != SVt_PVHV) { THROW(CFISH_ERR, "Not a hash"); }
         self->fields = SvREFCNT_inc((SV*)fields);
     }
     else {
@@ -48,15 +48,15 @@ lucy_Doc_get_size(lucy_Doc *self) {
 }
 
 void
-lucy_Doc_store(lucy_Doc *self, const lucy_CharBuf *field, lucy_Obj *value) {
-    char   *key      = (char*)Lucy_CB_Get_Ptr8(field);
-    size_t  key_size = Lucy_CB_Get_Size(field);
+lucy_Doc_store(lucy_Doc *self, const cfish_CharBuf *field, cfish_Obj *value) {
+    char   *key      = (char*)Cfish_CB_Get_Ptr8(field);
+    size_t  key_size = Cfish_CB_Get_Size(field);
     SV *key_sv = newSVpvn(key, key_size);
     SV *val_sv = value == NULL
                  ? newSV(0)
-                 : Lucy_Obj_Is_A(value, LUCY_CHARBUF)
-                 ? XSBind_cb_to_sv((lucy_CharBuf*)value)
-                 : (SV*)Lucy_Obj_To_Host(value);
+                 : Cfish_Obj_Is_A(value, CFISH_CHARBUF)
+                 ? XSBind_cb_to_sv((cfish_CharBuf*)value)
+                 : (SV*)Cfish_Obj_To_Host(value);
     SvUTF8_on(key_sv);
     (void)hv_store_ent((HV*)self->fields, key_sv, val_sv, 0);
     // TODO: make this a thread-local instead of creating it every time?
@@ -135,24 +135,24 @@ lucy_Doc_deserialize(lucy_Doc *self, lucy_InStream *instream) {
     return self;
 }
 
-lucy_Obj*
-lucy_Doc_extract(lucy_Doc *self, lucy_CharBuf *field,
-                 lucy_ViewCharBuf *target) {
-    lucy_Obj *retval = NULL;
-    SV **sv_ptr = hv_fetch((HV*)self->fields, (char*)Lucy_CB_Get_Ptr8(field),
-                           Lucy_CB_Get_Size(field), 0);
+cfish_Obj*
+lucy_Doc_extract(lucy_Doc *self, cfish_CharBuf *field,
+                 cfish_ViewCharBuf *target) {
+    cfish_Obj *retval = NULL;
+    SV **sv_ptr = hv_fetch((HV*)self->fields, (char*)Cfish_CB_Get_Ptr8(field),
+                           Cfish_CB_Get_Size(field), 0);
 
     if (sv_ptr && XSBind_sv_defined(*sv_ptr)) {
         SV *const sv = *sv_ptr;
         if (sv_isobject(sv) && sv_derived_from(sv, "Clownfish::Obj")) {
             IV tmp = SvIV(SvRV(sv));
-            retval = INT2PTR(lucy_Obj*, tmp);
+            retval = INT2PTR(cfish_Obj*, tmp);
         }
         else {
             STRLEN size;
             char *ptr = SvPVutf8(sv, size);
-            Lucy_ViewCB_Assign_Str(target, ptr, size);
-            retval = (lucy_Obj*)target;
+            Cfish_ViewCB_Assign_Str(target, ptr, size);
+            retval = (cfish_Obj*)target;
         }
     }
 
@@ -168,36 +168,36 @@ lucy_Doc_to_host(lucy_Doc *self) {
     return perl_obj;
 }
 
-lucy_Hash*
+cfish_Hash*
 lucy_Doc_dump(lucy_Doc *self) {
-    lucy_Hash *dump = lucy_Hash_new(0);
-    Lucy_Hash_Store_Str(dump, "_class", 6,
-                        (lucy_Obj*)Lucy_CB_Clone(Lucy_Doc_Get_Class_Name(self)));
-    Lucy_Hash_Store_Str(dump, "doc_id", 7,
-                        (lucy_Obj*)lucy_CB_newf("%i32", self->doc_id));
-    Lucy_Hash_Store_Str(dump, "fields", 6,
+    cfish_Hash *dump = cfish_Hash_new(0);
+    Cfish_Hash_Store_Str(dump, "_class", 6,
+                        (cfish_Obj*)Cfish_CB_Clone(Lucy_Doc_Get_Class_Name(self)));
+    Cfish_Hash_Store_Str(dump, "doc_id", 7,
+                        (cfish_Obj*)cfish_CB_newf("%i32", self->doc_id));
+    Cfish_Hash_Store_Str(dump, "fields", 6,
                         XSBind_perl_to_cfish((SV*)self->fields));
     return dump;
 }
 
 lucy_Doc*
-lucy_Doc_load(lucy_Doc *self, lucy_Obj *dump) {
-    lucy_Hash *source = (lucy_Hash*)CFISH_CERTIFY(dump, LUCY_HASH);
-    lucy_CharBuf *class_name = (lucy_CharBuf*)CFISH_CERTIFY(
-                                   Lucy_Hash_Fetch_Str(source, "_class", 6),
-                                   LUCY_CHARBUF);
-    lucy_VTable *vtable = lucy_VTable_singleton(class_name, NULL);
-    lucy_Doc *loaded = (lucy_Doc*)Lucy_VTable_Make_Obj(vtable);
-    lucy_Obj *doc_id = CFISH_CERTIFY(
-                           Lucy_Hash_Fetch_Str(source, "doc_id", 7),
-                           LUCY_OBJ);
-    lucy_Hash *fields = (lucy_Hash*)CFISH_CERTIFY(
-                            Lucy_Hash_Fetch_Str(source, "fields", 6),
-                            LUCY_HASH);
-    SV *fields_sv = XSBind_cfish_to_perl((lucy_Obj*)fields);
+lucy_Doc_load(lucy_Doc *self, cfish_Obj *dump) {
+    cfish_Hash *source = (cfish_Hash*)CFISH_CERTIFY(dump, CFISH_HASH);
+    cfish_CharBuf *class_name = (cfish_CharBuf*)CFISH_CERTIFY(
+                                   Cfish_Hash_Fetch_Str(source, "_class", 6),
+                                   CFISH_CHARBUF);
+    cfish_VTable *vtable = cfish_VTable_singleton(class_name, NULL);
+    lucy_Doc *loaded = (lucy_Doc*)Cfish_VTable_Make_Obj(vtable);
+    cfish_Obj *doc_id = CFISH_CERTIFY(
+                           Cfish_Hash_Fetch_Str(source, "doc_id", 7),
+                           CFISH_OBJ);
+    cfish_Hash *fields = (cfish_Hash*)CFISH_CERTIFY(
+                            Cfish_Hash_Fetch_Str(source, "fields", 6),
+                            CFISH_HASH);
+    SV *fields_sv = XSBind_cfish_to_perl((cfish_Obj*)fields);
     CHY_UNUSED_VAR(self);
 
-    loaded->doc_id = (int32_t)Lucy_Obj_To_I64(doc_id);
+    loaded->doc_id = (int32_t)Cfish_Obj_To_I64(doc_id);
     loaded->fields  = SvREFCNT_inc(SvRV(fields_sv));
     SvREFCNT_dec(fields_sv);
 
@@ -205,14 +205,14 @@ lucy_Doc_load(lucy_Doc *self, lucy_Obj *dump) {
 }
 
 bool
-lucy_Doc_equals(lucy_Doc *self, lucy_Obj *other) {
+lucy_Doc_equals(lucy_Doc *self, cfish_Obj *other) {
     lucy_Doc *twin = (lucy_Doc*)other;
     HV *my_fields;
     HV *other_fields;
     I32 num_fields;
 
     if (twin == self)                    { return true;  }
-    if (!Lucy_Obj_Is_A(other, LUCY_DOC)) { return false; }
+    if (!Cfish_Obj_Is_A(other, LUCY_DOC)) { return false; }
     if (!self->doc_id == twin->doc_id)   { return false; }
     if (!!self->fields ^ !!twin->fields) { return false; }
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/xs/Lucy/Index/DocReader.c
----------------------------------------------------------------------
diff --git a/perl/xs/Lucy/Index/DocReader.c b/perl/xs/Lucy/Index/DocReader.c
index 6230e77..0c7b2ac 100644
--- a/perl/xs/Lucy/Index/DocReader.c
+++ b/perl/xs/Lucy/Index/DocReader.c
@@ -60,10 +60,10 @@ lucy_DefDocReader_fetch_doc(lucy_DefaultDocReader *self, int32_t doc_id) {
         *SvEND(field_name_sv) = '\0';
 
         // Find the Field's FieldType.
-        lucy_ZombieCharBuf *field_name_zcb
+        cfish_ZombieCharBuf *field_name_zcb
             = CFISH_ZCB_WRAP_STR(field_name_ptr, field_name_len);
-        Lucy_ZCB_Assign_Str(field_name_zcb, field_name_ptr, field_name_len);
-        type = Lucy_Schema_Fetch_Type(schema, (lucy_CharBuf*)field_name_zcb);
+        Cfish_ZCB_Assign_Str(field_name_zcb, field_name_ptr, field_name_len);
+        type = Lucy_Schema_Fetch_Type(schema, (cfish_CharBuf*)field_name_zcb);
 
         // Read the field value.
         switch (Lucy_FType_Primitive_ID(type) & lucy_FType_PRIMITIVE_ID_MASK) {
@@ -107,7 +107,7 @@ lucy_DefDocReader_fetch_doc(lucy_DefaultDocReader *self, int32_t doc_id) {
                 break;
             default:
                 value_sv = NULL;
-                CFISH_THROW(LUCY_ERR, "Unrecognized type: %o", type);
+                CFISH_THROW(CFISH_ERR, "Unrecognized type: %o", type);
         }
 
         // Store the value.

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/xs/Lucy/Index/Inverter.c
----------------------------------------------------------------------
diff --git a/perl/xs/Lucy/Index/Inverter.c b/perl/xs/Lucy/Index/Inverter.c
index 0653501..7f0bc95 100644
--- a/perl/xs/Lucy/Index/Inverter.c
+++ b/perl/xs/Lucy/Index/Inverter.c
@@ -43,35 +43,35 @@ S_fetch_entry(lucy_Inverter *self, HE *hash_entry) {
     else {
         key = HeKEY(hash_entry);
         key_len = he_key_len;
-        if (!lucy_StrHelp_utf8_valid(key, key_len)) {
+        if (!cfish_StrHelp_utf8_valid(key, key_len)) {
             SV *key_sv = HeSVKEY_force(hash_entry);
             key = SvPVutf8(key_sv, key_len);
         }
     }
 
-    lucy_ZombieCharBuf *field = CFISH_ZCB_WRAP_STR(key, key_len);
+    cfish_ZombieCharBuf *field = CFISH_ZCB_WRAP_STR(key, key_len);
     int32_t field_num
-        = Lucy_Seg_Field_Num(self->segment, (lucy_CharBuf*)field);
+        = Lucy_Seg_Field_Num(self->segment, (cfish_CharBuf*)field);
     if (!field_num) {
         // This field seems not to be in the segment yet.  Try to find it in
         // the Schema.
-        if (Lucy_Schema_Fetch_Type(schema, (lucy_CharBuf*)field)) {
+        if (Lucy_Schema_Fetch_Type(schema, (cfish_CharBuf*)field)) {
             // The field is in the Schema.  Get a field num from the Segment.
             field_num = Lucy_Seg_Add_Field(self->segment,
-                                           (lucy_CharBuf*)field);
+                                           (cfish_CharBuf*)field);
         }
         else {
             // We've truly failed to find the field.  The user must
             // not have spec'd it.
-            THROW(LUCY_ERR, "Unknown field name: '%s'", key);
+            THROW(CFISH_ERR, "Unknown field name: '%s'", key);
         }
     }
 
     lucy_InverterEntry *entry
-        = (lucy_InverterEntry*)Lucy_VA_Fetch(self->entry_pool, field_num);
+        = (lucy_InverterEntry*)Cfish_VA_Fetch(self->entry_pool, field_num);
     if (!entry) {
-        entry = lucy_InvEntry_new(schema, (lucy_CharBuf*)field, field_num);
-        Lucy_VA_Store(self->entry_pool, field_num, (lucy_Obj*)entry);
+        entry = lucy_InvEntry_new(schema, (cfish_CharBuf*)field, field_num);
+        Cfish_VA_Store(self->entry_pool, field_num, (cfish_Obj*)entry);
     }
     return entry;
 }
@@ -96,44 +96,44 @@ lucy_Inverter_invert_doc(lucy_Inverter *self, lucy_Doc *doc) {
             case lucy_FType_TEXT: {
                     STRLEN val_len;
                     char *val_ptr = SvPVutf8(value_sv, val_len);
-                    lucy_ViewCharBuf *value
-                        = (lucy_ViewCharBuf*)inv_entry->value;
-                    Lucy_ViewCB_Assign_Str(value, val_ptr, val_len);
+                    cfish_ViewCharBuf *value
+                        = (cfish_ViewCharBuf*)inv_entry->value;
+                    Cfish_ViewCB_Assign_Str(value, val_ptr, val_len);
                     break;
                 }
             case lucy_FType_BLOB: {
                     STRLEN val_len;
                     char *val_ptr = SvPV(value_sv, val_len);
-                    lucy_ViewByteBuf *value
-                        = (lucy_ViewByteBuf*)inv_entry->value;
-                    Lucy_ViewBB_Assign_Bytes(value, val_ptr, val_len);
+                    cfish_ViewByteBuf *value
+                        = (cfish_ViewByteBuf*)inv_entry->value;
+                    Cfish_ViewBB_Assign_Bytes(value, val_ptr, val_len);
                     break;
                 }
             case lucy_FType_INT32: {
-                    lucy_Integer32* value = (lucy_Integer32*)inv_entry->value;
-                    Lucy_Int32_Set_Value(value, SvIV(value_sv));
+                    cfish_Integer32* value = (cfish_Integer32*)inv_entry->value;
+                    Cfish_Int32_Set_Value(value, SvIV(value_sv));
                     break;
                 }
             case lucy_FType_INT64: {
-                    lucy_Integer64* value = (lucy_Integer64*)inv_entry->value;
+                    cfish_Integer64* value = (cfish_Integer64*)inv_entry->value;
                     int64_t val = sizeof(IV) == 8
                                   ? SvIV(value_sv)
                                   : (int64_t)SvNV(value_sv); // lossy
-                    Lucy_Int64_Set_Value(value, val);
+                    Cfish_Int64_Set_Value(value, val);
                     break;
                 }
             case lucy_FType_FLOAT32: {
-                    lucy_Float32* value = (lucy_Float32*)inv_entry->value;
-                    Lucy_Float32_Set_Value(value, (float)SvNV(value_sv));
+                    cfish_Float32* value = (cfish_Float32*)inv_entry->value;
+                    Cfish_Float32_Set_Value(value, (float)SvNV(value_sv));
                     break;
                 }
             case lucy_FType_FLOAT64: {
-                    lucy_Float64* value = (lucy_Float64*)inv_entry->value;
-                    Lucy_Float64_Set_Value(value, SvNV(value_sv));
+                    cfish_Float64* value = (cfish_Float64*)inv_entry->value;
+                    Cfish_Float64_Set_Value(value, SvNV(value_sv));
                     break;
                 }
             default:
-                THROW(LUCY_ERR, "Unrecognized type: %o", type);
+                THROW(CFISH_ERR, "Unrecognized type: %o", type);
         }
 
         Lucy_Inverter_Add_Field(self, inv_entry);

http://git-wip-us.apache.org/repos/asf/lucy/blob/d462f11a/perl/xs/XSBind.h
----------------------------------------------------------------------
diff --git a/perl/xs/XSBind.h b/perl/xs/XSBind.h
index 8d6e0ba..c5a5453 100644
--- a/perl/xs/XSBind.h
+++ b/perl/xs/XSBind.h
@@ -44,7 +44,7 @@ extern "C" {
 /** Given either a class name or a perl object, manufacture a new Clownfish
  * object suitable for supplying to a cfish_Foo_init() function.
  */
-LUCY_VISIBLE cfish_Obj*
+CFISH_VISIBLE cfish_Obj*
 cfish_XSBind_new_blank_obj(SV *either_sv);
 
 /** Test whether an SV is defined.  Handles "get" magic, unlike SvOK on its
@@ -64,13 +64,13 @@ cfish_XSBind_sv_defined(SV *sv) {
  * <code>allocation</code>, assign the SV's string to it, and return that
  * instead.  If all else fails, throw an exception.
  */
-LUCY_VISIBLE cfish_Obj*
+CFISH_VISIBLE cfish_Obj*
 cfish_XSBind_sv_to_cfish_obj(SV *sv, cfish_VTable *vtable, void *allocation);
 
 /** As XSBind_sv_to_cfish_obj above, but returns NULL instead of throwing an
  * exception.
  */
-LUCY_VISIBLE cfish_Obj*
+CFISH_VISIBLE cfish_Obj*
 cfish_XSBind_maybe_sv_to_cfish_obj(SV *sv, cfish_VTable *vtable,
                                    void *allocation);
 
@@ -116,24 +116,24 @@ cfish_XSBind_cfish_obj_to_sv_noinc(cfish_Obj *obj) {
  * SVs, ByteBufs to SVs, VArrays to Perl array refs, Hashes to Perl hashrefs,
  * and any other object to a Perl object wrapping the Clownfish Obj.
  */
-LUCY_VISIBLE SV*
+CFISH_VISIBLE SV*
 cfish_XSBind_cfish_to_perl(cfish_Obj *obj);
 
 /** Deep conversion of Perl data structures to Clownfish objects -- Perl hash
  * to Hash, Perl array to VArray, Clownfish objects stripped of their
  * wrappers, and everything else stringified and turned to a CharBuf.
  */
-LUCY_VISIBLE cfish_Obj*
+CFISH_VISIBLE cfish_Obj*
 cfish_XSBind_perl_to_cfish(SV *sv);
 
 /** Convert a ByteBuf into a new string SV.
  */
-LUCY_VISIBLE SV*
+CFISH_VISIBLE SV*
 cfish_XSBind_bb_to_sv(const cfish_ByteBuf *bb);
 
 /** Convert a CharBuf into a new UTF-8 string SV.
  */
-LUCY_VISIBLE SV*
+CFISH_VISIBLE SV*
 cfish_XSBind_cb_to_sv(const cfish_CharBuf *cb);
 
 /** Perl-specific wrapper for Err#trap.  The "routine" must be either a
@@ -144,15 +144,15 @@ cfish_XSBind_trap(SV *routine, SV *context);
 
 /** Turn on overloading for the supplied Perl object and its class.
  */
-LUCY_VISIBLE void
+CFISH_VISIBLE void
 cfish_XSBind_enable_overload(void *pobj);
 
 /** Process hash-style params passed to an XS subroutine.  The varargs must be
  * a NULL-terminated series of ALLOT_ macros.
  *
  *     cfish_XSBind_allot_params(stack, start, num_stack_elems,
- *          ALLOT_OBJ(&field, "field", 5, LUCY_CHARBUF, true, alloca(cfish_ZCB_size()),
- *          ALLOT_OBJ(&term, "term", 4, LUCY_CHARBUF, true, alloca(cfish_ZCB_size()),
+ *          ALLOT_OBJ(&field, "field", 5, CFISH_CHARBUF, true, alloca(cfish_ZCB_size()),
+ *          ALLOT_OBJ(&term, "term", 4, CFISH_CHARBUF, true, alloca(cfish_ZCB_size()),
  *          NULL);
  *
  * The following ALLOT_ macros are available for primitive types:
@@ -208,7 +208,7 @@ cfish_XSBind_enable_overload(void *pobj);
  * (generally, the XS variable "items").
  * @return true on success, false on failure (sets Err_error).
  */
-LUCY_VISIBLE bool
+CFISH_VISIBLE bool
 cfish_XSBind_allot_params(SV** stack, int32_t start,
                           int32_t num_stack_elems, ...);