The shipped version translates all of  @b, @i, @s, and @r to
<lineannotation>, when generating docbook.  This makes @b, @i, and @s
effectively be no-ops, which is wrong.

I think the right solution is to only emit lineannotation for @r,
and use the "default" result for the others.

        * makeinfo/cmds.c (cm_i, cm_b, cm_s): Do not use docbook's
        lineannotation - only use it in cm_r.
--
        --Per Bothner
[email protected]   http://per.bothner.com/
	* makeinfo/cmds.c (cm_i, cm_b, cm_s): Do not use docbook's
	lineannotation - only use it in cm_r.

--- makeinfo/cmds.c~	2008-05-22 05:11:34.000000000 -0700
+++ makeinfo/cmds.c	2010-04-22 10:14:36.000000000 -0700
@@ -1341,11 +1341,7 @@
 void
 cm_i (int arg)
 {
-  /* Make use of <lineannotation> of Docbook, if we are
-     inside an @example or similar.  */
-  if (docbook && !filling_enabled && !printing_index)
-    xml_insert_element (LINEANNOTATION, arg);
-  else if (xml)
+  if (xml)
     xml_insert_element (I, arg);
   else if (html)
     insert_html_tag (arg, "i");
@@ -1356,11 +1352,7 @@
 void
 cm_slanted (int arg)
 {
-  /* Make use of <lineannotation> of Docbook, if we are
-     inside an @example or similar.  */
-  if (docbook && !filling_enabled && !printing_index)
-    xml_insert_element (LINEANNOTATION, arg);
-  else if (xml)
+  if (xml)
     xml_insert_element (SLANTED, arg);
   else if (html)
     insert_html_tag (arg, "i");
@@ -1371,10 +1363,7 @@
 void
 cm_b (int arg)
 {
-  /* See cm_i comments.  */
-  if (docbook && !filling_enabled && !printing_index)
-    xml_insert_element (LINEANNOTATION, arg);
-  else if (docbook && arg == START)
+  if (docbook && arg == START)
     xml_insert_element_with_attribute (B, arg, "role=\"bold\"");
   else if (xml)
     xml_insert_element (B, arg);
@@ -1387,7 +1376,8 @@
 void
 cm_r (int arg)
 {
-  /* See cm_i comments.  */
+  /* Make use of <lineannotation> of Docbook, if we are
+     inside an @example or similar.  */
   if (docbook && !filling_enabled && !printing_index)
     xml_insert_element (LINEANNOTATION, arg);
   else if (xml)

Reply via email to