More EasyTree compatibility.
authorPeter Verthez <Peter.Verthez@advalvas.be>
Sat, 1 Feb 2003 21:25:11 +0000 (21:25 +0000)
committerPeter Verthez <Peter.Verthez@advalvas.be>
Sat, 1 Feb 2003 21:25:11 +0000 (21:25 +0000)
gedcom/compat.c
gedcom/compat.h
gedcom/gedcom.y
t/compat-easytree-2.test [new file with mode: 0755]
t/input/compat-easytree-2.ged [new file with mode: 0644]
t/output/compat-easytree-2.ref [new file with mode: 0644]
t/output/write_gom_compat-easytree-2.ged [new file with mode: 0644]
t/output/write_gom_compat-easytree-2.ref [new file with mode: 0644]
t/write_gom_compat-easytree-2.test [new file with mode: 0755]

index dcba760c6420840c4050550528c6fc94ae960978..ef319ae844e4db76748468f5c9ed437128a0b48f 100644 (file)
@@ -95,6 +95,7 @@ struct program_data data[] = {
        - some 5.5.1 (draft) tags are used: EMAIL, FONE, ROMN
        - no FAMC field in SLGC
        - uses tab character (will be converted to 8 spaces here)
+       - lines too long
 
     - Personal Ancestral File 2:
         - '@' not written as '@@' in values
@@ -110,6 +111,8 @@ struct program_data data[] = {
        - no submitter link in the header
        - NOTE doesn't have a value
        - NOTE.NOTE instead of NOTE.COND
+       - NOTE.CONC.SOUR instead of NOTE.SOUR
+       - non-standard tags in SOUR records
 
     - Personal Ancestral File 4:
         - '@' not written as '@@' in values
@@ -127,7 +130,7 @@ int compat_matrix[] =
   /* C_HEAD_TIME */           C_LIFELINES,
   /* C_NO_DOUBLE_AT */        C_LIFELINES | C_PAF5 | C_PAF2 | C_FAMORIG
                                | C_PAF4,
-  /* C_NO_REQUIRED_VALUES */  C_LIFELINES | C_PAF5,
+  /* C_NO_REQUIRED_VALUES */  C_LIFELINES | C_PAF5 | C_EASYTREE,
   /* C_551_TAGS */            C_PAF5,
   /* C_NO_SLGC_FAMC */        C_PAF5,
   /* C_SUBM_COMM */           C_PAF2,
@@ -137,7 +140,9 @@ int compat_matrix[] =
   /* C_NOTE_NOTE */           C_EASYTREE,
   /* C_TAB_CHARACTER */       C_PAF5,
   /* C_SUBM_CTRY */           C_PAF4,
-  /* C_NOTE_TOO_LONG */       C_PAF4
+  /* C_NOTE_TOO_LONG */       C_PAF4 | C_PAF5,
+  /* C_NOTE_CONC_SOUR */      C_EASYTREE,
+  /* C_NONSTD_SOUR_TAGS */    C_EASYTREE
 };
 
 union _COMPAT_STATE {
@@ -680,3 +685,96 @@ void compat_long_line_finish(Gedcom_ctxt parent, int level)
     end_element(ELT_SUB_CONC, parent, ctxt, GEDCOM_MAKE_NULL(val1));
   }
 }
+
+/********************************************************************/
+/*  C_NOTE_CONC_SOUR                                                */
+/********************************************************************/
+
+Gedcom_ctxt compat_generate_note_sour_start(Gedcom_ctxt parent,
+                                           int level, struct tag_struct ts,
+                                           char* pointer)
+{
+  Gedcom_ctxt self;
+  struct xref_value *xr = gedcom_parse_xref(pointer, XREF_USED, XREF_SOUR);
+  if (xr == NULL) {
+    self = (void*)-1;
+  }
+  else {
+    self = start_element(ELT_SUB_SOUR, parent, level-1, ts, pointer,
+                        GEDCOM_MAKE_XREF_PTR(val1, xr));
+  }
+  compat_state[C_NOTE_CONC_SOUR].vp = parent;
+  return self;
+}
+
+void compat_generate_note_sour_end(Gedcom_ctxt self)
+{
+  if (self != (void*) -1) {
+    end_element(ELT_SUB_SOUR, compat_state[C_NOTE_CONC_SOUR].vp,
+               self, GEDCOM_MAKE_NULL(val1));
+  }
+}
+
+/********************************************************************/
+/*  C_NONSTD_SOUR_TAGS                                              */
+/********************************************************************/
+
+int is_nonstd_sour_tag(const char* tag)
+{
+  if (strncmp(tag, "FILN", 5))
+    return 1;
+  else if (strncmp(tag, "URL", 4))
+    return 1;
+  else if (strncmp(tag, "LOCA", 5))
+    return 1;
+  else if (strncmp(tag, "REGI", 5))
+    return 1;
+  else if (strncmp(tag, "VOL", 4))
+    return 1;
+  else
+    return 0;
+}
+
+int compat_check_sour_tag(const char* tag, struct safe_buffer* b)
+{
+  if (is_nonstd_sour_tag(tag)) {
+    reset_buffer(b);
+    SAFE_BUF_ADDCHAR(b, '_');
+    safe_buf_append(b, tag);
+    gedcom_warning(_("Converting undefined tag '%s' to user tag '%s'"),
+                  tag, get_buf_string(b));
+    return 1;
+  }
+  else
+    return 0;
+}
+
+Gedcom_ctxt compat_generate_nonstd_sour_start(Gedcom_ctxt parent, int level,
+                                             struct tag_struct ts,
+                                             char* value,
+                                             struct safe_buffer* b)
+{
+  Gedcom_ctxt self = NULL;
+  reset_buffer(b);
+  SAFE_BUF_ADDCHAR(b, '_');
+  safe_buf_append(b, ts.string);
+  gedcom_warning(_("Converting invalidly used tag '%s' to user tag '%s'"),
+                ts.string, get_buf_string(b));
+  ts.string = get_buf_string(b);
+
+  self = start_element(ELT_USER, parent, level, ts, value,
+                      GEDCOM_MAKE_NULL_OR_STRING(val1, value));
+  compat_state[C_NONSTD_SOUR_TAGS].i = 1;
+  return self;
+}
+
+void compat_generate_nonstd_sour_end(Gedcom_ctxt parent, Gedcom_ctxt self)
+{
+  end_element(ELT_USER, parent, self, NULL);
+  compat_state[C_NONSTD_SOUR_TAGS].i = 0;
+}
+
+int compat_generate_nonstd_sour_state()
+{
+  return compat_state[C_NONSTD_SOUR_TAGS].i;
+}
index 813f7949fd623f2bc9e5ab437ff8a4f1197e2474..088da5adcfa4337590141232b9b6d8703ee2ba1c 100644 (file)
@@ -47,6 +47,8 @@ typedef enum _COMPAT_RULES {
   C_TAB_CHARACTER,
   C_SUBM_CTRY,
   C_NOTE_TOO_LONG,
+  C_NOTE_CONC_SOUR,
+  C_NONSTD_SOUR_TAGS,
   C_NR_OF_RULES
 } Compat_rule;
 
@@ -103,4 +105,19 @@ int  compat_long_line(int level, int tag);
 char* compat_long_line_get_prefix(char* str);
 void compat_long_line_finish(Gedcom_ctxt parent, int level);
 
