<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -97,8 +97,8 @@ module GEDCOM
         next if level.nil? or tag.nil?
         level = level.to_i
 
-        if tag == 'CONT' and @auto_concat
-          concat_data rest
+        if (tag == 'CONT' || tag == 'CONC') and @auto_concat
+          concat_data tag, rest
           next
         end
 
@@ -124,14 +124,19 @@ module GEDCOM
       end
     end
 
-    def concat_data rest
+    def concat_data tag, rest
       if @dataStack[-1].nil? 
         @dataStack[-1] = rest
       else
         if @ctxStack[-1] == 'BLOB'
           @dataStack[-1] &lt;&lt; rest
         else
-          @dataStack[-1] &lt;&lt; &quot;\n&quot; + rest
+          if tag == 'CONT'
+            @dataStack[-1] &lt;&lt; &quot;\n&quot; + rest
+          elsif tag == 'CONC'
+            old = @dataStack[-1].chomp
+            @dataStack[-1] = old + rest
+          end
         end
       end
     end</diff>
      <filename>lib/gedcom.rb</filename>
    </modified>
    <modified>
      <diff>@@ -67,18 +67,27 @@ describe Parser do
   end
 
   it &quot;should parse TGC551.ged (\\r)&quot; do
+    # Should handle CONC and CONT differently
+    @parser.after([&quot;HEAD&quot;, &quot;NOTE&quot;]) do |data|
+      expected_text = &lt;&lt;-EOS
+This file demonstrates all tags that are allowed in GEDCOM 5.5. Here are some comments about the HEADER record and comments about where to look for information on the other 9 types of GEDCOM records. Most other records will have their own notes that describe what to look for in that record and what to hope the importing software will find.
+
+Many applications will fail to import these notes. The notes are therefore also provided with the files as a plain-text &quot;Read-Me&quot; file.
+EOS
+      data.should =~ /^#{expected_text}/
+    end
     @parser.parse &quot;#{GEDCOMS}/TGC551.ged&quot;
-    @tag_count[:all].should == 1653
+    @tag_count[:all].should == 1396
   end
 
   it &quot;should parse TGC551LF.ged (\\r\\n)&quot; do
     @parser.parse &quot;#{GEDCOMS}/TGC551LF.ged&quot;
-    @tag_count[:all].should == 1653
+    @tag_count[:all].should == 1396
   end
 
   it &quot;should parse TGC55C.ged (\\r)&quot; do
     @parser.parse &quot;#{GEDCOMS}/TGC55C.ged&quot;
-    @tag_count[:all].should == 1684
+    @tag_count[:all].should == 1420
   end
 
   it &quot;should parse TGC55CLF.ged (\\r\\n) with auto-concat&quot; do
@@ -86,7 +95,7 @@ describe Parser do
     @parser.after %w(OBJE BLOB) do |data|
       data.size.should == 458
     end
-    @tag_count[:all].should == 1684
+    @tag_count[:all].should == 1420
   end
 
   it &quot;should parse TGC55CLF.ged (\\r\\n) without auto-concat&quot; do</diff>
      <filename>tests/parser_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>af8ee42eb462a674540d8e0c3081bd578942532b</id>
    </parent>
  </parents>
  <author>
    <name>Tim Shadel</name>
    <email>github@timshadel.com</email>
  </author>
  <url>http://github.com/timshadel/gedcom-ruby/commit/9bcdd5c8c4254c6dc44f3785aab85dae3e41e4ee</url>
  <id>9bcdd5c8c4254c6dc44f3785aab85dae3e41e4ee</id>
  <committed-date>2009-01-18T17:44:31-08:00</committed-date>
  <authored-date>2009-01-18T17:36:44-08:00</authored-date>
  <message>Handle CONC properly by not including newlines.

From the GEDCOM 5.5 Spec
(http://homepages.rootsweb.ancestry.com/~pmcbride/gedcom/55gcappa.htm)

CONC {CONCATENATION}: = An indicator that additional data belongs to the
superior value. The information from the CONC value is to be connected to
the value of the superior preceding line without a space and without a
carriage return and/or new line character. Values that are split for a
CONC tag must always be split at a non-space. If the value is split on a
space the space will be lost when concatenation takes place. This is
because of the treatment that spaces get as a GEDCOM delimiter, many
GEDCOM values are trimmed of trailing spaces and some systems look for
the first non-space starting after the tag to determine the beginning of
the value.

CONT {CONTINUED}: = An indicator that additional data belongs to the
superior value. The information from the CONT value is to be connected to
the value of the superior preceding line with a carriage return and/or
new line character. Leading spaces could be important to the formatting
of the resultant text. When importing values from CONT lines the reader
should assume only one delimiter character following the CONT tag. Assume
that the rest of the leading spaces are to be a part of the value.

Signed-off-by: Tim Shadel &lt;github@timshadel.com&gt;</message>
  <tree>0151063e6bdef94a5fb0e2135aff6470bc3d6e06</tree>
  <committer>
    <name>Tim Shadel</name>
    <email>github@timshadel.com</email>
  </committer>
</commit>
