]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
libgettextpo: Remove static variable pass_obsolete_entries.
authorBruno Haible <bruno@clisp.org>
Mon, 29 Jul 2024 00:11:43 +0000 (02:11 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 29 Jul 2024 00:11:43 +0000 (02:11 +0200)
* gettext-tools/src/read-catalog-abstract.h (ABSTRACT_CATALOG_READER_TY): Add
pass_obsolete_entries field.
* gettext-tools/src/read-catalog-abstract.c (catalog_reader_alloc): Initialize
the pass_obsolete_entries field.
* gettext-tools/src/read-catalog.c (read_catalog_stream): Assign the
pass_obsolete_entries field, instead of calling po_lex_pass_obsolete_entries.
* gettext-tools/src/msgfmt.c (read_catalog_file_msgfmt): Likewise.
* gettext-tools/src/po-lex.h (pass_obsolete_entries): Remove declaration.
(po_lex_pass_obsolete_entries): Remove declaration.
* gettext-tools/src/po-lex.c (pass_obsolete_entries): Remove variable.
(po_lex_pass_obsolete_entries): Remove function.
* gettext-tools/src/po-gram-gen.y: Update.
* gettext-tools/woe32dll/gettextsrc-exports.c (pass_obsolete_entries): Remove
export.

gettext-tools/src/msgfmt.c
gettext-tools/src/po-gram-gen.y
gettext-tools/src/po-lex.c
gettext-tools/src/po-lex.h
gettext-tools/src/read-catalog-abstract.c
gettext-tools/src/read-catalog-abstract.h
gettext-tools/src/read-catalog.c
gettext-tools/woe32dll/gettextsrc-exports.c

index 5aebec28a68ed19e9bb24bbbcfa0a8554077bdb4..16f5ed66937daee8fb38e64a0a40aa12b963b2a0 100644 (file)
@@ -1387,6 +1387,7 @@ read_catalog_file_msgfmt (char *filename, catalog_input_format_ty input_syntax)
   default_catalog_reader_ty *dcatr;
 
   dcatr = default_catalog_reader_alloc (&msgfmt_methods);
+  dcatr->pass_obsolete_entries = true;
   dcatr->handle_comments = false;
   dcatr->allow_domain_directives = true;
   dcatr->allow_duplicates = false;
@@ -1400,7 +1401,6 @@ read_catalog_file_msgfmt (char *filename, catalog_input_format_ty input_syntax)
       dcatr->domain = current_domain->domain_name;
       dcatr->mlp = current_domain->mlp;
     }
-  po_lex_pass_obsolete_entries (true);
   catalog_reader_parse ((abstract_catalog_reader_ty *) dcatr, fp, real_filename,
                         filename, false, input_syntax);
   catalog_reader_free ((abstract_catalog_reader_ty *) dcatr);
index 2c9e9368e15c900612b51a7492b781d1fcf0851a..05ff9b6c38177789c74ba90f0e96d152dae2e912 100644 (file)
@@ -162,7 +162,7 @@ message
                   check_obsolete ($1, $2);
                   check_obsolete ($1, $3);
                   check_obsolete ($1, $4);