+/* C_NOTE_CONC_SOUR */
+Gedcom_ctxt compat_generate_note_sour_start(Gedcom_ctxt parent,
+                                           int level, struct tag_struct ts,
+                                           char* pointer);
+void compat_generate_note_sour_end(Gedcom_ctxt self);
+
+/* C_NONSTD_SOUR_TAGS */
+int  compat_check_sour_tag(const char* tag, struct safe_buffer* b);
+Gedcom_ctxt compat_generate_nonstd_sour_start(Gedcom_ctxt parent, int level,
+                                             struct tag_struct ts,
+                                             char* value,
+                                             struct safe_buffer* b);
+void compat_generate_nonstd_sour_end(Gedcom_ctxt parent, Gedcom_ctxt self);
+int compat_generate_nonstd_sour_state();
+
 #endif /* __COMPAT_H */
index 75fd0b111e93d3eef47b596cc56220a50e54f753..b94f7fa37c612217c3d1c036e5084375037f4bd0 100644 (file)
@@ -185,6 +185,7 @@ void clean_up();
         clean_up(); YYABORT;                                                 \
        }                                                                      \
        else if (error_mechanism == DEFER_FAIL) {                              \
+         gedcom_debug_print("Fail on line %d", line_no);                      \
          yyerrok; fail = 1;                                                   \
        }                                                                      \
        else if (error_mechanism == IGNORE_ERRORS) {                           \
@@ -261,7 +262,7 @@ void clean_up();
 }
 
 %token_table
-%expect 310
+%expect 317
 
 %token <string> BADTOKEN
 %token <number> OPEN
@@ -1550,6 +1551,24 @@ sour_sub    : sour_data_sect  { OCCUR2(DATA, 0, 1) }
             | sour_abbr_sect  { OCCUR2(ABBR, 0, 1) }
             | sour_publ_sect  { OCCUR2(PUBL, 0, 1) }
             | sour_text_sect  { OCCUR2(TEXT, 0, 1) }
+            | sour_type_sect  { if (!compat_mode(C_NONSTD_SOUR_TAGS))
+                                 INVALID_TAG("TYPE");
+                               OCCUR2(TYPE, 0, 1) }
+            | sour_file_sect  { if (!compat_mode(C_NONSTD_SOUR_TAGS))
+                                 INVALID_TAG("FILE");
+                               OCCUR2(FILE, 0, 1) }
+            | sour_plac_sect  { if (!compat_mode(C_NONSTD_SOUR_TAGS))
+                                 INVALID_TAG("PLAC");
+                               OCCUR2(PLAC, 0, 1) }
+            | sour_date_sect  { if (!compat_mode(C_NONSTD_SOUR_TAGS))
+                                 INVALID_TAG("DATE");
+                               OCCUR2(DATE, 0, 1) }
+            | sour_medi_sect  { if (!compat_mode(C_NONSTD_SOUR_TAGS))
+                                 INVALID_TAG("MEDI");
+                               OCCUR2(MEDI, 0, 1) }
+            | sour_page_sect  { if (!compat_mode(C_NONSTD_SOUR_TAGS))
+                                 INVALID_TAG("PAGE");
+                               OCCUR2(PAGE, 0, 1) }
             | source_repos_cit_sub  /* 0:1 */
             | multim_link_sub  /* 0:M */
             | note_struc_sub  /* 0:M */
@@ -1770,6 +1789,90 @@ sour_text_sub  : continuation_sub  /* 0:M */
                | no_std_sub
                ;
 
+/* Only for compatibility */
+sour_type_sect : OPEN DELIM TAG_TYPE opt_line_item  
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS)) {
+                    $<ctxt>$ =
+                      compat_generate_nonstd_sour_start(PARENT, $1, $3, $4,
+                                                        &usertag_buffer);
+                  }
+                 }
+                 CLOSE            
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS))
+                    compat_generate_nonstd_sour_end(PARENT, $<ctxt>5);
+                }
+               ;
+
+/* Only for compatibility */
+sour_file_sect : OPEN DELIM TAG_FILE opt_line_item  
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS)) {
+                    $<ctxt>$ =
+                      compat_generate_nonstd_sour_start(PARENT, $1, $3, $4,
+                                                        &usertag_buffer);
+                  }
+                 }
+                 CLOSE            
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS))
+                    compat_generate_nonstd_sour_end(PARENT, $<ctxt>5);
+                }
+               ;
+
+/* Only for compatibility */
+sour_plac_sect : OPEN DELIM TAG_PLAC opt_line_item  
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS)) {
+                    $<ctxt>$ =
+                      compat_generate_nonstd_sour_start(PARENT, $1, $3, $4,
+                                                        &usertag_buffer);
+                  }
+                 }
+                 CLOSE            
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS))
+                    compat_generate_nonstd_sour_end(PARENT, $<ctxt>5);
+                }
+               ;
+
+/* Only for compatibility */
+sour_date_sect : OPEN DELIM TAG_DATE opt_line_item  
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS)) {
+                    $<ctxt>$ =
+                      compat_generate_nonstd_sour_start(PARENT, $1, $3, $4,
+                                                        &usertag_buffer);
+                  }
+                 }
+                 CLOSE            
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS))
+                    compat_generate_nonstd_sour_end(PARENT, $<ctxt>5);
+                }
+               ;
+
+/* Only for compatibility */
+sour_medi_sect : OPEN DELIM TAG_MEDI opt_line_item  
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS)) {
+                    $<ctxt>$ =
+                      compat_generate_nonstd_sour_start(PARENT, $1, $3, $4,
+                                                        &usertag_buffer);
+                  }
+                 }
+                 CLOSE            
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS))
+                    compat_generate_nonstd_sour_end(PARENT, $<ctxt>5);
+                }
+               ;
+
+/* Only for compatibility */
+sour_page_sect : OPEN DELIM TAG_PAGE opt_line_item  
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS)) {
+                    $<ctxt>$ =
+                      compat_generate_nonstd_sour_start(PARENT, $1, $3, $4,
+                                                        &usertag_buffer);
+                  }
+                 }
+                 CLOSE            
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS))
+                    compat_generate_nonstd_sour_end(PARENT, $<ctxt>5);
+                }
+               ;
+
 /*********************************************************************/
 /**** Submission record                                           ****/
 /*********************************************************************/
@@ -2348,7 +2451,7 @@ cont_sect : OPEN DELIM TAG_CONT opt_line_item
                safe_buf_append(&concat_buffer, $4);
              START(CONT, $1, $<ctxt>$)  
             }  
