texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo/makeinfo xml.c,1.32,1.33


From: dirt
Subject: texinfo/makeinfo xml.c,1.32,1.33
Date: Tue, 24 Feb 2004 03:35:19 +0100

Update of /cvsroot/texinfo/texinfo/makeinfo
In directory sheep:/tmp/cvs-serv28075/makeinfo

Modified Files:
        xml.c 
Log Message:
2004-02-24  Alper Ersoy  <address@hidden>

        * makeinfo/xml.c (xml_insert_element_with_attribute, xml_add_char)
        (xml_begin_table, xml_end_table, xml_begin_table_item)
        (xml_continue_table_item): separated ITEM and TABLEITEM states to
        handle @table environments better.



Index: xml.c
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/xml.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** xml.c       18 Feb 2004 13:58:14 -0000      1.32
--- xml.c       24 Feb 2004 02:35:16 -0000      1.33
***************
*** 531,534 ****
--- 531,535 ----
  static int first_section_opened = 0;
  
+ static int xml_in_tableitem[256];
  static int xml_in_item[256];
  static int xml_table_level = 0;
***************
*** 810,817 ****
    if (!xml_dont_touch_items_defs && arg == START)
      {
!       if (xml_after_table_term && elt != TABLETERM)
          {
            xml_after_table_term = 0;
            xml_insert_element (ITEM, START);
          }
        else if (xml_after_def_term && elt != DEFINITIONTERM)
--- 811,820 ----
    if (!xml_dont_touch_items_defs && arg == START)
      {
!       if (xml_after_table_term && elt != TABLETERM && xml_table_level
!           && !xml_in_item[xml_table_level])
          {
            xml_after_table_term = 0;
            xml_insert_element (ITEM, START);
+           xml_in_item[xml_table_level] = 1;
          }
        else if (xml_after_def_term && elt != DEFINITIONTERM)
***************
*** 854,858 ****
      xml_end_para ();
  
!   if (docbook && xml_table_level && !xml_in_item[xml_table_level] && 
!in_table_title
        && arg == START && elt != TABLEITEM && elt != TABLETERM
        && !in_indexterm && xml_current_element() == TABLE)
--- 857,862 ----
      xml_end_para ();
  
!   if (docbook && xml_table_level && !in_table_title
!       && !xml_in_tableitem[xml_table_level] && !xml_in_item[xml_table_level]
        && arg == START && elt != TABLEITEM && elt != TABLETERM
        && !in_indexterm && xml_current_element() == TABLE)
***************
*** 1138,1142 ****
      return;
  
!   if (docbook && xml_table_level && !xml_in_item[xml_table_level] && 
!in_table_title
        && !cr_or_whitespace (character) && !in_indexterm)
      {
--- 1142,1147 ----
      return;
  
!   if (docbook && xml_table_level && !in_table_title
!       && !xml_in_item[xml_table_level] && !xml_in_tableitem[xml_table_level]
        && !cr_or_whitespace (character) && !in_indexterm)
      {
***************
*** 1160,1167 ****
    if (!xml_sort_index && !xml_in_xref_token && !xml_dont_touch_items_defs)
      {
!       if (xml_after_table_term)
          {
            xml_after_table_term = 0;
            xml_insert_element (ITEM, START);
          }
        else if (xml_after_def_term)
--- 1165,1174 ----
    if (!xml_sort_index && !xml_in_xref_token && !xml_dont_touch_items_defs)
      {
!       if (xml_after_table_term && xml_table_level
!           && !xml_in_item[xml_table_level])
          {
            xml_after_table_term = 0;
            xml_insert_element (ITEM, START);
+           xml_in_item[xml_table_level] = 1;
          }
        else if (xml_after_def_term)
***************
*** 1355,1359 ****
--- 1362,1368 ----
            xml_insert_element (TABLE, START);
            xml_table_level ++;
+           xml_in_tableitem[xml_table_level] = 0;
            xml_in_item[xml_table_level] = 0;
+           xml_after_table_term = 0;
          }
        break;
***************
*** 1394,1408 ****
      case vtable:
      case table:
!       /*      if (docbook)*/ /* 05-08 */
          {
!           if (xml_in_item[xml_table_level])
!             {
!               xml_insert_element (ITEM, END);
!               xml_insert_element (TABLEITEM, END);
!               xml_in_item[xml_table_level] = 0;
!             }
!           xml_insert_element (TABLE, END);
!           xml_table_level --;
          }
        break;
      case itemize:
--- 1403,1420 ----
      case vtable:
      case table:
!       if (xml_in_item[xml_table_level])
          {
!           xml_insert_element (ITEM, END);
!           xml_in_item[xml_table_level] = 0;
          }
+       if (xml_in_tableitem[xml_table_level])
+         {
+           xml_insert_element (TABLEITEM, END);
+           xml_in_tableitem[xml_table_level] = 0;
+         }
+       xml_insert_element (TABLE, END);
+       xml_after_table_term = 0;
+       xml_table_level --;
+ 
        break;
      case itemize:
***************
*** 1440,1447 ****
      {
        if (xml_in_item[xml_table_level])
!         {
!           xml_insert_element (ITEM, END);
!           xml_insert_element (TABLEITEM, END);
!         }
        if (in_table_title)
        {
--- 1452,1459 ----
      {
        if (xml_in_item[xml_table_level])
!         xml_insert_element (ITEM, END);
!       if (xml_in_tableitem[xml_table_level])
!         xml_insert_element (TABLEITEM, END);
! 
        if (in_table_title)
        {
***************
*** 1452,1456 ****
      }
    xml_insert_element (TABLETERM, START);
!   xml_in_item[xml_table_level] = 1;
    xml_after_table_term = 0;
  }
--- 1464,1469 ----
      }
    xml_insert_element (TABLETERM, START);
!   xml_in_tableitem[xml_table_level] = 1;
!   xml_in_item[xml_table_level] = 0;
    xml_after_table_term = 0;
  }
***************
*** 1461,1464 ****
--- 1474,1478 ----
    xml_insert_element (TABLETERM, END);
    xml_after_table_term = 1;
+   xml_in_item[xml_table_level] = 0;
  }
  



reply via email to

[Prev in Thread] Current Thread [Next in Thread]