-                  if (!$1.obsolete || pass_obsolete_entries)
+                  if (!$1.obsolete || ps->catr->pass_obsolete_entries)
                     do_callback_message (ps, $1.ctxt, string2, &$1.pos, NULL,
                                          string4, strlen (string4) + 1, &$3.pos,
                                          $1.prev_ctxt,
@@ -182,7 +182,7 @@ message
                   check_obsolete ($1, $2);
                   check_obsolete ($1, $3);
                   check_obsolete ($1, $4);
-                  if (!$1.obsolete || pass_obsolete_entries)
+                  if (!$1.obsolete || ps->catr->pass_obsolete_entries)
                     do_callback_message (ps, $1.ctxt, string2, &$1.pos, $3.string,
                                          $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
                                          $1.prev_ctxt,
index cd5921080dacedc20c41351da417fe2723698aed..e79e33982f1927c705ef81bfb914566412f927f7 100644 (file)
@@ -821,7 +821,6 @@ mbfile_ungetc (const mbchar_t mbc, mbfile_t mbf)
 
 unsigned int gram_max_allowed_errors = 20;
 static bool pass_comments = false;
-bool pass_obsolete_entries = false;
 
 
 /* Prepare lexical analysis.  */
@@ -1356,12 +1355,3 @@ po_lex_pass_comments (bool flag)
 {
   pass_comments = flag;
 }
-
-
-/* po_gram_lex() can return obsolete entries as if they were normal entries.
-   Switch this on or off.  */
-void
-po_lex_pass_obsolete_entries (bool flag)
-{
-  pass_obsolete_entries = flag;
-}
index 6027d17325eccba87daed640f1168b215fbfc1af..0956613cc7ecf38fe230ae6dad3510f470d25b9d 100644 (file)
@@ -61,9 +61,6 @@ extern DLL_VARIABLE lex_pos_ty gram_pos;
    terminate.  Cf. error_message_count, declared in <error.h>.  */
 extern DLL_VARIABLE unsigned int gram_max_allowed_errors;
 
-/* True if obsolete entries shall be considered as valid.  */
-extern DLL_VARIABLE bool pass_obsolete_entries;
-
 
 /* Prepare lexical analysis.  */
 extern void lex_start (struct po_parser_state *ps,
@@ -81,10 +78,6 @@ extern int po_gram_lex (union PO_GRAM_STYPE *lval, struct po_parser_state *ps);
 /* po_gram_lex() can return comments as COMMENT.  Switch this on or off.  */
 extern void po_lex_pass_comments (bool flag);
 
-/* po_gram_lex() can return obsolete entries as if they were normal entries.
-   Switch this on or off.  */
-extern void po_lex_pass_obsolete_entries (bool flag);
-
 extern void po_gram_error (struct po_parser_state *ps, const char *fmt, ...)
        __attribute__ ((__format__ (__printf__, 2, 3)));
 extern void po_gram_error_at_line (const lex_pos_ty *pos, const char *fmt, ...)
index 9edf078935a12f7caf7f11c8754b3c154cf55757..cdb15e4df05a75e0fe83c8455c4a000edf6c0d36 100644 (file)
@@ -47,6 +47,7 @@ catalog_reader_alloc (abstract_catalog_reader_class_ty *method_table)
 
   catr = (abstract_catalog_reader_ty *) xmalloc (method_table->size);
   catr->methods = method_table;
+  catr->pass_obsolete_entries = false;
   catr->po_lex_isolate_start = NULL;
   catr->po_lex_isolate_end = NULL;
   if (method_table->constructor)
index 7b1173e33323c4895de3902ed5e9c7c40ef4d8e1..f50408534bf7f3bec348567f222a22eec1ebde67 100644 (file)
@@ -126,6 +126,9 @@ struct abstract_catalog_reader_class_ty
 #define ABSTRACT_CATALOG_READER_TY \
   abstract_catalog_reader_class_ty *methods;                            \
                                                                         \
+  /* True if obsolete entries shall be considered as valid.  */         \
+  bool pass_obsolete_entries;                                           \
+                                                                        \
   /* Representation of U+2068 FIRST STRONG ISOLATE (FSI) in the         \
      PO file's encoding, or NULL if not available.  */                  \
   const char *po_lex_isolate_start;                                     \
index fd221b1f02120a276cd5c53337b369c6f9b8e07a..af409155346b98a5e63fce800b78d3d41eb88b67 100644 (file)
@@ -467,6 +467,7 @@ read_catalog_stream (FILE *fp, const char *real_filename,
   msgdomain_list_ty *mdlp;
 
   dcatr = default_catalog_reader_alloc (&default_methods);
+  dcatr->pass_obsolete_entries = true;
   dcatr->handle_comments = true;
   dcatr->allow_domain_directives = true;
   dcatr->allow_duplicates = allow_duplicates;
@@ -477,7 +478,6 @@ read_catalog_stream (FILE *fp, const char *real_filename,
   if (input_syntax->produces_utf8)
     /* We know a priori that input_syntax->parse convert strings to UTF-8.  */
     dcatr->mdlp->encoding = po_charset_utf8;
-  po_lex_pass_obsolete_entries (true);
   catalog_reader_parse ((abstract_catalog_reader_ty *) dcatr, fp, real_filename,
                         logical_filename, false, input_syntax);
   mdlp = dcatr->mdlp;
index 4bf249a315e30f5727cd304129f833e4632af010..9dc223b0b84b202905921316f597682f2ec1df12 100644 (file)
@@ -68,7 +68,6 @@ VARIABLE(omit_header)
 VARIABLE(output_format_po)
 VARIABLE(output_format_properties)
 VARIABLE(output_format_stringtable)
-VARIABLE(pass_obsolete_entries)
 VARIABLE(plural_table)
 VARIABLE(plural_table_size)
 VARIABLE(po_charset_ascii)