-            no_std_subs  
+            cont_conc_subs  
             { CHECK0 }  
             CLOSE  
             { end_element(ELT_SUB_CONT, PARENT, $<ctxt>5,
@@ -2366,7 +2469,7 @@ conc_sect : OPEN DELIM TAG_CONC mand_line_item
              safe_buf_append(&concat_buffer, $4);
              START(CONC, $1, $<ctxt>$)  
             }  
-            no_std_subs  
+            cont_conc_subs  
             { CHECK0 }  
             CLOSE  
             { end_element(ELT_SUB_CONC, PARENT, $<ctxt>5,
@@ -2374,6 +2477,33 @@ conc_sect : OPEN DELIM TAG_CONC mand_line_item
            }
           ; 
 
+cont_conc_subs : /* empty */
+               | cont_conc_subs cont_conc_sub
+               ;
+
+cont_conc_sub  : cont_conc_sour_sect { if (!compat_mode(C_NOTE_CONC_SOUR))
+                                        INVALID_TAG("SOUR");
+                                      OCCUR2(SOUR, 0, 1) } 
+               | no_std_sub
+              ;
+
+/* Only for compatibility */
+cont_conc_sour_sect : OPEN DELIM TAG_SOUR DELIM POINTER
+                      { if (compat_mode(C_NOTE_CONC_SOUR)) {
+                         $<ctxt>$
+                           = compat_generate_note_sour_start(GRANDPARENT(1),
+                                                             $1, $3, $5);
+                         if ($<ctxt>$ == (void*)-1) HANDLE_ERROR;
+                        }
+                      }
+                      no_std_subs
+                      CLOSE
+                      { if (compat_mode(C_NOTE_CONC_SOUR)) {
+                         compat_generate_note_sour_end($<ctxt>6);
+                       }
+                      }
+                     ;
+
 /* EVENT DETAIL */
 event_detail_sub : event_detail_type_sect  { OCCUR2(TYPE, 0, 1) }
                  | event_detail_date_sect  { OCCUR2(DATE, 0, 1) }
@@ -3599,22 +3729,41 @@ source_cit_emb_sub : continuation_sub
 
 /* SOURCE REPOSITORY CITATION */
 source_repos_cit_sub : source_repos_repo_sect  { OCCUR2(REPO, 0, 1) }
+                     | source_repos_repo_txt_sect
+                       { if (!compat_mode(C_NONSTD_SOUR_TAGS))
+                          INVALID_TAG("REPO");
+                        OCCUR2(REPO, 0, 1)
+                      }
                      ;
 
-source_repos_repo_sect : OPEN DELIM TAG_REPO mand_pointer
+/* Only for compatibility */
+source_repos_repo_txt_sect : OPEN DELIM TAG_REPO opt_line_item
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS)) {
+                    $<ctxt>$ =
+                      compat_generate_nonstd_sour_start(PARENT, $1, $3, $4,
+                                                        &usertag_buffer);
+                  }
+                 }
+                 CLOSE            
+                 { if (compat_mode(C_NONSTD_SOUR_TAGS))
+                    compat_generate_nonstd_sour_end(PARENT, $<ctxt>5);
+                }
+               ;
+
+source_repos_repo_sect : OPEN DELIM TAG_REPO DELIM POINTER
                          { struct xref_value *xr
-                            = gedcom_parse_xref($4, XREF_USED, XREF_REPO);
-                          if (xr == NULL) HANDLE_ERROR;
+                            = gedcom_parse_xref($5, XREF_USED, XREF_REPO);
+                          if (xr == NULL) HANDLE_ERROR;
                           $<ctxt>$
                             = start_element(ELT_SUB_REPO,
-                                            PARENT, $1, $3, $4,
+                                            PARENT, $1, $3, $5,
                                             GEDCOM_MAKE_XREF_PTR(val1, xr));
-                          START(REPO, $1, $<ctxt>$) 
-                         }
+                          START(REPO, $1, $<ctxt>$);
+                        }
                          source_repos_repo_subs
                         { CHECK0 }
                          CLOSE 
