[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[6854] parsetexi update
From: |
Gavin D. Smith |
Subject: |
[6854] parsetexi update |
Date: |
Sun, 13 Dec 2015 12:02:06 +0000 |
Revision: 6854
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6854
Author: gavin
Date: 2015-12-13 12:02:00 +0000 (Sun, 13 Dec 2015)
Log Message:
-----------
parsetexi update
Modified Paths:
--------------
trunk/parsetexi/api.c
trunk/parsetexi/command_data.txt
trunk/parsetexi/convert.c
trunk/parsetexi/handle_commands.c
trunk/parsetexi/indices.c
trunk/parsetexi/parser.c
Modified: trunk/parsetexi/api.c
===================================================================
--- trunk/parsetexi/api.c 2015-12-12 19:33:50 UTC (rev 6853)
+++ trunk/parsetexi/api.c 2015-12-13 12:02:00 UTC (rev 6854)
@@ -235,6 +235,7 @@
|| (command_data(e->cmd).flags & CF_accent)
|| (command_data(e->cmd).flags & CF_brace
&& (command_data(e->cmd).data > 0 // 4838
+ || command_data(e->cmd).data == BRACE_style
|| command_data(e->cmd).data == BRACE_context))
|| e->cmd == CM_node) // FIXME special case
{
Modified: trunk/parsetexi/command_data.txt
===================================================================
--- trunk/parsetexi/command_data.txt 2015-12-12 19:33:50 UTC (rev 6853)
+++ trunk/parsetexi/command_data.txt 2015-12-13 12:02:00 UTC (rev 6854)
@@ -241,8 +241,7 @@
guilsinglright brace 0
# accent commands - can be called with or without braces
-# do we need both "brace" and "accent"?
-# there is special casing on line 3998
+# TODO do we need "brace" here as well?
\" brace,accent BRACE_accent
~ brace,accent BRACE_accent
^ brace,accent BRACE_accent
Modified: trunk/parsetexi/convert.c
===================================================================
--- trunk/parsetexi/convert.c 2015-12-12 19:33:50 UTC (rev 6853)
+++ trunk/parsetexi/convert.c 2015-12-13 12:02:00 UTC (rev 6854)
@@ -79,12 +79,12 @@
switch (root->cmd) // 353 Common.pm
{
case CM_ASTERISK:
- ADD("\n");
+ ADD("-");
break;
case CM_SPACE:
case CM_TAB:
case CM_NEWLINE:
- ADD(" ");
+ ADD("-");
break;
case CM_HYPHEN:
case CM_VERTICAL_BAR:
@@ -98,7 +98,7 @@
case CM_CLOSE_BRACE:
case CM_OPEN_BRACE:
case CM_BACKSLASH:
- ADD(command_name(root->cmd));
+ text_printf (result, "_00%02x", *command_name(root->cmd));
break;
default:
/* Shouldn't get here. */
@@ -128,15 +128,15 @@
case CM_bullet:
ADD("_2022"); break;
case CM_copyright:
- ADD("_00A9"); break;
+ ADD("_00a9"); break;
case CM_registeredsymbol:
- ADD("_00AE"); break;
+ ADD("_00ae"); break;
case CM_dots:
ADD("_2026"); break;
case CM_equiv:
ADD("_2261"); break;
case CM_expansion:
- ADD("_21A6"); break;
+ ADD("_21a6"); break;
case CM_arrow:
ADD("_2192"); break;
case CM_minus:
@@ -144,93 +144,93 @@
case CM_point:
ADD("_2605"); break;
case CM_print:
- ADD("_22A3"); break;
+ ADD("_22a3"); break;
case CM_result:
- ADD("_21D2"); break;
+ ADD("_21d2"); break;
case CM_aa:
- ADD("_00E5"); break;
+ ADD("_00e5"); break;
case CM_AA:
- ADD("_00C5"); break;
+ ADD("_00c5"); break;
case CM_ae:
- ADD("_00E6"); break;
+ ADD("_00e6"); break;
case CM_oe:
ADD("_0153"); break;
case CM_AE:
- ADD("_00C6"); break;
+ ADD("_00c6"); break;
case CM_OE:
ADD("_0152"); break;
case CM_o:
- ADD("_00F8"); break;
+ ADD("_00f8"); break;
case CM_O:
- ADD("_00D8"); break;
+ ADD("_00d8"); break;
case CM_ss:
- ADD("_00DF"); break;
+ ADD("_00df"); break;
case CM_DH:
- ADD("_00D0"); break;
+ ADD("_00d0"); break;
case CM_dh:
- ADD("_00F0"); break;
+ ADD("_00f0"); break;
case CM_TH:
- ADD("_00DE"); break;
+ ADD("_00de"); break;
case CM_th:
- ADD("_00FE"); break;
+ ADD("_00fe"); break;
case CM_l:
ADD("_0142"); break;
case CM_L:
ADD("_0141"); break;
case CM_exclamdown:
- ADD("_00A1"); break;
+ ADD("_00a1"); break;
case CM_questiondown:
- ADD("_00BF"); break;
+ ADD("_00bf"); break;
case CM_pounds:
- ADD("_00A3"); break;
+ ADD("_00a3"); break;
case CM_ordf:
- ADD("_00AA"); break;
+ ADD("_00aa"); break;
case CM_ordm:
- ADD("_00BA"); break;
+ ADD("_00ba"); break;
case CM_comma:
- ADD("_002C"); break;
+ ADD("_002c"); break;
case CM_atchar:
ADD("_0040"); break;
case CM_lbracechar:
- ADD("_007B"); break;
+ ADD("_007b"); break;
case CM_rbracechar:
- ADD("_007D"); break;
+ ADD("_007d"); break;
case CM_backslashchar:
- ADD("_005C"); break;
+ ADD("_005c"); break;
case CM_hashchar:
ADD("_0023"); break;
case CM_euro:
- ADD("_20AC"); break;
+ ADD("_20ac"); break;
case CM_geq:
ADD("_2265"); break;
case CM_leq:
ADD("_2264"); break;
case CM_textdegree:
- ADD("_00B0"); break;
+ ADD("_00b0"); break;
case CM_quotedblleft:
- ADD("_201C"); break;
+ ADD("_201c"); break;
case CM_quotedblright:
- ADD("_201D"); break;
+ ADD("_201d"); break;
case CM_quoteleft:
ADD("_2018"); break;
case CM_quoteright:
ADD("_2019"); break;
case CM_quotedblbase:
- ADD("_201E"); break;
+ ADD("_201e"); break;
case CM_quotesinglbase:
- ADD("_201A"); break;
+ ADD("_201a"); break;
case CM_guillemetleft:
- ADD("_00AB"); break;
+ ADD("_00ab"); break;
case CM_guillemetright:
- ADD("_00BB"); break;
+ ADD("_00bb"); break;
case CM_guillemotleft:
- ADD("_00AB"); break;
+ ADD("_00ab"); break;
case CM_guillemotright:
- ADD("_00BB"); break;
+ ADD("_00bb"); break;
case CM_guilsinglleft:
ADD("_2039"); break;
case CM_guilsinglright:
- ADD("_203A"); break;
+ ADD("_203a"); break;
case CM_click:
ADD("_2192"); break;
default:
Modified: trunk/parsetexi/handle_commands.c
===================================================================
--- trunk/parsetexi/handle_commands.c 2015-12-12 19:33:50 UTC (rev 6853)
+++ trunk/parsetexi/handle_commands.c 2015-12-13 12:02:00 UTC (rev 6854)
@@ -685,6 +685,7 @@
// 4841
// 258 keep_line_nr_brace_commands
if (e->cmd == CM_titlefont || e->cmd == CM_anchor
+ || (command_data(e->cmd).flags & CF_accent)
|| (command_data(e->cmd).flags & CF_brace
&& (command_data(e->cmd).data > 1
|| command_data(e->cmd).data == BRACE_context)))
Modified: trunk/parsetexi/indices.c
===================================================================
--- trunk/parsetexi/indices.c 2015-12-12 19:33:50 UTC (rev 6853)
+++ trunk/parsetexi/indices.c 2015-12-13 12:02:00 UTC (rev 6854)
@@ -273,6 +273,8 @@
add_extra_key_index_entry (current, "index_entry", ier);
+ if (!current_section)
+ line_warn ("entry for index `%s' outside of any node", idx->name);
}
Modified: trunk/parsetexi/parser.c
===================================================================
--- trunk/parsetexi/parser.c 2015-12-12 19:33:50 UTC (rev 6853)
+++ trunk/parsetexi/parser.c 2015-12-13 12:02:00 UTC (rev 6854)
@@ -902,7 +902,7 @@
k = lookup_extra_key (current, "spaces");
if (!k)
{
- asprintf (&s, "%.*s", (int) (p - line), p);
+ asprintf (&s, "%.*s", (int) (p - line), line);
add_extra_string (current, "spaces", s);
}
else
@@ -915,45 +915,65 @@
}
line = p;
}
- else if (*line == '@')
+ else
{
- line_error ("use braces to give a command as an argument "
- "to @%s", command_name(current->cmd));
+ line_warn ("accent command @%s must not be followed "
+ "by whitespace", command_name(current->cmd));
current = current->parent;
}
- else if (*line != '\0' && *line != '\n' && *line != '\r')
+ }
+ else if (*line == '@')
+ {
+ line_error ("use braces to give a command as an argument "
+ "to @%s", command_name(current->cmd));
+ current = current->parent;
+ }
+ else if (*line != '\0' && *line != '\n' && *line != '\r')
+ {
+ ELEMENT *e, *e2;
+ debug ("ACCENT");
+ e = new_element (ET_following_arg);
+ add_to_element_args (current, e);
+ e2 = new_element (ET_NONE);
+ text_append_n (&e2->text, line, 1);
+ add_to_element_contents (e, e2);
+
+ if (current->cmd == CM_dotless
+ && *line != 'i' && *line != 'j')
{
- ELEMENT *e;
- debug ("ACCENT");
- e = new_element (ET_following_arg);
- add_to_element_args (current, e);
- text_append_n (&e->text, line, 1);
- if (current->cmd == CM_dotless
- && *line != 'i' && *line != 'j')
- {
- line_error ("@%s expects `i' or `j' as argument, "
- "not `%c'", *line++);
- }
- if (isalpha (command_name(current->cmd)[0]))
- e->type = ET_space_command_arg;
- while (current->contents.number > 0)
- destroy_element (pop_element_from_contents (current));
- current = current->parent;
+ line_error ("@dotless expects `i' or `j' as argument, "
+ "not `%c'", *line);
}
- else // 4032
- {
- debug ("STRANGE ACC");
- line_warn ("accent command address@hidden' must not be
followed by "
- "a new line", command_name(current->cmd));
- }
+ if (isalpha (command_name(current->cmd)[0]))
+ e->type = ET_space_command_arg;
+ while (current->contents.number > 0)
+ destroy_element (pop_element_from_contents (current));
+ line++;
+ current = current->parent;
}
- current = current->parent;
+ else // 4032
+ {
+ debug ("STRANGE ACC");
+ line_warn ("accent command address@hidden' must not be followed
by "
+ "a new line", command_name(current->cmd));
+ current = current->parent;
+ }
goto funexit;
}
else // 4041
{
/* TODO: Check 'IGNORE_SPACES_AFTER_BRACED_COMMAND_NAME' config
variable. */
+ if (1)
+ {
+ char *p;
+ p = line + strspn (line, whitespace_chars);
+ if (p != line)
+ {
+ line = p;
+ goto funexit;
+ }
+ }
line_error ("@%s expected braces",
command_name(current->cmd));
current = current->parent;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [6854] parsetexi update,
Gavin D. Smith <=