+2005-10-03 Bruno Haible <bruno@clisp.org>
+
+ Use savable_comment_* API instead of xgettext_comment_* API.
+ * x-awk.c (phase2_getc): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (x_awk_lex): Call savable_comment_reset instead of
+ xgettext_comment_reset.
+ (extract_parenthesized): Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-elisp.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (read_object): Call savable_comment_reset instead of
+ xgettext_comment_reset. Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-glade.c (start_element_handler, end_element_handler): Call
+ savable_comment_to_xgettext_comment and savable_comment_reset around
+ remember_a_message. Call savable_comment_reset instead of
+ xgettext_comment_reset.
+ (comment_handler): Call savable_comment_add instead of
+ xgettext_comment_add.
+ * x-librep.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (read_object): Call savable_comment_reset instead of
+ xgettext_comment_reset. Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-lisp.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (read_object): Call savable_comment_reset instead of
+ xgettext_comment_reset. Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-perl.c (phase2_getc): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (extract_variable, interpolate_keywords): Call
+ savable_comment_to_xgettext_comment and savable_comment_reset around
+ remember_a_message.
+ (x_perl_prelex): Call savable_comment_reset instead of
+ xgettext_comment_reset.
+ (extract_balanced): Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-php.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (x_php_lex): Call savable_comment_reset instead of
+ xgettext_comment_reset.
+ (extract_parenthesized): Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-scheme.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (read_object): Call savable_comment_reset instead of
+ xgettext_comment_reset. Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-sh.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (read_word): Call savable_comment_reset instead of
+ xgettext_comment_reset. Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ (read_command): Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-smalltalk.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (phase2_get): Call savable_comment_reset instead of
+ xgettext_comment_reset.
+ (extract_smalltalk): Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-tcl.c (comment_line_end): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (read_word): Call savable_comment_reset instead of
+ xgettext_comment_reset.
+ (read_command): Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+ * x-ycp.c (phase2_getc): Call savable_comment_add instead of
+ xgettext_comment_add.
+ (x_ycp_lex): Call savable_comment_reset instead of
+ xgettext_comment_reset.
+ (extract_parenthesized): Call savable_comment_to_xgettext_comment and
+ savable_comment_reset around remember_a_message.
+
2005-10-03 Bruno Haible <bruno@clisp.org>
* message.c (message_list_hash_insert_entry): Update.
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
last_comment_line = lineno;
}
return c;
case '\n':
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
/* Newline is not allowed inside expressions. It usually
introduces a fresh statement.
FIXME: Newlines after any of ',' '{' '?' ':' '||' '&&' 'do' 'else'
pos.line_number = token.line_number;
if (extract_all)
- remember_a_message (mlp, token.string, inner_context, &pos);
+ {
+ savable_comment_to_xgettext_comment (savable_comment);
+ remember_a_message (mlp, token.string, inner_context, &pos);
+ savable_comment_reset ();
+ }
else
{
if (commas_to_skip == 0)
if (plural_mp == NULL)
{
/* Seen an msgid. */
- message_ty *mp =
+ message_ty *mp;
+
+ savable_comment_to_xgettext_comment (savable_comment);
+ mp =
remember_a_message (mlp, token.string,
inner_context, &pos);
+ savable_comment_reset ();
if (plural_commas > 0)
plural_mp = mp;
}
else
{
/* Seen an msgid_plural. */
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, token.string,
inner_context, &pos);
+ savable_comment_reset ();
plural_mp = NULL;
}
}
pos.file_name = logical_file_name;
pos.line_number = token.line_number;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, token.string, inner_context, &pos);
+ savable_comment_reset ();
}
next_is_argument = false;
next_context_iter = null_context_list_iterator;
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
precede it, with no non-whitespace token on a line between
both. */
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
continue;
case '(':
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
mp = remember_a_message (mlp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
if (argnum2 > 0)
plural_mp = mp;
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
}
pos.file_name = logical_file_name;
pos.line_number = op->line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string_of_object (op),
null_context, &pos);
+ savable_comment_reset ();
}
last_non_comment_line = line_number;
return;
pos.file_name = logical_file_name;
pos.line_number = XML_GetCurrentLineNumber (parser);
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, xstrdup (attp[1]),
null_context, &pos);
+ savable_comment_reset ();
}
break;
}
p->bufmax = 0;
p->buflen = 0;
if (!p->extract_string)
- xgettext_comment_reset ();
+ savable_comment_reset ();
}
/* Callback called when </element> is seen. */
pos.file_name = logical_file_name;
pos.line_number = p->lineno;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, p->buffer, null_context, &pos);
+ savable_comment_reset ();
p->buffer = NULL;
}
}
/* Decrease stack depth. */
stack_depth--;
- xgettext_comment_reset ();
+ savable_comment_reset ();
}
/* Callback called when some text is seen. */
while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
q--;
*q = '\0';
- xgettext_comment_add (p);
+ savable_comment_add (p);
}
q = p + strlen (p);
while (p[0] == ' ' || p[0] == '\t')
while (q > p && (q[-1] == ' ' || q[-1] == '\t'))
q--;
*q = '\0';
- xgettext_comment_add (p);
+ savable_comment_add (p);
free (copy);
}
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
precede it, with no non-whitespace token on a line between
both. */
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
continue;
case ' ': case '\t': case '\f': case '\r':
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
mp = remember_a_message (mlp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
if (argnum2 > 0)
plural_mp = mp;
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
}
pos.file_name = logical_file_name;
pos.line_number = op->line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string_of_object (op),
null_context, &pos);
+ savable_comment_reset ();
}
last_non_comment_line = line_number;
return;
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
precede it, with no non-whitespace token on a line between
both. */
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
continue;
case syntax_illegal:
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
mp = remember_a_message (mlp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
if (argnum2 > 0)
plural_mp = mp;
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
}
pos.file_name = logical_file_name;
pos.line_number = op->line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string_of_object (op),
null_context, &pos);
+ savable_comment_reset ();
}
last_non_comment_line = line_number;
return;
utf8_string =
from_current_source_encoding (buffer, logical_file_name, lineno);
/* Save it until we encounter the corresponding string. */
- xgettext_current_source_encoding = po_charset_utf8;
- xgettext_comment_add (utf8_string);
- xgettext_current_source_encoding = xgettext_global_source_encoding;
+ savable_comment_add (utf8_string);
last_comment_line = lineno;
}
return c;
pos.file_name = logical_file_name;
xgettext_current_source_encoding = po_charset_utf8;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, xstrdup (t1->string), context, &pos);
+ savable_comment_reset ();
xgettext_current_source_encoding = xgettext_global_source_encoding;
free_token (t2);
free_token (t1);
token.string = xstrdup (buffer);
extract_quotelike_pass3 (&token, EXIT_FAILURE);
xgettext_current_source_encoding = po_charset_utf8;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, token.string, context, &pos);
+ savable_comment_reset ();
xgettext_current_source_encoding = xgettext_global_source_encoding;
/* FALLTHROUGH */
default:
case '\n':
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
/* FALLTHROUGH */
case '\t':
case ' ':
pos.line_number = tp->line_number;
string = collect_message (mlp, tp, EXIT_SUCCESS);
xgettext_current_source_encoding = po_charset_utf8;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string, inner_context, &pos);
+ savable_comment_reset ();
xgettext_current_source_encoding = xgettext_global_source_encoding;
}
else if (state)
{
string = collect_message (mlp, tp, EXIT_FAILURE);
xgettext_current_source_encoding = po_charset_utf8;
+ savable_comment_to_xgettext_comment (savable_comment);
plural_mp = remember_a_message (mlp, string, inner_context, &pos);
+ savable_comment_reset ();
xgettext_current_source_encoding = xgettext_global_source_encoding;
arg_sg = -1;
}
string = collect_message (mlp, tp, EXIT_FAILURE);
xgettext_current_source_encoding = po_charset_utf8;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, string, inner_context, &pos);
+ savable_comment_reset ();
xgettext_current_source_encoding = xgettext_global_source_encoding;
arg_pl = -1;
}
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
case '\n':
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
/* FALLTHROUGH */
case ' ':
case '\t':
pos.line_number = token.line_number;
if (extract_all)
- remember_a_message (mlp, token.string, inner_context, &pos);
+ {
+ savable_comment_to_xgettext_comment (savable_comment);
+ remember_a_message (mlp, token.string, inner_context, &pos);
+ savable_comment_reset ();
+ }
else
{
if (commas_to_skip == 0)
if (plural_mp == NULL)
{
/* Seen an msgid. */
- message_ty *mp =
+ message_ty *mp;
+
+ savable_comment_to_xgettext_comment (savable_comment);
+ mp =
remember_a_message (mlp, token.string,
inner_context, &pos);
+ savable_comment_reset ();
if (plural_commas > 0)
plural_mp = mp;
}
else
{
/* Seen an msgid_plural. */
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, token.string,
inner_context, &pos);
+ savable_comment_reset ();
plural_mp = NULL;
}
}
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
precede it, with no non-whitespace token on a line between
both. */
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
continue;
case ';':
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
mp = remember_a_message (mlp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
if (argnum2 > 0)
plural_mp = mp;
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, string_of_object (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
}
pos.file_name = logical_file_name;
pos.line_number = op->line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string_of_object (op),
null_context, &pos);
+ savable_comment_reset ();
}
last_non_comment_line = line_number;
return;
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
precede it, with no non-whitespace token on a line between
both. */
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
wp->type = t_separator;
return;
}
grow_token (&string);
string.chars[string.charcount++] = (unsigned char) c;
}
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string_of_token (&string),
context, &pos);
+ savable_comment_reset ();
free_token (&string);
error_with_progname = false;
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string_of_word (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
mp = remember_a_message (mlp, string_of_word (&inner),
inner_context, &pos);
+ savable_comment_reset ();
if (argnum2 > 0)
plural_mp = mp;
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, string_of_word (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
/* xgettext Smalltalk backend.
- Copyright (C) 2002-2003 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2005 Free Software Foundation, Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2002.
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
case '\n':
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
/* FALLTHROUGH */
case ' ':
case '\t':
lex_pos_ty pos;
pos.file_name = logical_file_name;
pos.line_number = token.line_number;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, token.string, null_context, &pos);
+ savable_comment_reset ();
state = 0;
break;
}
lex_pos_ty pos;
pos.file_name = logical_file_name;
pos.line_number = token.line_number;
+ savable_comment_to_xgettext_comment (savable_comment);
plural_mp = remember_a_message (mlp, token.string,
null_context, &pos);
+ savable_comment_reset ();
state = 4;
break;
}
lex_pos_ty pos;
pos.file_name = logical_file_name;
pos.line_number = token.line_number;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, token.string,
null_context, &pos);
+ savable_comment_reset ();
state = 0;
break;
}
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
}
/* Comments assumed to be grouped with a message must immediately
precede it, with no non-whitespace token on a line between both. */
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
wp->type = t_separator;
return;
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message (mlp, string_of_word (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
mp = remember_a_message (mlp, string_of_word (&inner),
inner_context, &pos);
+ savable_comment_reset ();
if (argnum2 > 0)
plural_mp = mp;
}
pos.file_name = logical_file_name;
pos.line_number = inner.line_number_at_start;
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, string_of_word (&inner),
inner_context, &pos);
+ savable_comment_reset ();
}
}
}
/* xgettext YCP backend.
- Copyright (C) 2001-2003 Free Software Foundation, Inc.
+ Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc.
This file was written by Bruno Haible <haible@clisp.cons.org>, 2001.
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
last_comment_line = lineno;
return '\n';
}
|| buffer[buflen - 1] == '\t'))
--buflen;
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
buflen = 0;
lineno = line_number;
last_was_star = false;
|| buffer[buflen - 1] == '\t'))
--buflen;
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
break;
}
/* FALLTHROUGH */
buffer = xrealloc (buffer, bufmax);
}
buffer[buflen] = '\0';
- xgettext_comment_add (buffer);
+ savable_comment_add (buffer);
last_comment_line = lineno;
return '\n';
}
case '\n':
if (last_non_comment_line > last_comment_line)
- xgettext_comment_reset ();
+ savable_comment_reset ();
/* FALLTHROUGH */
case '\r':
case '\t':
if (plural_mp == NULL)
{
/* Seen an msgid. */
+ savable_comment_to_xgettext_comment (savable_comment);
plural_mp = remember_a_message (mlp, token.string,
inner_context, &pos);
+ savable_comment_reset ();
state = 2;
}
else
{
/* Seen an msgid_plural. */
+ savable_comment_to_xgettext_comment (savable_comment);
remember_a_message_plural (plural_mp, token.string,
inner_context, &pos);
+ savable_comment_reset ();
state = 0;
}
}