-                         { end_element(ELT_SUB_REPO, PARENT, $<ctxt>5
+                         { end_element(ELT_SUB_REPO, PARENT, $<ctxt>6
                                       GEDCOM_MAKE_NULL(val1));
                         }
                        ;
@@ -3716,8 +3865,11 @@ no_std_rec  : user_rec /* 0:M */
 
 user_rec    : OPEN DELIM opt_xref USERTAG
               { if ($4.string[0] != '_') {
-                 if (compat_mode(C_551_TAGS)
-                     && compat_check_551_tag($4.string, &usertag_buffer)) {
+                 if ((compat_mode(C_551_TAGS)
+                      && compat_check_551_tag($4.string, &usertag_buffer))
+                     ||
+                     (compat_mode(C_NONSTD_SOUR_TAGS)
+                      && compat_check_sour_tag($4.string, &usertag_buffer))) {
                    $4.string = get_buf_string(&usertag_buffer);
                  }
                  else {                  
@@ -3746,13 +3898,15 @@ user_rec    : OPEN DELIM opt_xref USERTAG
             ;
 user_sect   : OPEN DELIM opt_xref USERTAG
               { if ($4.string[0] != '_') {
-                 if (compat_mode(C_551_TAGS)
-                     && compat_check_551_tag($4.string, &usertag_buffer)) {
-                   $4.string = get_buf_string(&usertag_buffer);
-                 }
-                 else if (compat_mode(C_SUBM_COMM) &&
-                          compat_check_subm_comm($4.string, get_parenttag(0),
-                                                 &usertag_buffer)) {
+                 if ((compat_mode(C_551_TAGS)
+                      && compat_check_551_tag($4.string, &usertag_buffer))
+                     ||
+                     (compat_mode(C_SUBM_COMM)
+                      && compat_check_subm_comm($4.string, get_parenttag(0),
+                                                &usertag_buffer))
+                     ||
+                     (compat_mode(C_NONSTD_SOUR_TAGS)
+                      && compat_check_sour_tag($4.string, &usertag_buffer))) {
                    $4.string = get_buf_string(&usertag_buffer);
                  }
                  else {
diff --git a/t/compat-easytree-2.test b/t/compat-easytree-2.test
new file mode 100755 (executable)
index 0000000..d730c08
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+$srcdir/src/test_script -2 $0 0 compat-easytree-2.ged
diff --git a/t/input/compat-easytree-2.ged b/t/input/compat-easytree-2.ged
new file mode 100644 (file)
index 0000000..c3e1467
--- /dev/null
@@ -0,0 +1,141 @@
+0 HEAD \r
+1 SOUR EasyTree\r
+2 VERS V8.0\r
+2 CORP Sierra On-Line\r
+1 DEST EasyTree\r
+1 DATE 3 MAR 2002\r
+1 FILE d:\Program Files\Sierra\GSK8\genealogy\DAISH.UDS\r
+1 GEDC \r
+2 VERS 5.5\r
+2 FORM LINEAGE_LINKED\r
+1 CHAR IBM WINDOWS\r
+1 SUBM @U1@\r
+0 @U1@ SUBM\r
+1 NAME \r
+0 @N42@ NOTE\r
+1 CONC Census 1881 gives the following information.\r
+1 CONC \r
+1 CONC Dwelling: 8 Albert Road, Charlton, Kent, England\r
+1 CONC born Newport, Isle of Wight, age 40\r
+1 CONC Occ: Primitive Methodist Minister of Peter St. Chapel \r
+1 CONC \r
+2 SOUR @S6@\r
+0 @N91@ NOTE\r
+1 CONC 2nd name is "Anna" in IGI Christening record\r
+1 CONC \r
+0 @S1@ SOUR\r
+1 TYPE LDS Records\r
+1 FILN 136551\r
+0 @S2@ SOUR\r
+1 TYPE LDS Records\r
+1 FILN M062613\r
+0 @S3@ SOUR\r
+1 TYPE Phillimores Record\r
+1 FILE Marr_14c.txt\r
+1 FILN Hampshire\r
+0 @S4@ SOUR\r
+1 TYPE LDS Records\r
+1 FILN C069311\r
+0 @S5@ SOUR\r
+1 TYPE Web Site\r
+1 URL http://worldconnect.genealogy.rootsweb.com/cgi-bin/igm.cgi?surname=daish&given=&start=0&skipdb=&bplace=&stype=Exact&bskip=&dskip=&dplace=\r
+0 @S6@ SOUR\r
+1 TYPE Census\r
+1 TITL 1881 Census - Charlton, Kent\r
+1 PLAC Charlton, Kent (now part of Dover)\r
+1 DATE 1881\r
+1 MEDI FHL Film\r
+1 LOCA 1341237 piece 1000 folio 124 page 20\r
+0 @S8@ SOUR\r
+1 TYPE Bishops Transcripts\r
+1 PLAC Newport, Isle of Wight\r
+1 REGI 1724 to 1812\r
+0 @S9@ SOUR\r
+1 TYPE Probate\r
+1 PLAC Winchester\r
+0 @S10@ SOUR\r
+1 TYPE Will\r
+0 @S11@ SOUR\r
+1 TYPE LDS Records\r
+0 @S12@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL 7503283\r
+1 FILN 0820199\r
+1 PAGE 62\r
+0 @S13@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL M136791\r
+1 FILN 1041226\r
+0 @S14@ SOUR\r
+1 TYPE Will\r
+1 TITL Will of William Daish of Whippingham, 1773\r
+1 URL http://www.daish.net/documents/Will_William_Daish_Whippinhgam_1793.htm\r
+0 @S15@ SOUR\r
+1 TYPE Parish Record\r
+1 DATE 19 Feb 1775\r
+1 PLAC Godshill, Isle of Wight\r
+0 @S16@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL C062616\r
+1 FILN 0919743\r
+0 @S17@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL J136791\r
+1 FILN 1041226\r
+0 @S18@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL 7203823\r
+1 FILN 0820199\r
+1 PAGE 67\r
+0 @S19@ SOUR\r
+1 TYPE LDS Records\r
+0 @S20@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL M063062\r
+1 FILN 0918892\r
+0 @S21@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL M146691\r
+1 FILN 1042025\r
+0 @S22@ SOUR\r
+1 TYPE LDS Records\r
+1 FILN 6142825\r
+0 @S23@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL C063062\r
+1 FILN 0918892\r
+0 @S24@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL M146691\r
+1 FILN 1042025\r
+0 @S25@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL K146691\r
+1 FILN 1042025\r
+0 @S26@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL C063062\r
+1 FILN 0918892\r
+0 @S27@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL M136791\r
+1 FILN 1041226\r
+0 @S28@ SOUR\r
+1 TYPE LDS Records\r
+1 FILN 6142825\r
+0 @S29@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL J146691\r
+1 FILN 1042025\r
+0 @S30@ SOUR\r
+1 AUTH The Church of Jesus Christ of Latter-day Saints\r
+1 TITL Ancestral File (R)\r
+1 PUBL Copyright (c) 1987, June 1998, data as of 5 January 1998\r
+1 REPO Family History Library 35 N West Temple Street\r
+0 @S32@ SOUR\r
+1 TYPE LDS Records\r
+1 VOL A184752\r
+0 @S33@ SOUR\r
+1 TYPE IGI\r
+1 REPO IGI Record\r
+0 TRLR \r
diff --git a/t/output/compat-easytree-2.ref b/t/output/compat-easytree-2.ref
new file mode 100644 (file)
index 0000000..d3fbbcb
--- /dev/null
@@ -0,0 +1,517 @@
+
+=== Parsing file compat-easytree-2.ged
+Header start
+Source is EasyTree (ctxt is 1001, parent is 1)
+== 2 VERS (391) V8.0 (ctxt is 1001, conversion failures: 0)
+== 2 CORP (302) Sierra On-Line (ctxt is 1001, conversion failures: 0)
+WARNING: Warning on line 4: Enabling compatibility with 'EasyTree'
+Source context 1001 in parent 1
+== 1 DEST (310) EasyTree (ctxt is 1, conversion failures: 0)
+== 1 DATE (306) 3 MAR 2002 (ctxt is 1, conversion failures: 0)
+== 1 FILE (324) d:\Program Files\Sierra\GSK8\genealogy\DAISH.UDS (ctxt is 1, conversion failures: 0)
+== 1 GEDC (326) (null) (ctxt is 1, conversion failures: 0)
+== 2 VERS (391) 5.5 (ctxt is 1, conversion failures: 0)
+== 2 FORM (325) LINEAGE_LINKED (ctxt is 1, conversion failures: 0)
+== 1 CHAR (292) IBM_WINDOWS (ctxt is 1, conversion failures: 0)
+== 1 SUBM (382) @U1@ (ctxt is 1, conversion failures: 0)
+Header end, context is 1
+Submitter, xref is @U1@
+== 1 NAME (342) - (ctxt is 10000, conversion failures: 0)
+== 0 NOTE (348) - (xref is @N42@)
+== 1 CONC (297) Census 1881 gives the following information. (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) - (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) Dwelling: 8 Albert Road, Charlton, Kent, England (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) born Newport, Isle of Wight, age 40 (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) Occ: Primitive Methodist Minister of Peter St. Chapel (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) - (ctxt is 348, conversion failures: 0)
+== 1 SOUR (377) @S6@ (ctxt is 348, conversion failures: 0)
+== 0 NOTE (348) - (xref is @N91@)
+== 1 CONC (297) 2nd name is "Anna" in IGI Christening record (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) - (ctxt is 348, conversion failures: 0)
+Rec SOUR start, xref is @S1@
+WARNING: Warning on line 27: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 28: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 136551 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S2@
+WARNING: Warning on line 30: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 31: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) M062613 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S3@
+WARNING: Warning on line 33: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Phillimores Record (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 34: Converting invalidly used tag 'FILE' to user tag '_FILE'
+== 1 _FILE (324) Marr_14c.txt (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 35: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) Hampshire (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S4@
+WARNING: Warning on line 37: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 38: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) C069311 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S5@
+WARNING: Warning on line 40: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Web Site (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 41: Converting undefined tag 'URL' to user tag '_URL'
+== 1 _URL (264) http://worldconnect.genealogy.rootsweb.com/cgi-bin/igm.cgi?surname=daish&given=&start=0&skipdb=&bplace=&stype=Exact&bskip=&dskip=&dplace= (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S6@
+WARNING: Warning on line 43: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Census (ctxt is 377, conversion failures: 0)
+== 1 TITL (388) 1881 Census - Charlton, Kent (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 45: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Charlton, Kent (now part of Dover) (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 46: Converting invalidly used tag 'DATE' to user tag '_DATE'
+== 1 _DATE (306) 1881 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 47: Converting invalidly used tag 'MEDI' to user tag '_MEDI'
+== 1 _MEDI (341) FHL Film (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 48: Converting undefined tag 'LOCA' to user tag '_LOCA'
+== 1 _LOCA (264) 1341237 piece 1000 folio 124 page 20 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S8@
+WARNING: Warning on line 50: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Bishops Transcripts (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 51: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Newport, Isle of Wight (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 52: Converting undefined tag 'REGI' to user tag '_REGI'
+== 1 _REGI (264) 1724 to 1812 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S9@
+WARNING: Warning on line 54: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Probate (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 55: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Winchester (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S10@
+WARNING: Warning on line 57: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Will (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S11@
+WARNING: Warning on line 59: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S12@
+WARNING: Warning on line 61: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 62: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) 7503283 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 63: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0820199 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 64: Converting invalidly used tag 'PAGE' to user tag '_PAGE'
+== 1 _PAGE (355) 62 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S13@
+WARNING: Warning on line 66: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 67: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M136791 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 68: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1041226 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S14@
+WARNING: Warning on line 70: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Will (ctxt is 377, conversion failures: 0)
+== 1 TITL (388) Will of William Daish of Whippingham, 1773 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 72: Converting undefined tag 'URL' to user tag '_URL'
+== 1 _URL (264) http://www.daish.net/documents/Will_William_Daish_Whippinhgam_1793.htm (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S15@
+WARNING: Warning on line 74: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Parish Record (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 75: Converting invalidly used tag 'DATE' to user tag '_DATE'
+== 1 _DATE (306) 19 Feb 1775 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 76: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Godshill, Isle of Wight (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S16@
+WARNING: Warning on line 78: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 79: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) C062616 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 80: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0919743 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S17@
+WARNING: Warning on line 82: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 83: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) J136791 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 84: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1041226 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S18@
+WARNING: Warning on line 86: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 87: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) 7203823 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 88: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0820199 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 89: Converting invalidly used tag 'PAGE' to user tag '_PAGE'
+== 1 _PAGE (355) 67 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S19@
+WARNING: Warning on line 91: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S20@
+WARNING: Warning on line 93: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 94: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M063062 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 95: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0918892 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S21@
+WARNING: Warning on line 97: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 98: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 99: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S22@
+WARNING: Warning on line 101: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 102: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 6142825 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S23@
+WARNING: Warning on line 104: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 105: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) C063062 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 106: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0918892 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S24@
+WARNING: Warning on line 108: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 109: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 110: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S25@
+WARNING: Warning on line 112: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 113: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) K146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 114: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S26@
+WARNING: Warning on line 116: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 117: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) C063062 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 118: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0918892 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S27@
+WARNING: Warning on line 120: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 121: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M136791 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 122: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1041226 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S28@
+WARNING: Warning on line 124: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 125: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 6142825 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S29@
+WARNING: Warning on line 127: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 128: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) J146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 129: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S30@
+== 1 AUTH (278) The Church of Jesus Christ of Latter-day Saints (ctxt is 377, conversion failures: 0)
+== 1 TITL (388) Ancestral File (R) (ctxt is 377, conversion failures: 0)
+== 1 PUBL (362) Copyright (c) 1987, June 1998, data as of 5 January 1998 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 134: Converting invalidly used tag 'REPO' to user tag '_REPO'
+== 1 _REPO (367) Family History Library 35 N West Temple Street (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S32@
+WARNING: Warning on line 136: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 137: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) A184752 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S33@
+WARNING: Warning on line 139: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) IGI (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 140: Converting invalidly used tag 'REPO' to user tag '_REPO'
+== 1 _REPO (367) IGI Record (ctxt is 377, conversion failures: 0)
+WARNING: Warning: Cross-reference @S14@ defined on line 69 is never used
+WARNING: Warning: Cross-reference @S5@ defined on line 39 is never used
+WARNING: Warning: Cross-reference @S2@ defined on line 29 is never used
+WARNING: Warning: Cross-reference @S1@ defined on line 26 is never used
+WARNING: Warning: Cross-reference @N42@ defined on line 15 is never used
+WARNING: Warning: Cross-reference @S30@ defined on line 130 is never used
+WARNING: Warning: Cross-reference @S33@ defined on line 138 is never used
+WARNING: Warning: Cross-reference @S12@ defined on line 60 is never used
+WARNING: Warning: Cross-reference @N91@ defined on line 23 is never used
+WARNING: Warning: Cross-reference @S20@ defined on line 92 is never used
+WARNING: Warning: Cross-reference @S26@ defined on line 115 is never used
+WARNING: Warning: Cross-reference @S18@ defined on line 85 is never used
+WARNING: Warning: Cross-reference @S9@ defined on line 53 is never used
+WARNING: Warning: Cross-reference @S25@ defined on line 111 is never used
+WARNING: Warning: Cross-reference @S19@ defined on line 90 is never used
+WARNING: Warning: Cross-reference @S27@ defined on line 119 is never used
+WARNING: Warning: Cross-reference @S10@ defined on line 56 is never used
+WARNING: Warning: Cross-reference @S3@ defined on line 32 is never used
+WARNING: Warning: Cross-reference @S17@ defined on line 81 is never used
+WARNING: Warning: Cross-reference @S28@ defined on line 123 is never used
+WARNING: Warning: Cross-reference @S29@ defined on line 126 is never used
+WARNING: Warning: Cross-reference @S11@ defined on line 58 is never used
+WARNING: Warning: Cross-reference @S22@ defined on line 100 is never used
+WARNING: Warning: Cross-reference @S21@ defined on line 96 is never used
+WARNING: Warning: Cross-reference @S24@ defined on line 107 is never used
+WARNING: Warning: Cross-reference @S23@ defined on line 103 is never used
+WARNING: Warning: Cross-reference @S13@ defined on line 65 is never used
+WARNING: Warning: Cross-reference @S4@ defined on line 36 is never used
+WARNING: Warning: Cross-reference @S8@ defined on line 49 is never used
+WARNING: Warning: Cross-reference @S16@ defined on line 77 is never used
+WARNING: Warning: Cross-reference @S32@ defined on line 135 is never used
+WARNING: Warning: Cross-reference @S15@ defined on line 73 is never used
+
+=== Total conversion failures: 0
+
+=== Parsing file compat-easytree-2.ged
+Header start
+Source is EasyTree (ctxt is 1001, parent is 1)
+== 2 VERS (391) V8.0 (ctxt is 1001, conversion failures: 0)
+== 2 CORP (302) Sierra On-Line (ctxt is 1001, conversion failures: 0)
+WARNING: Warning on line 4: Enabling compatibility with 'EasyTree'
+Source context 1001 in parent 1
+== 1 DEST (310) EasyTree (ctxt is 1, conversion failures: 0)
+== 1 DATE (306) 3 MAR 2002 (ctxt is 1, conversion failures: 0)
+== 1 FILE (324) d:\Program Files\Sierra\GSK8\genealogy\DAISH.UDS (ctxt is 1, conversion failures: 0)
+== 1 GEDC (326) (null) (ctxt is 1, conversion failures: 0)
+== 2 VERS (391) 5.5 (ctxt is 1, conversion failures: 0)
+== 2 FORM (325) LINEAGE_LINKED (ctxt is 1, conversion failures: 0)
+== 1 CHAR (292) IBM_WINDOWS (ctxt is 1, conversion failures: 0)
+== 1 SUBM (382) @U1@ (ctxt is 1, conversion failures: 0)
+Header end, context is 1
+Submitter, xref is @U1@
+== 1 NAME (342) - (ctxt is 10000, conversion failures: 0)
+== 0 NOTE (348) - (xref is @N42@)
+== 1 CONC (297) Census 1881 gives the following information. (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) - (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) Dwelling: 8 Albert Road, Charlton, Kent, England (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) born Newport, Isle of Wight, age 40 (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) Occ: Primitive Methodist Minister of Peter St. Chapel (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) - (ctxt is 348, conversion failures: 0)
+== 1 SOUR (377) @S6@ (ctxt is 348, conversion failures: 0)
+== 0 NOTE (348) - (xref is @N91@)
+== 1 CONC (297) 2nd name is "Anna" in IGI Christening record (ctxt is 348, conversion failures: 0)
+== 1 CONC (297) - (ctxt is 348, conversion failures: 0)
+Rec SOUR start, xref is @S1@
+WARNING: Warning on line 27: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 28: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 136551 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S2@
+WARNING: Warning on line 30: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 31: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) M062613 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S3@
+WARNING: Warning on line 33: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Phillimores Record (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 34: Converting invalidly used tag 'FILE' to user tag '_FILE'
+== 1 _FILE (324) Marr_14c.txt (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 35: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) Hampshire (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S4@
+WARNING: Warning on line 37: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 38: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) C069311 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S5@
+WARNING: Warning on line 40: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Web Site (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 41: Converting undefined tag 'URL' to user tag '_URL'
+== 1 _URL (264) http://worldconnect.genealogy.rootsweb.com/cgi-bin/igm.cgi?surname=daish&given=&start=0&skipdb=&bplace=&stype=Exact&bskip=&dskip=&dplace= (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S6@
+WARNING: Warning on line 43: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Census (ctxt is 377, conversion failures: 0)
+== 1 TITL (388) 1881 Census - Charlton, Kent (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 45: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Charlton, Kent (now part of Dover) (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 46: Converting invalidly used tag 'DATE' to user tag '_DATE'
+== 1 _DATE (306) 1881 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 47: Converting invalidly used tag 'MEDI' to user tag '_MEDI'
+== 1 _MEDI (341) FHL Film (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 48: Converting undefined tag 'LOCA' to user tag '_LOCA'
+== 1 _LOCA (264) 1341237 piece 1000 folio 124 page 20 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S8@
+WARNING: Warning on line 50: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Bishops Transcripts (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 51: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Newport, Isle of Wight (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 52: Converting undefined tag 'REGI' to user tag '_REGI'
+== 1 _REGI (264) 1724 to 1812 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S9@
+WARNING: Warning on line 54: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Probate (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 55: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Winchester (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S10@
+WARNING: Warning on line 57: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Will (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S11@
+WARNING: Warning on line 59: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S12@
+WARNING: Warning on line 61: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 62: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) 7503283 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 63: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0820199 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 64: Converting invalidly used tag 'PAGE' to user tag '_PAGE'
+== 1 _PAGE (355) 62 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S13@
+WARNING: Warning on line 66: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 67: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M136791 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 68: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1041226 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S14@
+WARNING: Warning on line 70: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Will (ctxt is 377, conversion failures: 0)
+== 1 TITL (388) Will of William Daish of Whippingham, 1773 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 72: Converting undefined tag 'URL' to user tag '_URL'
+== 1 _URL (264) http://www.daish.net/documents/Will_William_Daish_Whippinhgam_1793.htm (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S15@
+WARNING: Warning on line 74: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) Parish Record (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 75: Converting invalidly used tag 'DATE' to user tag '_DATE'
+== 1 _DATE (306) 19 Feb 1775 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 76: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+== 1 _PLAC (358) Godshill, Isle of Wight (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S16@
+WARNING: Warning on line 78: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 79: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) C062616 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 80: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0919743 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S17@
+WARNING: Warning on line 82: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 83: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) J136791 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 84: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1041226 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S18@
+WARNING: Warning on line 86: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 87: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) 7203823 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 88: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0820199 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 89: Converting invalidly used tag 'PAGE' to user tag '_PAGE'
+== 1 _PAGE (355) 67 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S19@
+WARNING: Warning on line 91: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S20@
+WARNING: Warning on line 93: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 94: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M063062 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 95: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0918892 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S21@
+WARNING: Warning on line 97: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 98: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 99: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S22@
+WARNING: Warning on line 101: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 102: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 6142825 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S23@
+WARNING: Warning on line 104: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 105: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) C063062 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 106: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0918892 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S24@
+WARNING: Warning on line 108: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 109: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 110: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S25@
+WARNING: Warning on line 112: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 113: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) K146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 114: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S26@
+WARNING: Warning on line 116: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 117: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) C063062 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 118: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 0918892 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S27@
+WARNING: Warning on line 120: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 121: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) M136791 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 122: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1041226 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S28@
+WARNING: Warning on line 124: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 125: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 6142825 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S29@
+WARNING: Warning on line 127: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 128: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) J146691 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 129: Converting undefined tag 'FILN' to user tag '_FILN'
+== 1 _FILN (264) 1042025 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S30@
+== 1 AUTH (278) The Church of Jesus Christ of Latter-day Saints (ctxt is 377, conversion failures: 0)
+== 1 TITL (388) Ancestral File (R) (ctxt is 377, conversion failures: 0)
+== 1 PUBL (362) Copyright (c) 1987, June 1998, data as of 5 January 1998 (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 134: Converting invalidly used tag 'REPO' to user tag '_REPO'
+== 1 _REPO (367) Family History Library 35 N West Temple Street (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S32@
+WARNING: Warning on line 136: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) LDS Records (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 137: Converting undefined tag 'VOL' to user tag '_VOL'
+== 1 _VOL (264) A184752 (ctxt is 377, conversion failures: 0)
+Rec SOUR start, xref is @S33@
+WARNING: Warning on line 139: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+== 1 _TYPE (390) IGI (ctxt is 377, conversion failures: 0)
+WARNING: Warning on line 140: Converting invalidly used tag 'REPO' to user tag '_REPO'
+== 1 _REPO (367) IGI Record (ctxt is 377, conversion failures: 0)
+WARNING: Warning: Cross-reference @S14@ defined on line 69 is never used
+WARNING: Warning: Cross-reference @S5@ defined on line 39 is never used
+WARNING: Warning: Cross-reference @S2@ defined on line 29 is never used
+WARNING: Warning: Cross-reference @S1@ defined on line 26 is never used
+WARNING: Warning: Cross-reference @N42@ defined on line 15 is never used
+WARNING: Warning: Cross-reference @S30@ defined on line 130 is never used
+WARNING: Warning: Cross-reference @S33@ defined on line 138 is never used
+WARNING: Warning: Cross-reference @S12@ defined on line 60 is never used
+WARNING: Warning: Cross-reference @N91@ defined on line 23 is never used
+WARNING: Warning: Cross-reference @S20@ defined on line 92 is never used
+WARNING: Warning: Cross-reference @S26@ defined on line 115 is never used
+WARNING: Warning: Cross-reference @S18@ defined on line 85 is never used
+WARNING: Warning: Cross-reference @S9@ defined on line 53 is never used
+WARNING: Warning: Cross-reference @S25@ defined on line 111 is never used
+WARNING: Warning: Cross-reference @S19@ defined on line 90 is never used
+WARNING: Warning: Cross-reference @S27@ defined on line 119 is never used
+WARNING: Warning: Cross-reference @S10@ defined on line 56 is never used
+WARNING: Warning: Cross-reference @S3@ defined on line 32 is never used
+WARNING: Warning: Cross-reference @S17@ defined on line 81 is never used
+WARNING: Warning: Cross-reference @S28@ defined on line 123 is never used
+WARNING: Warning: Cross-reference @S29@ defined on line 126 is never used
+WARNING: Warning: Cross-reference @S11@ defined on line 58 is never used
+WARNING: Warning: Cross-reference @S22@ defined on line 100 is never used
+WARNING: Warning: Cross-reference @S21@ defined on line 96 is never used
+WARNING: Warning: Cross-reference @S24@ defined on line 107 is never used
+WARNING: Warning: Cross-reference @S23@ defined on line 103 is never used
+WARNING: Warning: Cross-reference @S13@ defined on line 65 is never used
+WARNING: Warning: Cross-reference @S4@ defined on line 36 is never used
+WARNING: Warning: Cross-reference @S8@ defined on line 49 is never used
+WARNING: Warning: Cross-reference @S16@ defined on line 77 is never used
+WARNING: Warning: Cross-reference @S32@ defined on line 135 is never used
+WARNING: Warning: Cross-reference @S15@ defined on line 73 is never used
+
+=== Total conversion failures: 0
+Parse succeeded
diff --git a/t/output/write_gom_compat-easytree-2.ged b/t/output/write_gom_compat-easytree-2.ged
new file mode 100644 (file)
index 0000000..3551d20
--- /dev/null
@@ -0,0 +1,137 @@
+0 HEAD
+1 CHAR IBM_WINDOWS
+1 SOUR EasyTree
+2 VERS V8.0
+2 CORP Sierra On-Line
+1 DEST EasyTree
+1 DATE 9 SEP 2001
+2 TIME 02:46:40
+1 SUBM @U1@
+1 FILE d:\Program Files\Sierra\GSK8\genealogy\DAISH.UDS
+1 GEDC
+2 VERS 5.5
+2 FORM LINEAGE_LINKED
+0 @U1@ SUBM
+1 NAME -
+1 CHAN
+2 DATE 9 SEP 2001
+3 TIME 02:46:40
+0 @N42@ NOTE -Census 1881 gives the following information.-Dwelling: 8 Albert Road, Charlton, Kent, Englandborn Newport, Isle of Wight, age 40Occ: Primitive Methodist Minister of Peter St. Chapel-
+1 SOUR @S6@
+0 @N91@ NOTE -2nd name is "Anna" in IGI Christening record-
+0 @S1@ SOUR
+1 _TYPE LDS Records
+1 _FILN 136551
+0 @S2@ SOUR
+1 _TYPE LDS Records
+1 _FILN M062613
+0 @S3@ SOUR
+1 _TYPE Phillimores Record
+1 _FILE Marr_14c.txt
+1 _FILN Hampshire
+0 @S4@ SOUR
+1 _TYPE LDS Records
+1 _FILN C069311
+0 @S5@ SOUR
+1 _TYPE Web Site
+1 _URL http://worldconnect.genealogy.rootsweb.com/cgi-bin/igm.cgi?surname=daish&given=&start=0&skipdb=&bplace=&stype=Exact&bskip=&dskip=&dplace=
+0 @S6@ SOUR
+1 TITL 1881 Census - Charlton, Kent
+1 _TYPE Census
+1 _PLAC Charlton, Kent (now part of Dover)
+1 _DATE 1881
+1 _MEDI FHL Film
+1 _LOCA 1341237 piece 1000 folio 124 page 20
+0 @S8@ SOUR
+1 _TYPE Bishops Transcripts
+1 _PLAC Newport, Isle of Wight
+1 _REGI 1724 to 1812
+0 @S9@ SOUR
+1 _TYPE Probate
+1 _PLAC Winchester
+0 @S10@ SOUR
+1 _TYPE Will
+0 @S11@ SOUR
+1 _TYPE LDS Records
+0 @S12@ SOUR
+1 _TYPE LDS Records
+1 _VOL 7503283
+1 _FILN 0820199
+1 _PAGE 62
+0 @S13@ SOUR
+1 _TYPE LDS Records
+1 _VOL M136791
+1 _FILN 1041226
+0 @S14@ SOUR
+1 TITL Will of William Daish of Whippingham, 1773
+1 _TYPE Will
+1 _URL http://www.daish.net/documents/Will_William_Daish_Whippinhgam_1793.htm
+0 @S15@ SOUR
+1 _TYPE Parish Record
+1 _DATE 19 Feb 1775
+1 _PLAC Godshill, Isle of Wight
+0 @S16@ SOUR
+1 _TYPE LDS Records
+1 _VOL C062616
+1 _FILN 0919743
+0 @S17@ SOUR
+1 _TYPE LDS Records
+1 _VOL J136791
+1 _FILN 1041226
+0 @S18@ SOUR
+1 _TYPE LDS Records
+1 _VOL 7203823
+1 _FILN 0820199
+1 _PAGE 67
+0 @S19@ SOUR
+1 _TYPE LDS Records
+0 @S20@ SOUR
+1 _TYPE LDS Records
+1 _VOL M063062
+1 _FILN 0918892
+0 @S21@ SOUR
+1 _TYPE LDS Records
+1 _VOL M146691
+1 _FILN 1042025
+0 @S22@ SOUR
+1 _TYPE LDS Records
+1 _FILN 6142825
+0 @S23@ SOUR
+1 _TYPE LDS Records
+1 _VOL C063062
+1 _FILN 0918892
+0 @S24@ SOUR
+1 _TYPE LDS Records
+1 _VOL M146691
+1 _FILN 1042025
+0 @S25@ SOUR
+1 _TYPE LDS Records
+1 _VOL K146691
+1 _FILN 1042025
+0 @S26@ SOUR
+1 _TYPE LDS Records
+1 _VOL C063062
+1 _FILN 0918892
+0 @S27@ SOUR
+1 _TYPE LDS Records
+1 _VOL M136791
+1 _FILN 1041226
+0 @S28@ SOUR
+1 _TYPE LDS Records
+1 _FILN 6142825
+0 @S29@ SOUR
+1 _TYPE LDS Records
+1 _VOL J146691
+1 _FILN 1042025
+0 @S30@ SOUR
+1 AUTH The Church of Jesus Christ of Latter-day Saints
+1 TITL Ancestral File (R)
+1 PUBL Copyright (c) 1987, June 1998, data as of 5 January 1998
+1 _REPO Family History Library 35 N West Temple Street
+0 @S32@ SOUR
+1 _TYPE LDS Records
+1 _VOL A184752
+0 @S33@ SOUR
+1 _TYPE IGI
+1 _REPO IGI Record
+0 TRLR
diff --git a/t/output/write_gom_compat-easytree-2.ref b/t/output/write_gom_compat-easytree-2.ref
new file mode 100644 (file)
index 0000000..7bd0ab0
--- /dev/null
@@ -0,0 +1,147 @@
+WARNING: Warning on line 4: Enabling compatibility with 'EasyTree'
+WARNING: Warning on line 27: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 28: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 30: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 31: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 33: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 34: Converting invalidly used tag 'FILE' to user tag '_FILE'
+WARNING: Warning on line 35: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 37: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 38: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 40: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 41: Converting undefined tag 'URL' to user tag '_URL'
+WARNING: Warning on line 43: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 45: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+WARNING: Warning on line 46: Converting invalidly used tag 'DATE' to user tag '_DATE'
+WARNING: Warning on line 47: Converting invalidly used tag 'MEDI' to user tag '_MEDI'
+WARNING: Warning on line 48: Converting undefined tag 'LOCA' to user tag '_LOCA'
+WARNING: Warning on line 50: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 51: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+WARNING: Warning on line 52: Converting undefined tag 'REGI' to user tag '_REGI'
+WARNING: Warning on line 54: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 55: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+WARNING: Warning on line 57: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 59: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 61: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 62: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 63: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 64: Converting invalidly used tag 'PAGE' to user tag '_PAGE'
+WARNING: Warning on line 66: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 67: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 68: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 70: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 72: Converting undefined tag 'URL' to user tag '_URL'
+WARNING: Warning on line 74: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 75: Converting invalidly used tag 'DATE' to user tag '_DATE'
+WARNING: Warning on line 76: Converting invalidly used tag 'PLAC' to user tag '_PLAC'
+WARNING: Warning on line 78: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 79: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 80: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 82: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 83: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 84: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 86: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 87: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 88: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 89: Converting invalidly used tag 'PAGE' to user tag '_PAGE'
+WARNING: Warning on line 91: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 93: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 94: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 95: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 97: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 98: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 99: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 101: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 102: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 104: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 105: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 106: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 108: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 109: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 110: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 112: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 113: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 114: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 116: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 117: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 118: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 120: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 121: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 122: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 124: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 125: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 127: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 128: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 129: Converting undefined tag 'FILN' to user tag '_FILN'
+WARNING: Warning on line 134: Converting invalidly used tag 'REPO' to user tag '_REPO'
+WARNING: Warning on line 136: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 137: Converting undefined tag 'VOL' to user tag '_VOL'
+WARNING: Warning on line 139: Converting invalidly used tag 'TYPE' to user tag '_TYPE'
+WARNING: Warning on line 140: Converting invalidly used tag 'REPO' to user tag '_REPO'
+WARNING: Warning: Cross-reference @S14@ defined on line 69 is never used
+WARNING: Warning: Cross-reference @S5@ defined on line 39 is never used
+WARNING: Warning: Cross-reference @S2@ defined on line 29 is never used
+WARNING: Warning: Cross-reference @S1@ defined on line 26 is never used
+WARNING: Warning: Cross-reference @N42@ defined on line 15 is never used
+WARNING: Warning: Cross-reference @S30@ defined on line 130 is never used
+WARNING: Warning: Cross-reference @S33@ defined on line 138 is never used
+WARNING: Warning: Cross-reference @S12@ defined on line 60 is never used
+WARNING: Warning: Cross-reference @N91@ defined on line 23 is never used
+WARNING: Warning: Cross-reference @S20@ defined on line 92 is never used
+WARNING: Warning: Cross-reference @S26@ defined on line 115 is never used
+WARNING: Warning: Cross-reference @S18@ defined on line 85 is never used
+WARNING: Warning: Cross-reference @S9@ defined on line 53 is never used
+WARNING: Warning: Cross-reference @S25@ defined on line 111 is never used
+WARNING: Warning: Cross-reference @S19@ defined on line 90 is never used
+WARNING: Warning: Cross-reference @S27@ defined on line 119 is never used
+WARNING: Warning: Cross-reference @S10@ defined on line 56 is never used
+WARNING: Warning: Cross-reference @S3@ defined on line 32 is never used
+WARNING: Warning: Cross-reference @S17@ defined on line 81 is never used
+WARNING: Warning: Cross-reference @S28@ defined on line 123 is never used
+WARNING: Warning: Cross-reference @S29@ defined on line 126 is never used
+WARNING: Warning: Cross-reference @S11@ defined on line 58 is never used
+WARNING: Warning: Cross-reference @S22@ defined on line 100 is never used
+WARNING: Warning: Cross-reference @S21@ defined on line 96 is never used
+WARNING: Warning: Cross-reference @S24@ defined on line 107 is never used
+WARNING: Warning: Cross-reference @S23@ defined on line 103 is never used
+WARNING: Warning: Cross-reference @S13@ defined on line 65 is never used
+WARNING: Warning: Cross-reference @S4@ defined on line 36 is never used
+WARNING: Warning: Cross-reference @S8@ defined on line 49 is never used
+WARNING: Warning: Cross-reference @S16@ defined on line 77 is never used
+WARNING: Warning: Cross-reference @S32@ defined on line 135 is never used
+WARNING: Warning: Cross-reference @S15@ defined on line 73 is never used
+Writing file...
+Re-parsing file...
+WARNING: Warning: Cross-reference @S14@ defined on line 65 is never used
+WARNING: Warning: Cross-reference @S5@ defined on line 35 is never used
+WARNING: Warning: Cross-reference @S2@ defined on line 25 is never used
+WARNING: Warning: Cross-reference @S1@ defined on line 22 is never used
+WARNING: Warning: Cross-reference @N42@ defined on line 19 is never used
+WARNING: Warning: Cross-reference @S30@ defined on line 126 is never used
+WARNING: Warning: Cross-reference @S33@ defined on line 134 is never used
+WARNING: Warning: Cross-reference @S12@ defined on line 56 is never used
+WARNING: Warning: Cross-reference @N91@ defined on line 21 is never used
+WARNING: Warning: Cross-reference @S20@ defined on line 88 is never used
+WARNING: Warning: Cross-reference @S26@ defined on line 111 is never used
+WARNING: Warning: Cross-reference @S18@ defined on line 81 is never used
+WARNING: Warning: Cross-reference @S9@ defined on line 49 is never used
+WARNING: Warning: Cross-reference @S25@ defined on line 107 is never used
+WARNING: Warning: Cross-reference @S19@ defined on line 86 is never used
+WARNING: Warning: Cross-reference @S27@ defined on line 115 is never used
+WARNING: Warning: Cross-reference @S10@ defined on line 52 is never used
+WARNING: Warning: Cross-reference @S3@ defined on line 28 is never used
+WARNING: Warning: Cross-reference @S17@ defined on line 77 is never used
+WARNING: Warning: Cross-reference @S28@ defined on line 119 is never used
+WARNING: Warning: Cross-reference @S29@ defined on line 122 is never used
+WARNING: Warning: Cross-reference @S11@ defined on line 54 is never used
+WARNING: Warning: Cross-reference @S22@ defined on line 96 is never used
+WARNING: Warning: Cross-reference @S21@ defined on line 92 is never used
+WARNING: Warning: Cross-reference @S24@ defined on line 103 is never used
+WARNING: Warning: Cross-reference @S23@ defined on line 99 is never used
+WARNING: Warning: Cross-reference @S13@ defined on line 61 is never used
+WARNING: Warning: Cross-reference @S4@ defined on line 32 is never used
+WARNING: Warning: Cross-reference @S8@ defined on line 45 is never used
+WARNING: Warning: Cross-reference @S16@ defined on line 73 is never used
+WARNING: Warning: Cross-reference @S32@ defined on line 131 is never used
+WARNING: Warning: Cross-reference @S15@ defined on line 69 is never used
+Test succeeded
diff --git a/t/write_gom_compat-easytree-2.test b/t/write_gom_compat-easytree-2.test
new file mode 100755 (executable)
index 0000000..9afcba5
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+$srcdir/src/test_writegom $0 0 LF ANSEL 0 compat-easytree-2.ged