1
2004-01-28 Bruno Haible <bruno@clisp.org>
3
* gettext-0.14 released.
5
2004-01-18 Bruno Haible <bruno@clisp.org>
7
* msginit.c (catalogname_for_locale): Add entries for Akan, Avaric,
8
Bambara, Cree, Divehi (Maldivian), Éwé, Igbo, Kongo, Kanuri, Ganda,
9
Luba-Katanga, Ojibwa, Venda.
10
(englishname_of_language): Likewise, and also for Fulah (Fulfulde).
12
2004-01-09 Bruno Haible <bruno@clisp.org>
14
* format.h (struct formatstring_parser): Add 'translated' argument to
16
(get_sysdep_c_format_directives): Renamed from
17
get_c99_format_directives. Add 'translated' argument. Change meaning
18
of endpos in returned array.
19
* format-c.c (struct spec): Rename field c99_directives to
20
sysdep_directives, and c99_directives_count to sysdep_directives_count.
21
(format_parse): Add 'translated' argument. Handle 'I' flag. Store the
22
pointer past the '>' character instead of the pointer to the '>'.
23
(format_c_parse, format_objc_parse): Add 'translated' argument.
24
(get_sysdep_c_format_directives): Renamed from
25
get_c99_format_directives. Add 'translated' argument.
26
* format-awk.c (format_parse): Add 'translated' argument.
27
* format-csharp.c (format_parse): Likewise.
28
* format-elisp.c (format_parse): Likewise.
29
* format-gcc-internal.c (format_parse): Likewise.
30
* format-java.c (format_parse): Likewise.
31
* format-librep.c (format_parse): Likewise.
32
* format-lisp.c (format_parse): Likewise.
33
* format-pascal.c (format_parse): Likewise.
34
* format-perl-brace.c (format_parse): Likewise.
35
* format-perl.c (format_parse): Likewise.
36
* format-php.c (format_parse): Likewise.
37
* format-python.c (format_parse): Likewise.
38
* format-qt.c (format_parse): Likewise.
39
* format-sh.c (format_parse): Likewise.
40
* format-tcl.c (format_parse): Likewise.
41
* format-ycp.c (format_parse): Likewise.
42
* msgfmt.c (check_pair): Update.
43
* msgmerge.c (msgfmt_check_pair_fails): Likewise.
44
* read-mo.c (get_sysdep_string): Don't add '<'...'>' around segments
46
(read_mo_file): Treat major revision 1 like major revision 0.
47
* write-mo.c (write_table): Update. Use major revision 1 if "I" occurs
48
among the sysdep segments.
49
* xgettext.c (set_format_flags_from_context, remember_a_message,
50
remember_a_message_plural): Update.
52
2004-01-14 Bruno Haible <bruno@clisp.org>
54
* msginit.c (fill_header): Avoid a NULL pointer access when the header
55
has no comment attached to it.
56
Reported by Josep Puigdemont <baldrick@terra.es>.
58
2004-01-09 Bruno Haible <bruno@clisp.org>
60
* msgattrib.c (main): Update year in --version output.
61
* msgcat.c (main): Likewise.
62
* msgcmp.c (main): Likewise.
63
* msgcomm.c (main): Likewise.
64
* msgconv.c (main): Likewise.
65
* msgen.c (main): Likewise.
66
* msgexec.c (main): Likewise.
67
* msgfilter.c (main): Likewise.
68
* msgfmt.c (main): Likewise.
69
* msggrep.c (main): Likewise.
70
* msginit.c (main): Likewise.
71
* msgmerge.c (main): Likewise.
72
* msgunfmt.c (main): Likewise.
73
* msguniq.c (main): Likewise.
74
* xgettext.c (main): Likewise.
76
2003-12-29 Bruno Haible <bruno@clisp.org>
78
* xgettext.h: Include stdlib.h, str-list.h.
79
(struct refcounted_string_list_ty): New type.
80
(add_reference, drop_reference): New functions.
81
(savable_comment, savable_comment_add, savable_comment_reset,
82
savable_comment_to_xgettext_comment): New declarations.
83
* xgettext.c (savable_comment): New variable.
84
(savable_comment_add, savable_comment_reset,
85
savable_comment_to_xgettext_comment): New functions.
86
* x-java.c (struct refcounted_string_list_ty, comment, add_reference,
87
drop_reference, x_java_comment_add, x_java_comment_reset,
88
x_java_comment_to_xgettext_comment): Remove. Use replacement from
89
xgettext.{h,c} instead.
90
* x-csharp.c (struct refcounted_string_list_ty, comment, add_reference,
91
drop_reference, x_csharp_comment_add, x_csharp_comment_reset,
92
x_csharp_comment_to_xgettext_comment): Remove. Use replacement from
93
xgettext.{h,c} instead.
94
* x-c.c (comment_line_end): Call savable_comment_add instead of
96
(struct token_ty): Add 'comment' field.
97
(free_token): Free it.
98
(phase5_get): Initialize token's 'comment' field.
99
(phase6_get): Call savable_comment_reset instead of
100
xgettext_comment_reset.
101
(phase8a_get): Initialize token's 'comment' field.
102
(phase8b_get): Call savable_comment_reset instead of
103
xgettext_comment_reset.
104
(phase8c_get): In @"...", use the comment of the first token, not of
106
(struct xgettext_token_ty): Add 'comment' field.
107
(x_c_lex): Deal with the token's comment.
108
(extract_parenthesized): Call savable_comment_to_xgettext_comment and
109
savable_comment_reset. Free the token's comment field.
110
* x-python.c (comment_line_end): Call savable_comment_add instead of
111
xgettext_comment_add.
112
(struct token_ty): Add 'comment' field.
113
(phase5_get): Call savable_comment_reset instead of
114
xgettext_comment_reset. Initialize token's 'comment' field.
115
(extract_parenthesized): Call savable_comment_to_xgettext_comment and
116
savable_comment_reset. Free the token's comment field.
118
2003-12-28 Bruno Haible <bruno@clisp.org>
120
* read-mo.h (read_mo_file): Change 'fn' into 'filename'.
121
* read-mo.c (read_mo_file): Likewise.
123
2003-12-28 Bruno Haible <bruno@clisp.org>
125
* write-resources.h: New file.
126
* write-resources.c: New file.
127
* msgfmt.cs: New file.
128
* msgfmt.c: Include write-resources.h.
129
(csharp_resources_mode): New variable.
130
(long_options): Add --csharp-resources.
131
(main): Handle --csharp-resources. More generic code for detection of
132
contradicting modes. Invoke msgdomain_write_csharp_resources.
133
(usage): Document --csharp-resources option.
134
(msgfmt_set_domain): Update.
135
* read-resources.h: New file.
136
* read-resources.c: New file.
137
* msgunfmt.cs (DumpResource): Add a constructor that dumps a .resources
139
(Main): Invoke it when only one argument is given.
140
* msgunfmt.c: Include read-resources.h.
141
(csharp_resources_mode): New variable.
142
(long_options): Add --csharp-resources.
143
(main): Handle --csharp-resources. More generic code for detection of
144
contradicting modes. Invoke read_one_file instead of read_mo_file.
145
(usage): Document --csharp-resources option.
146
(read_one_file): New function.
147
* Makefile.am (noinst_HEADERS): Add read-resources.h and
149
(msgfmt_SOURCES): Add write-resources.c.
150
(msgunfmt_SOURCES): Add read-resources.c.
151
(EXTRA_DIST): Add msgfmt.cs.
152
(CLEANFILES): Add msgfmt.net.exe.
153
(msgfmt.net.exe): New rule.
154
(all-csharp-yes): Depend on it.
155
(install-exec-csharp-yes): Also install msgfmt.net.exe.
156
(uninstall-csharp-yes): Also uninstall msgfmt.net.exe.
157
* Makefile.msvc (msgfmt_OBJECTS): Add write-resources.obj.
158
(msgunfmt_OBJECTS): Add read-resources.obj.
159
(write-resources.obj, read-resources.obj): New rules.
160
* Makefile.vms (msgfmt_OBJECTS): Add write-resources.obj.
161
(msgunfmt_OBJECTS): Add read-resources.obj.
162
(write-resources.obj, read-resources.obj): New rules.
165
2003-12-26 Bruno Haible <bruno@clisp.org>
168
* write-csharp.h: New file.
169
* write-csharp.c: New file.
170
* msgfmt.c: Include write-csharp.h.
171
(csharp_mode, csharp_resource_name, csharp_locale_name,
172
csharp_base_directory): New variables.
173
(long_options): Add option --csharp.
174
(main): Handle option --csharp. Initialize csharp_resource_name,
175
csharp_locale_name, csharp_base_directory. Perform checks for C# mode.
176
Invoke msgdomain_write_csharp.
177
(usage): Document --csharp option and C# mode.
178
(msgfmt_set_domain): Ignore in C# mode.
179
* read-csharp.h: New file.
180
* read-csharp.c: New file.
181
* msgunfmt.cs: New file.
182
* msgunfmt.c: Include read-csharp.h.
183
(csharp_mode, csharp_resource_name, csharp_locale_name,
184
csharp_base_directory): New variables.
185
(long_options): Add option --csharp.
186
(main): Handle option --csharp. Initialize csharp_resource_name,
187
csharp_locale_name, csharp_base_directory. Perform checks for C# mode.
188
Invoke msgdomain_read_csharp.
189
(usage): Document --csharp option and C# mode.
190
* Makefile.am (noinst_HEADERS): Add read-csharp.h, write-csharp.h.
191
(CSHARPCOMP, CSHARPCOMPFLAGS): New variables.
192
(msgfmt_SOURCES): Add write-csharp.c.
193
(msgunfmt_SOURCES): Add read-csharp.c.
194
(EXTRA_DIST): Add msgunfmt.cs.
195
(CLEANFILES): Add msgunfmt.net.exe.
196
(all-csharp-yes, all-csharp-no): New rules.
197
(all-local): Depend on them.
198
(msgunfmt.net.exe): New rule.
199
(install-exec-csharp-yes, install-exec-csharp-no): New rules.
200
(install-exec-local): Depend on them.
201
(installdirs-csharp): New rule.
202
(installdirs-local): Depend on it.
203
(uninstall-csharp-yes, uninstall-csharp-no): New rules.
204
(uninstall-local): Depend on it.
205
* Makefile.msvc (msgfmt_OBJECTS): Add write-csharp.obj.
206
(msgunfmt_OBJECTS): Add read-csharp.obj.
207
(write-csharp.obj, read-csharp.obj): New rules.
208
* Makefile.vms (msgfmt_OBJECTS): Add write-csharp.obj.
209
(msgunfmt_OBJECTS): Add read-csharp.obj.
210
(write-csharp.obj, read-csharp.obj): New rules.
213
2003-12-26 Bruno Haible <bruno@clisp.org>
215
* read-java.c (msgdomain_read_java): Relocate also the GETTEXTJAR
217
* urlget.c (fetch): Likewise.
219
2003-12-26 Bruno Haible <bruno@clisp.org>
221
* write-java.c (write_java_code): Emit a static method
222
'get_msgid_plural_table' instead of a static field 'plural'.
223
* gnu/gettext/DumpResource.java (DumpResource.dump): Exploit a
224
'get_msgid_plural_table' method if it exists.
226
2003-12-14 Bruno Haible <bruno@clisp.org>
228
* message.h (format_type): New enum value 'format_csharp'.
229
(NFORMATS): Increment.
230
* message.c (format_language): Add format_csharp entry.
231
(format_language_pretty): Likewise.
232
* format.h (formatstring_csharp): New declaration.
233
* format-csharp.c: New file.
234
* format.c (formatstring_parsers): Add formatstring_csharp.
235
* x-csharp.h: New file.
236
* x-csharp.c: New file.
237
* xgettext.c: Include x-csharp.h.
238
(flag_table_csharp): New variable.
239
(main): Invoke init_flag_table_csharp, x_csharp_extract_all,
241
(usage): Mention C# source language.
242
(xgettext_record_flag): Handle format_csharp.
243
(language_to_extractor): Add C# rule.
244
(extension_to_language): Add C# rule.
245
* Makefile.am (noinst_HEADERS): Add x-csharp.h.
246
(FORMAT_SOURCE): Add format-csharp.c.
247
(xgettext_SOURCES): Add x-csharp.c.
248
* Makefile.msvc (OBJECTS): Add format-csharp.obj.
249
(xgettext_OBJECTS): Add x-csharp.obj.
250
(format-csharp.obj, x-csharp.obj): New rules.
251
* Makefile.vms (OBJECTS): Add format-csharp.obj.
252
(xgettext_OBJECTS): Add x-csharp.obj.
253
(format-csharp.obj, x-csharp.obj): New rules.
256
2003-12-28 Bruno Haible <bruno@clisp.org>
258
* msgexec.c (process_string): Pass ignore_sigpipe = false.
259
* msgfilter.c (process_string): Likewise.
260
* msggrep.c (is_string_selected): Likewise.
261
* msginit.c (project_id, project_id_version, get_user_email,
262
language_team_address): Likewise.
263
* read-java.c (execute_and_read_po_output): Likewise.
264
* read-tcl.c (msgdomain_read_tcl): Likewise.
265
* urlget.c (execute_it): Pass ignore_sigpipe = true.
266
(fetch): Pass ignore_sigpipe = true when fetching the file, = false
269
2003-12-14 Bruno Haible <bruno@clisp.org>
271
* x-c.c (SIZEOF): New macro.
272
(phase1_ungetc): Verify that the pushback buffer's size is sufficient.
273
(phase2_ungetc): Likewise.
274
(phase3_ungetc): Likewise.
275
(phase5_unget): Likewise.
276
(phase6_unget): Likewise.
277
* x-java.c (SIZEOF): New macro.
278
(phase1_ungetc): Verify that the pushback buffer's size is sufficient.
279
(phase2_ungetc): Likewise.
280
(phase3_ungetc): Likewise.
281
(phase5_unget): Likewise.
282
(phase6_unget): Likewise.
283
* x-php.c (SIZEOF): New macro.
284
(phase1_ungetc): Verify that the pushback buffer's size is sufficient.
285
(phase2_ungetc): Likewise.
286
(phase3_ungetc): Likewise.
287
* x-python.c (SIZEOF): New macro.
288
(phase1_ungetc): Verify that the pushback buffer's size is sufficient.
289
(phase5_unget): Likewise.
290
* x-sh.c (SIZEOF): New macro.
291
(phase1_ungetc): Verify that the pushback buffer's size is sufficient.
292
(phase2_ungetc): Likewise.
293
* x-smalltalk.c (SIZEOF): New macro.
294
(phase2_unget): Verify that the pushback buffer's size is sufficient.
295
* x-tcl.c (SIZEOF): New macro.
296
(phase1_ungetc): Verify that the pushback buffer's size is sufficient.
297
(phase2_ungetc): Likewise.
298
* x-ycp.c (SIZEOF): New macro.
299
(phase2_unget): Verify that the pushback buffer's size is sufficient.
301
2003-12-14 Bruno Haible <bruno@clisp.org>
303
* x-c.c (phase1_pushback): Reduce size to 2.
304
(phase2_pushback): Reduce size to 1.
305
(phase3_pushback): Reduce size to 2.
306
(phase5_pushback): Reduce size to 1.
307
(phase6_pushback): Reduce size to 2.
308
* x-java.c (phase2_pushback): Reduce size to 1.
309
(phase3_pushback): Reduce size to 2.
310
(phase5_pushback): Reduce size to 3.
311
(phase6_pushback): Reduce size to 2.
312
* x-php.c (phase1_pushback): Reduce size to 2.
313
* x-python.c (max): New macro.
314
(phase1_pushback): Reduce size to UNINAME_MAX + 3.
315
(phase5_pushback): Reduce size to 1.
316
* x-sh.c (phase1_pushback): Reduce size to 1.
317
(phase2_pushback): Reduce size to 2.
318
* x-smalltalk.c (phase2_pushback): Reduce size to 1.
319
* x-tcl.c (phase1_pushback): Reduce size to 1.
320
(phase2_pushback): Reduce size to 2.
322
2003-12-12 Bruno Haible <bruno@clisp.org>
325
* Makefile.am (install-exec-local): Renamed from install-exec-am.
327
2003-11-30 Bruno Haible <bruno@clisp.org>
329
* format-java.c: Include xallocsa.h.
330
(message_format_parse): Use xallocsa instead of alloca.
331
(choice_format_parse): Likewise.
332
* msgl-cat.c: Include xallocsa.h.
333
(catenate_msgdomain_list): Use xallocsa instead of alloca.
334
* msgl-charset.c: Include xallocsa.h.
335
(compare_po_locale_charsets): Use xallocsa instead of alloca.
336
* msgl-iconv.c: Include xallocsa.h.
337
(iconv_message_list): Use xallocsa instead of alloca.
338
* po-charset.c: Include xallocsa.h.
339
(po_lex_charset_set): Use xallocsa instead of alloca.
340
* read-tcl.c: Include xallocsa.h.
341
(msgdomain_read_tcl): Use xallocsa instead of alloca.
342
* write-java.c: Include xallocsa.h.
343
(compute_hashsize, msgdomain_write_java): Use xallocsa instead of
345
* write-mo.c: Include xallocsa.h.
346
(write_table): Use xallocsa instead of alloca.
347
* write-po.c: Include xallocsa.h.
348
(msgdomain_list_print_po): Use xallocsa instead of alloca.
349
* write-tcl.c: Include xallocsa.h.
350
(msgdomain_write_tcl): Use xallocsa instead of alloca.
351
* msggrep.c: Include xallocsa.h.
352
(is_message_selected): Use xallocsa instead of alloca.
353
* msginit.c: Include xallocsa.h.
354
(subst_string): Use xallocsa instead of alloca.
355
* msgmerge.c: Include obstack.h.
356
(obstack_chunk_alloc, obstack_chunk_free): New macros.
357
(message_merge): Use obstack_alloc instead of alloca.
358
* xgettext.c: Include xallocsa.h.
359
(flag_context_list_table_insert): Use xallocsa instead of alloca.
361
2003-12-17 Bruno Haible <bruno@clisp.org>
363
* gettext-0.13.1 released.
365
2003-12-14 Bruno Haible <bruno@clisp.org>
367
* x-sh.c (phase2_getc): Call phase1_ungetc instead of phase2_ungetc:
368
The next phase2_getc invocation must return QUOTED('"'), not '"'.
370
2003-12-14 Bruno Haible <bruno@clisp.org>
372
* x-c.c (phase7_getc): Remove dead code.
373
* x-java.c (accumulate_escaped): More precise error message.
375
2003-12-02 Bruno Haible <bruno@clisp.org>
377
* msginit.c (catalogname_for_locale): Treat sr_CS like sr_YU.
379
2003-11-30 Bruno Haible <bruno@clisp.org>
381
* gettext-0.13 released.
383
2003-11-28 Bruno Haible <bruno@clisp.org>
385
* xgettext.c (set_format_flags_from_context): Add casts, to make it
388
2003-11-22 Bruno Haible <bruno@clisp.org>
390
* x-c.c (phase4_getc): Skip leading whitespace in C++ style comments
392
* x-sh.c (read_word): Skip leading whitespace in comments.
393
* x-lisp.c (read_object): Skip leading whitespace in single-line
395
* x-elisp.c (read_object): Skip leading whitespace in comments.
396
* x-librep.c (read_object): Skip leading whitespace in single-line
398
* x-java.c (phase4_getc): Skip leading whitespace in C++ style comments
400
* x-awk.c (phase2_getc): Skip leading whitespace in comments.
401
* x-ycp.c (phase2_getc): Skip leading whitespace in single-line
403
* x-tcl.c (read_command): Skip leading whitespace in comments.
405
2003-11-24 Bruno Haible <bruno@clisp.org>
407
* format-lisp.c (check_params): Use ngettext for one of the messages.
408
Reported by Rafał Maszkowski <rzm@icm.edu.pl>.
410
2003-11-15 Bruno Haible <bruno@clisp.org>
412
* Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
414
2003-11-09 Bruno Haible <bruno@clisp.org>
416
* msginit.c (main): Drop the blank line in --no-translator mode.
418
2003-11-07 Bruno Haible <bruno@clisp.org>
420
* xgettext.c (remember_a_message): Omit the programmer comments of a
421
duplicated msgid only if they are redundant.
422
Reported by Christian Neumair <chris@gnome-de.org>.
424
2003-11-05 Bruno Haible <bruno@clisp.org>
426
* user-email.sh.in: Renamed from user-email.in. Internationalize, use
427
localedir and gettext.
430
2003-10-23 Bruno Haible <bruno@clisp.org>
432
* read-stringtable.c (read_string, stringtable_parse): Cast
433
gram_pos.line_number to 'unsigned long'.
434
* x-sh.c (read_word): Case line_number to 'unsigned long'.
436
2003-10-21 Bruno Haible <bruno@clisp.org>
438
* message.h (message_list_msgids_changed): New declaration.
439
* message.c (message_list_msgids_changed): New function.
440
* msgl-iconv.c (iconv_message_list): Update the message list's hash
441
table if it happens to contain non-ASCII msgids.
443
2003-10-19 Bruno Haible <bruno@clisp.org>
445
* message.h (format_type): New enum value 'format_qt'.
446
(NFORMATS): Increment.
447
* message.c (format_language): Add format_qt entry.
448
(format_language_pretty): Likewise.
449
* format.h (formatstring_qt): New declaration.
450
* format-qt.c: New file.
451
* format.c (formatstring_parsers): Add formatstring_qt.
452
* xgettext.c (recognize_format_qt): New variable.
453
(long_options): Add option "--qt".
454
(main): Handle --qt option. Determine the extractor only after option
455
processing is complete.
456
(usage): Document --qt option.
457
(xgettext_record_flag): Handle format_qt.
458
(language_to_extractor): For C++, return a different extractor when
460
* write-qt.h: New file.
461
* write-qt.c: New file.
462
* msgfmt.c: Include write-qt.h.
463
(qt_mode): New variable.
464
(long_options): Add option "--qt".
465
(main): Handle --qt option. More checks for contradicting options.
466
Call msgdomain_write_qt.
467
(usage): Mention Qt mode.
468
(format_directive_domain): Ignore domain directive if in Qt mode.
469
* Makefile.am (noinst_HEADERS): Add write-qt.h.
470
(FORMAT_SOURCE): Add format-qt.c.
471
(msgfmt_SOURCES): Add write-qt.c.
472
* Makefile.msvc (OBJECTS): Add format-qt.obj.
473
(msgfmt_OBJECTS): Add write-qt.obj.
474
(format-qt.obj, write-qt.obj): New rules.
475
* Makefile.vms (OBJECTS): Add format-qt.obj.
476
(msgfmt_OBJECTS): Add write-qt.obj.
477
(format-qt.obj, write-qt.obj): New rules.
480
2003-10-14 Bruno Haible <bruno@clisp.org>
482
Fix compilation errors in C++ mode.
483
* msgfilter.c (process_string): Cast the xrealloc expression.
484
* xgettext.c (language_to_extractor, extension_to_language): Move the
485
typedef after the struct definition.
487
2003-10-13 Bruno Haible <bruno@clisp.org>
489
Support CR/LF line terminators in C sources even on Unix.
490
* x-c.c (phase0_getc, phase0_ungetc): New functions.
491
(phase1_getc): Use them instead of calling getc/ungetc directly.
492
Reported by Christoph Thielecke <u15119@hs-harz.de>.
494
2003-10-13 Bruno Haible <bruno@clisp.org>
496
Support and recognize Objective C specific format strings.
497
* message.h (enum format_type): New item format_objc.
498
(NFORMATS): Increment.
499
* message.c (format_language): Add an entry for format_objc.
500
(format_language_pretty): Likewise.
501
* format.h (formatstring_objc): New declaration.
502
* format-c.c (enum format_arg_type): New item FAT_OBJC_OBJECT.
503
(format_parse): Add objc_extensions argument. Handle %@ in ObjC mode.
504
(format_c_parse, format_objc_parse): New functions.
505
(formatstring_c): Use format_c_parse instead of format_parse.
506
(formatstring_objc): New variable.
507
(get_c99_format_directives): Update.
508
* format.c (formatstring_parsers): Add an entry for format_objc.
509
* write-mo.c (write_table): Look for system dependent strings also in
510
ObjectiveC format strings.
511
* x-c.h (SCANNERS_C): Use separate flag_table for ObjectiveC.
512
(x_objc_keyword, init_flag_table_objc): New declarations.
513
(x_c_any_keywords): Remove declaration.
514
* x-c.c (c_keywords): Renamed from keywords.
515
(objc_keywords): New variable.
516
(add_keyword): Renamed from x_c_keyword. Add keywords table argument.
517
(x_c_keyword, x_objc_keyword): New functions.
518
(x_c_any_keywords): Remove function.
519
(init_keywords): Also initialize ObjectiveC keyword table.
520
(init_flag_table_objc): New function.
521
(enum token_type_ty): New item token_type_colon.
522
(phase5_get): Recognize colon.
523
(enum xgettext_token_type_ty): New item xgettext_token_type_colon.
524
(x_c_lex): Use keywords table depending on objc_extensions. Handle
526
(extract_parenthesized): Change the context_iter and inner_context
527
after a keyword/symbol followed by a colon was seen.
528
* xgettext.c (flag_table_objc): New variable.
529
(main): Invoke init_flag_table_objc, x_objc_keyword. Watch out for
530
keywords arguments, instead of calling x_c_any_keywords().
531
(flag_context_list_table_insert): New function, extracted from
532
xgettext_record_flag.
533
(xgettext_record_flag): Call it. For format_c, insert the flags also
534
in the flag_table_objc. Handle format_objc.
535
(remember_a_message): Don't add a heuristic c-format flag to an entry
536
that already carries objc-format.
537
(remember_a_message_plural): Likewise.
539
2003-10-18 Bruno Haible <bruno@clisp.org>
541
Support for GNUstep .strings format.
542
* read-stringtable.h: New file.
543
* read-stringtable.c: New file.
544
* read-po-abstract.h (enum input_syntax_ty): New item
546
(po_callback_comment_dispatcher): Renamed from po_callback_comment.
547
(po_callback_comment, po_callback_comment_special): New declarations.
548
* read-po-abstract.c: Include read-stringtable.h.
549
(po_scan): Add support for syntax_stringtable.
550
(po_callback_comment_dispatcher): Renamed from po_callback_comment.
551
(po_callback_comment, po_callback_comment_dot): New functions.
552
(po_callback_comment_special): New function.
553
* read-po.c (read_po): Set mdlp->encoding for syntax_stringtable too.
554
* po-gram-gen.y: Update po_callback_comment_dispatcher call.
555
* read-properties.c (properties_parse): Likewise.
556
* write-stringtable.h: New file.
557
* write-stringtable.c: New file.
558
* write-po.h (make_format_description_string, significant_format_p):
560
(message_print_syntax_stringtable): New declaration.
561
* write-po.c: Include write-stringtable.h.
562
(make_format_description_string, significant_format_p): Make
564
(use_syntax_stringtable): New variable.
565
(message_print_syntax_stringtable): New function.
566
(msgdomain_list_print): Add check for plural forms for
567
syntax_stringtable too. Add support for writing the .strings format.
568
* msgattrib.c (long_options): Add --stringtable-input/output.
570
(usage): Document options --stringtable-input/output.
571
* msgcat.c (long_options): Add --stringtable-input/output.
572
(main): Handle them. If option --stringtable-output is used, convert to
573
UTF-8 and ignore the to_code.
574
(usage): Document options --stringtable-input/output.
575
* msgcmp.c (long_options): Add --stringtable-input.
577
(usage): Document option --stringtable-input.
578
* msgcomm.c (long_options): Add --stringtable-input/output.
580
(usage): Document options --stringtable-input/output.
581
* msgconv.c (long_options): Add --stringtable-input/output.
582
(main): Handle them. If option --stringtable-output is used, ignore the
584
(usage): Document options --stringtable-input/output.
585
* msgen.c (long_options): Add --stringtable-input/output.
587
(usage): Document options --stringtable-input/output.
588
* msgexec.c: Include limits.h.
589
(long_options): Add --stringtable-input.
591
(usage): Document option --stringtable-input.
592
* msgfilter.c (long_options): Add --stringtable-input/output.
594
(usage): Document options --stringtable-input/output.
595
* msgfmt.c (long_options): Add --stringtable-input.
597
(usage): Document option --stringtable-input.
598
* msggrep.c (long_options): Add --stringtable-input/output.
600
(usage): Document options --stringtable-input/output.
601
* msginit.c (long_options): Add --stringtable-input/output.
603
(usage): Document options --stringtable-input/output.
604
* msgmerge.c (long_options): Add --stringtable-input/output.
605
(main): Handle them. In update mode, --stringtable-input implies
606
--stringtable-output.
607
(usage): Document options --stringtable-input/output.
608
* msgunfmt.c (long_options): Add --stringtable-output.
610
(usage): Document option --stringtable-output.
611
* msguniq.c (long_options): Add --stringtable-input/output.
613
(usage): Document options --stringtable-input/output.
614
* x-stringtable.h: New file.
615
* x-po.c: Include x-stringtable.h.
616
(extract_stringtable): New function.
617
* xgettext.c: Include x-stringtable.h.
618
(long_options): Add --stringtable-output.
620
(usage): Document options -L NXStringTable and --stringtable-output.
621
(finalize_header): If --stringtable-output was given, set the charset.
622
(language_to_extractor): Add support for .strings format.
623
(extension_to_language): Likewise.
624
* Makefile.am (noinst_HEADERS): Add read-stringtable.h,
625
write-stringtable.h, x-stringtable.h.
626
(COMMON_SOURCE): Add read-stringtable.c.
627
(libgettextsrc_la_SOURCES): Add write-stringtable.c.
628
* Makefile.msvc (OBJECTS): Add read-stringtable.obj,
629
write-stringtable.obj.
630
(read-stringtable.obj, write-stringtable.obj): New rules.
631
* Makefile.vms (OBJECTS): Add read-stringtable.obj,
632
write-stringtable.obj.
633
(read-stringtable.obj, write-stringtable.obj): New rules.
636
2003-10-21 Bruno Haible <bruno@clisp.org>
638
* hostname.c (xgethostname): Add support for native Woe32 API.
640
2003-10-21 Bruno Haible <bruno@clisp.org>
642
* message.c (message_list_search): Avoid casting a pointer to a local
643
variable; it violated strict aliasing.
645
2003-10-21 Bruno Haible <bruno@clisp.org>
647
* write-java.c (mkdir): Redefine on mingw.
649
2003-10-12 Bruno Haible <bruno@clisp.org>
651
Improved ObjectiveC support.
652
* x-c.h (extract_objc): New declaration.
653
(SCANNERS_C): For ObjectiveC, use extract_objc.
654
* x-c.c (objc_extensions): New variable.
655
(enum token_type_ty): New item token_type_objc_special.
656
(phase5_get): Recognize '@' for ObjectiveC.
657
(phase8b_get, phase8b_unget): New functions. Handle
658
token_type_white_space and token_type_eoln here instead of in x_c_lex.
659
(phase8c_get, phase8c_unget): New functions.
660
(phase8_get): Rely on phase8c, not phase8a. No more need to care about
661
token_type_white_space and token_type_eoln.
662
(x_c_lex): Drop handling of token_type_white_space and token_type_eoln.
663
(extract_whole_file): Renamed from extract_c.
664
(extract_c, extract_objc): New functions.
666
2003-10-20 Bruno Haible <bruno@clisp.org>
668
* x-java.c (phase3_getc): Fix typo: Use phase2_ungetc, not phase2_getc.
670
2003-10-20 Bruno Haible <bruno@clisp.org>
672
Portability to AIX with cc.
673
* xgettext.h (struct flag_context_ty): Define the bitfields of type
676
2003-10-20 Bruno Haible <bruno@clisp.org>
678
Portability to Solaris with cc.
679
* x-java.c (string_buffer_append): Avoid aggregate initializer
680
containing non-constant expressions.
681
* xgettext.c (flag_context_list_iterator): Likewise.
682
(language_to_extractor): Likewise.
684
2003-10-11 Bruno Haible <bruno@clisp.org>
686
* xgettext.c (main): Drop suffix ".in" from input file name, if
687
present, before looking at the file extension.
689
2003-10-09 Bruno Haible <bruno@clisp.org>
691
* format-awk.c: Include xalloc.h instead of xmalloc.h.
692
* format-c.c: Likewise.
693
* format-elisp.c: Likewise.
694
* format-gcc-internal.c: Likewise.
695
* format-java.c: Likewise.
696
* format-librep.c: Likewise.
697
* format-lisp.c: Likewise.
698
* format-pascal.c: Likewise.
699
* format-perl.c: Likewise.
700
* format-perl-brace.c: Likewise.
701
* format-php.c: Likewise.
702
* format-python.c: Likewise.
703
* format-sh.c: Likewise.
704
* format-tcl.c: Likewise.
705
* format-ycp.c: Likewise.
706
* gettext-po.c: Likewise.
707
* hostname.c: Likewise.
708
* message.c: Likewise.
709
* msgexec.c: Likewise.
710
* msgfilter.c: Likewise.
711
* msgfmt.c: Likewise.
712
* msggrep.c: Likewise.
713
* msginit.c: Likewise.
714
* msgl-cat.c: Likewise.
715
* msgl-english.c: Likewise.
716
* msgl-iconv.c: Likewise.
717
* msgmerge.c: Likewise.
718
* open-po.c: Likewise.
719
* po-gram-gen.y: Likewise.
720
* po-hash-gen.y: Likewise.
721
* po-lex.c: Likewise.
722
* read-mo.c: Likewise.
723
* read-po-abstract.c: Likewise.
724
* read-po.c: Likewise.
725
* read-properties.c: Likewise.
726
* str-list.c: Likewise.
727
* write-java.c: Likewise.
728
* write-mo.c: Likewise.
729
* write-po.c: Likewise.
730
* write-properties.c: Likewise.
731
* write-tcl.c: Likewise.
734
* x-elisp.c: Likewise.
735
* x-glade.c: Likewise.
736
* x-java.c: Likewise.
737
* x-librep.c: Likewise.
738
* x-lisp.c: Likewise.
739
* x-perl.c: Likewise.
742
* x-python.c: Likewise.
745
* x-smalltalk.c: Likewise.
748
* xgettext.c: Likewise.
750
2003-10-07 Bruno Haible <bruno@clisp.org>
752
More reliable subprocess cleanup.
753
* msgexec.c (process_string): Pass slave_process = true to
754
create_pipe_out() and wait_subprocess().
755
* msgfilter.c (process_string): Pass slave_process = true to
756
create_pipe_bidi() and wait_subprocess().
757
* msggrep.c (is_string_selected): Pass slave_process = true to
758
create_pipe_out() and wait_subprocess().
759
* msginit.c (project_id, project_id_version, get_user_email,
760
language_team_address): Pass slave_process = true to create_pipe_in()
761
and wait_subprocess().
762
* read-java.c (execute_and_read_po_output): Likewise.
763
* read-tcl.c (msgdomain_read_tcl): Likewise.
764
* urlget.c (execute_it, fetch): Pass slave_process = true to execute().
766
2003-10-05 Bruno Haible <bruno@clisp.org>
768
* write-java.c: Include fatal-signal.h, not signal.h.
769
(uninstall_handlers): Remove function.
770
(cleanup): Remove signal argument. Don't execute the signal's default
771
action; leave that to the caller.
772
(install_handlers, init_signal_set, block, unblock): Remove functions.
773
(msgdomain_write_java): Invoke at_fatal_signal instead of
774
install_handlers/uninstall_handlers. Invoke [un]block_fatal_signals
775
instead of [un]block.
777
2003-10-05 Bruno Haible <bruno@clisp.org>
779
* xgettext.c (substring_match): Remove variable.
780
(long_options): Remove --keyword-substring option.
781
(main): Remove handling of --keyword-substring option.
783
2003-10-05 Bruno Haible <bruno@clisp.org>
785
* message.h (enum is_format): New item yes_according_to_context.
786
* message.c (possible_format_p): Handle also yes_according_to_context.
787
* write-po.c (make_format_description_string): Likewise.
789
* xgettext.h (struct flag_context_ty): New type.
790
(null_context, passthrough_context): New declarations.
791
(inherited_context): New declaration.
792
(struct flag_context_list_ty): New type.
793
(struct flag_context_list_iterator_ty): New type.
794
(null_context_list_iterator, passthrough_context_list_iterator): New
796
(flag_context_list_iterator): New declaration.
797
(flag_context_list_iterator_advance): New declaration.
798
(flag_context_list_table_ty): New type.
799
(flag_context_list_table_lookup): New declaration.
800
(xgettext_record_flag): New declaration.
801
(remember_a_message, remember_a_message_plural): Add context argument.
802
* xgettext.c: Include alloca.h.
803
(flag_table_c, flag_table_gcc_internal, flag_table_sh,
804
flag_table_python, flag_table_lisp, flag_table_elisp,
805
flag_table_librep, flag_table_java, flag_table_awk, flag_table_ycp,
806
flag_table_tcl, flag_table_perl, flag_table_php): New variables.
807
(long_options): Add option --flag.
808
(extractor_func): Add argument flag_table.
809
(struct extractor_ty): New type.
810
(main): Use type 'extractor_ty' instead of 'extractor_func'.
811
Invoke init_flag_table_c(), init_flag_table_gcc_internal(),
812
init_flag_table_sh(), init_flag_table_python(), init_flag_table_lisp(),
813
init_flag_table_elisp(), init_flag_table_librep(),
814
init_flag_table_java(), init_flag_table_awk(), init_flag_table_ycp(),
815
init_flag_table_tcl(), init_flag_table_perl(), init_flag_table_php().
816
Implement option --flag.
817
(usage): Rename a section to "Language specific options". Document
818
the languages to which --extract-all, --keyword, --trigraphs are
819
applicable. Document option --flag.
820
(null_context): New variable.
821
(passthrough_context): New variable.
822
(inherited_context): New function.
823
(null_context_list_iterator): New variable.
824
(passthrough_context_circular_list, passthrough_context_list_iterator):
826
(flag_context_list_iterator): New function.
827
(flag_context_list_iterator_advance): New function.
828
(flag_context_list_table_lookup): New function.
829
(xgettext_record_flag): New function.
830
(extract_from_file): Change argument type to 'extractor_ty' instead of
831
'extractor_func'. Set current_formatstring_parser{1,2} before invoking
833
(set_format_flags_from_context): New function.
834
(remember_a_message): Add context argument. Set some *-format flag if
835
the context specifies it.
836
(remember_a_message_plural): Likewise.
837
(language_to_extractor): Change return type to 'extractor_ty' instead
840
* x-awk.h (SCANNERS_AWK): Refer to flag_table_awk.
841
(extract_awk): Add argument flag_table.
842
(init_flag_table_awk): New declaration.
843
* x-awk.c (init_flag_table_awk): New function.
844
(enum token_type_ty): New enum item token_type_semicolon.
845
(x_awk_lex): Recognize semicolon.
846
(flag_context_list_table): New variable.
847
(extract_parenthesized): Add arguments outer_context, context_iter.
848
Implement context handling depending on symbol before '('. Also
849
recognize argument lists that start without '(', but only up to the
851
(extract_awk): Add argument flag_table. Initialize
852
flag_context_list_table.
854
* x-c.h (SCANNERS_C): Refer to flag_table_c, flag_table_gcc_internal.
855
(extract_c): Add argument flag_table.
856
(init_flag_table_c): New declaration.
857
(init_flag_table_gcc_internal): New declaration.
858
* x-c.c (init_flag_table_c): New function.
859
(init_flag_table_gcc_internal): New function.
860
(enum xgettext_token_type_ty): New item xgettext_token_type_other.
861
(x_c_lex): For token_type_name, put the string into the resulting
862
token instead of freeing it. Return token type
863
xgettext_token_type_other instead of xgettext_token_type_symbol in
865
(flag_context_list_table): New variable.
866
(extract_parenthesized): Add arguments outer_context, context_iter.
867
Implement context handling depending on symbol before '('.
868
(extract_c): Add argument flag_table. Initialize
869
flag_context_list_table.
871
* x-elisp.h (SCANNERS_ELISP): Refer to flag_table_elisp.
872
(extract_elisp): Add argument flag_table.
873
(init_flag_table_elisp): New declaration.
874
* x-elisp.c (init_flag_table_elisp): New function.
875
(flag_context_list_table): New variable.
876
(read_object): Add argument outer_context. Implement context handling
877
depending on first symbol after '('.
878
(extract_elisp): Add argument flag_table. Initialize
879
flag_context_list_table.
881
* x-glade.h (SCANNERS_GLADE): Update.
882
(extract_glade): Add argument flag_table.
883
* x-glade.c (start_element_handler, end_element_handler): Pass null
884
context to remember_a_message.
885
(extract_glade): Add argument flag_table.
887
* x-java.h (SCANNERS_JAVA): Refer to flag_table_java.
888
(extract_java): Add argument flag_table.
889
(init_flag_table_java): New declaration.
890
* x-java.c (init_flag_table_java): New function.
891
(flag_context_list_table): New variable.
892
(extract_parenthesized): Add arguments outer_context, context_iter.
893
Implement context handling depending on symbol before '('.
894
(extract_java): Add argument flag_table. Initialize
895
flag_context_list_table.
897
* x-librep.h (SCANNERS_ELISP): Refer to flag_table_librep.
898
(extract_librep): Add argument flag_table.
899
(init_flag_table_librep): New declaration.
900
* x-librep.c (init_flag_table_librep): New function.
901
(flag_context_list_table): New variable.
902
(read_object): Add argument outer_context. Implement context handling
903
depending on first symbol after '('.
904
(extract_librep): Add argument flag_table. Initialize
905
flag_context_list_table.
907
* x-lisp.h (SCANNERS_LISP): Refer to flag_table_lisp.
908
(extract_lisp): Add argument flag_table.
909
(init_flag_table_lisp): New declaration.
910
* x-lisp.c (init_flag_table_lisp): New function.
911
(flag_context_list_table): New variable.
912
(read_object): Add argument outer_context. Implement context handling
913
depending on first symbol after '('.
914
(extract_lisp): Add argument flag_table. Initialize
915
flag_context_list_table.
917
* x-perl.h (SCANNERS_PERL): Refer to flag_table_perl.
918
(extract_perl): Add argument flag_table.
919
(init_flag_table_perl): New declaration.
920
* x-perl.c (init_flag_table_java): New function.
921
(flag_context_list_table): New variable.
922
(extract_variable): Update. Implement context handling depending on
923
symbol before '{'...'}'.
924
(interpolate_keywords): Implement context handling depending on symbol
925
before '->' or '{'...'}'.
926
(extract_balanced): Add arguments outer_context, context_iter.
927
Implement context handling depending on symbol before '('. Also
928
recognize argument lists that start without '('.
929
(extract_perl): Add argument flag_table. Initialize
930
flag_context_list_table.
932
* x-php.h (SCANNERS_PHP): Refer to flag_table_php.
933
(extract_php): Add argument flag_table.
934
(init_flag_table_php): New declaration.
935
* x-php.c (init_flag_table_php): New function.
936
(flag_context_list_table): New variable.
937
(extract_parenthesized): Add arguments outer_context, context_iter.
938
Implement context handling depending on symbol before '('.
939
(extract_php): Add argument flag_table. Initialize
940
flag_context_list_table.
942
* x-po.h (SCANNERS_PO): Update.
943
(extract_po): Add argument flag_table.
944
* x-properties.h (SCANNERS_PROPERTIES): Update.
945
(extract_properties): Add argument flag_table.
946
* x-po.c (extract_po): Add argument flag_table.
947
(extract_properties): Add argument flag_table.
949
* x-python.h (SCANNERS_PYTHON): Refer to flag_table_python.
950
(extract_python): Add argument flag_table.
951
(init_flag_table_python): New declaration.
952
* x-python.c (init_flag_table_python): New function.
953
(flag_context_list_table): New variable.
954
(extract_parenthesized): Add arguments outer_context, context_iter.
955
Implement context handling depending on symbol before '('.
956
(extract_python): Add argument flag_table. Initialize
957
flag_context_list_table.
959
* x-rst.h (SCANNERS_RST): Update.
960
(extract_rst): Add argument flag_table.
961
* x-rst.c (extract_rst): Add argument flag_table.
963
* x-sh.h (SCANNERS_SH): Refer to flag_table_sh.
964
(extract_sh): Add argument flag_table.
965
(init_flag_table_sh): New declaration.
966
* x-sh.c (init_flag_table_sh): New function.
967
(flag_context_list_table): New variable.
968
(read_word): Add context argument.
969
(read_command): Add outer_context argument. Implement context handling
970
depending on first symbol of command.
971
(read_command_list): Add outer_context argument.
972
(extract_sh): Add argument flag_table. Initialize
973
flag_context_list_table.
975
* x-smalltalk.h (SCANNERS_SMALLTALK): Update.
976
(extract_smalltalk): Add argument flag_table.
977
* x-smalltalk.c (extract_smalltalk): Add argument flag_table.
979
* x-tcl.h (SCANNERS_TCL): Refer to flag_table_tcl.
980
(extract_tcl): Add argument flag_table.
981
(init_flag_table_tcl): New declaration.
982
* x-tcl.c (init_flag_table_tcl): New function.
983
(flag_context_list_table): New variable.
984
(accumulate_word): Add context argument.
985
(read_word): Add context argument.
986
(read_command): Add outer_context argument. Implement context handling
987
depending on first symbol of command.
988
(read_command_list): Add outer_context argument.
989
(extract_tcl): Add argument flag_table. Initialize
990
flag_context_list_table.
992
* x-ycp.h (SCANNERS_YCP): Refer to flag_table_ycp.
993
(extract_ycp): Add argument flag_table.
994
(init_flag_table_ycp): New declaration.
995
* x-ycp.c (init_flag_table_ycp): New function.
996
(flag_context_list_table): New variable.
997
(extract_parenthesized): New function, split off from extract_ycp.
998
Implement context handling depending on symbol before '('.
999
(extract_ycp): Add argument flag_table. Initialize
1000
flag_context_list_table. Call extract_parenthesized to do the work.
1002
* po-lex.c (mbfile_getc, control_sequence): Remove explicit marking of
1003
strings as c-format, now done by xgettext.
1005
2003-09-23 Bruno Haible <bruno@clisp.org>
1007
* x-awk.c (extract_parenthesized): Remove optimization of the
1009
* x-c.c (extract_parenthesized): Likewise.
1010
* x-elisp.c (read_object): Likewise.
1011
* x-librep.c (read_object): Likewise.
1012
* x-lisp.c (read_object): Likewise.
1013
* x-perl.c (x_perl_prelex, extract_balanced): Likewise.
1014
* x-php.c (extract_parenthesized): Likewise.
1015
* x-python.c (extract_parenthesized): Likewise.
1016
* x-sh.c (read_command): Likewise.
1018
2003-10-08 Bruno Haible <bruno@clisp.org>
1020
* msgmerge.c (main): Make option -N work.
1021
Reported by Liu Garfield <jackliu9999@hotmail.com>.
1023
2003-10-04 Bruno Haible <bruno@clisp.org>
1026
* x-java.c: New file.
1027
* x-java.l: Remove file.
1028
* Makefile.am (xgettext_SOURCES): Add x-java.c, remove x-java.l.
1029
(x-java.c): Remove rule.
1032
2003-09-22 Bruno Haible <bruno@clisp.org>
1034
* x-glade.c (start_element_handler): Implement extract_all behaviour.
1036
2003-10-04 Bruno Haible <bruno@clisp.org>
1038
* x-glade.c (do_extract_glade): Initialize stack_depth.
1039
* x-perl.c (extract_perl): Initialize linesize and linepos.
1041
* x-python.c (phase2_getc): Set last_comment_line.
1042
(phase5_get): Set last_non_comment_line.
1044
2003-10-04 Bruno Haible <bruno@clisp.org>
1046
* x-glade.c: Don't include msgl-ascii.h and msgl-iconv.h.
1047
* x-python.c: Likewise.
1048
* x-tcl.c: Likewise.
1050
2003-10-06 Guido Flohr <guido@imperia.net>
1051
Bruno Haible <bruno@clisp.org>
1053
* x-perl.c (enum symbol_type_ty): New enum.
1054
(struct token_ty): Rename field string_type to sub_type and change its
1056
(extract_quotelike_pass3, interpolate_keywords): Update.
1057
(x_perl_prelex): Set sub_type also for symbol tokens.
1058
(x_perl_lex): Special handling of prototype argument lists.
1059
Reported by Crispin Flowerday <cflowerday@zeus.com>.
1061
2003-09-22 Bruno Haible <bruno@clisp.org>
1063
* x-sh.c (read_word): Warn about $"...".
1065
2003-09-18 Bruno Haible <bruno@clisp.org>
1067
* gettext-po.h (po_file_domain_header, po_header_field,
1068
po_message_is_obsolete, po_message_is_fuzzy, po_message_is_format): New
1070
* gettext-po.c (po_file_domain_header, po_header_field,
1071
po_message_is_obsolete, po_message_is_fuzzy, po_message_is_format): New
1073
* Makefile.am (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 1:0:1.
1075
2003-09-14 Bruno Haible <bruno@clisp.org>
1077
* plural-count.c: Include plural-count.h.
1078
* x-po.c: Include x-properties.h.
1079
* x-java.l (append_strings): Change argument type to 'const char *'.
1081
2003-09-14 Bruno Haible <bruno@clisp.org>
1083
* msgfmt.c (check_plural_eval): Mark some strings as c-format.
1084
(msgfmt_add_message): Make static.
1085
* po-lex.c (mbfile_getc, control_sequence): Mark some strings as
1088
2003-09-18 Bruno Haible <bruno@clisp.org>
1092
2003-09-14 Bruno Haible <bruno@clisp.org>
1094
More reliable checking for read errors.
1095
* po-lex.c (mbfile_getc): Diagnose read errors also in the middle of
1096
multibyte characters.
1097
(lex_getc): Diagnose read errors also right after backslash.
1098
* x-rst.c (extract_rst): Diagnose read errors also inside ConstName
1099
and immediately after #.
1101
2003-09-14 Bruno Haible <bruno@clisp.org>
1103
* write-mo.c: Include fwriterror.h.
1104
(msgdomain_write_mo): Use fwriteerror, to get right errno value in
1105
error message about write error.
1106
* write-po.c: Include fwriterror.h.
1107
(msgdomain_list_print): Use fwriteerror, to get right errno value in
1108
error message about write error.
1109
* write-java.c: Include fwriterror.h.
1110
(msgdomain_write_java): Use fwriteerror, to get right errno value in
1111
error message about write error.
1112
* write-tcl.c: Include fwriterror.h.
1113
(msgdomain_write_tcl): Use fwriteerror, to get right errno value in
1114
error message about write error.
1116
2003-09-18 Bruno Haible <bruno@clisp.org>
1118
* xgettext.c (from_current_source_encoding): Use multiline_error,
1119
for a prettier error message.
1121
* x-perl.c (extract_quotelike_pass1): Store counter_delim instead of
1122
EOF as delimiter, to avoid error during from_current_source_encoding.
1123
Reported by Crispin Flowerday <cflowerday@zeus.com>.
1125
2003-09-13 Bruno Haible <bruno@clisp.org>
1127
* format-sh.c (INVALID_SHELL_SYNTAX,
1128
INVALID_CONTEXT_DEPENDENT_VARIABLE): New macros.
1129
(format_parse): Reject constructs like ${variable-default} and $?.
1131
2003-09-13 Bruno Haible <bruno@clisp.org>
1133
Fix behaviour of "<program> --help > /dev/full".
1134
* hostname.c: Include closeout.h.
1135
(main): Register close_stdout for execution at program exit.
1136
* msgattrib.c: Include closeout.h.
1137
(main): Register close_stdout for execution at program exit.
1138
* msgcat.c: Include closeout.h.
1139
(main): Register close_stdout for execution at program exit.
1140
* msgcmp.c: Include closeout.h.
1141
(main): Register close_stdout for execution at program exit.
1142
* msgcomm.c: Include closeout.h.
1143
(main): Register close_stdout for execution at program exit.
1144
* msgconv.c: Include closeout.h.
1145
(main): Register close_stdout for execution at program exit.
1146
* msgen.c: Include closeout.h.
1147
(main): Register close_stdout for execution at program exit.
1148
* msgexec.c: Include closeout.h.
1149
(main): Register close_stdout for execution at program exit.
1150
* msgfilter.c: Include closeout.h.
1151
(main): Register close_stdout for execution at program exit.
1152
* msgfmt.c: Include closeout.h.
1153
(main): Register close_stdout for execution at program exit.
1154
* msggrep.c: Include closeout.h.
1155
(main): Register close_stdout for execution at program exit.
1156
* msginit.c: Include closeout.h.
1157
(main): Register close_stdout for execution at program exit.
1158
* msgmerge.c: Include closeout.h.
1159
(main): Register close_stdout for execution at program exit.
1160
* msgunfmt.c: Include closeout.h.
1161
(main): Register close_stdout for execution at program exit.
1162
* msguniq.c: Include closeout.h.
1163
(main): Register close_stdout for execution at program exit.
1164
* urlget.c: Include closeout.h.
1165
(main): Register close_stdout for execution at program exit.
1166
* xgettext.c: Include closeout.h.
1167
(main): Register close_stdout for execution at program exit.
1168
* write-po.c (msgdomain_list_print): Don't fclose (stdout) here.
1170
2003-09-11 Bruno Haible <bruno@clisp.org>
1172
* po-lex.c (mbfile_getc): Handle unexpected return value of
1173
u8_mbtouc(). Reported by Jochen Hein <jochen@jochen.org>.
1175
2003-09-09 Bruno Haible <bruno@clisp.org>
1177
* read-properties.c (phase4_getuc): Cast line_number to 'unsigned long'
1178
before outputting it.
1180
2003-09-09 Bruno Haible <bruno@clisp.org>
1182
* po-lex.c: Test HAVE_DECL_GETC_UNLOCKED instead of HAVE_GETC_UNLOCKED.
1183
* write-po.c: Test HAVE_DECL_PUTC_UNLOCKED instead of
1186
2003-09-09 Guido Flohr <guido@imperia.net>
1188
* x-perl.c (extract_quotelike_pass3): Change \l handling to no longer
1189
eat up non-uppercase characters; likewise for \u. Also make \l and \u
1190
work on characters written using hex or octal escape sequence. Fix \Q
1191
handling. With option --extract-all, avoid "invalid variable
1192
interpolation" warnings.
1193
(x_perl_prelex): With option --extract-all, keep variables inside
1194
double-quoted strings untouched.
1196
2003-09-03 Bruno Haible <bruno@clisp.org>
1200
* xgettext.c: Include x-sh.h.
1201
(main): Call x_sh_extract_all, x_sh_keyword.
1202
(usage): Mention Shell language.
1203
(language_to_extractor): Add Shell rule.
1204
(extension_to_language): Add Shell rule.
1205
* Makefile.am (noinst_HEADERS): Add x-sh.h.
1206
(xgettext_SOURCES): Add x-sh.c.
1207
* Makefile.msvc (xgettext_OBJECTS): Add x-sh.obj.
1208
(x-sh.obj): New rule.
1209
* Makefile.vms (xgettext_OBJECTS): Add x-sh.obj.
1210
(x-sh.obj): New rule.
1212
2003-08-31 Bruno Haible <bruno@clisp.org>
1214
* format-sh.c: New file.
1215
* message.h (format_sh): New enum value.
1216
(NFORMATS): Increment.
1217
* format.h (formatstring_sh): New declaration.
1218
* format.c (formatstring_parsers): Add entry for sh.
1219
* message.c (format_language, format_language_pretty): Likewise.
1220
* Makefile.am (FORMAT_SOURCE): Add format-sh.c.
1221
* Makefile.msvc (OBJECTS): Add format-sh.obj.
1222
(format-sh.obj): New rule.
1223
* Makefile.vms (OBJECTS): Add format-sh.obj.
1224
(format-sh.obj): New rule.
1226
2003-08-31 Bruno Haible <bruno@clisp.org>
1228
* format-gcc-internal.c (isdigit): Remove unused macro.
1229
* format-perl-brace.c (isdigit): Likewise.
1231
2003-09-01 Guido Flohr <guido@imperia.net>
1233
* x-perl.c (extract_balanced): Access the global last_token.
1234
Initialize last_token and prefer_division_over_regexp here.
1235
(extract_perl): Not here.
1237
2003-08-29 Bruno Haible <bruno@clisp.org>
1239
* x-perl.c: Include getline.h.
1241
2003-08-24 Bruno Haible <bruno@clisp.org>
1243
* Makefile.msvc (format.obj, msgmerge.obj, xgettext.obj, msgattrib.obj,
1244
msgcat.obj, msgcomm.obj, msgconv.obj, msgen.obj, msgfilter.obj,
1245
msggrep.obj, msguniq.obj): Compile these in C++ mode. This works around
1246
the "non-constant initializer" error that we get for addresses of
1247
variables in DLLs in C mode.
1249
2003-08-24 Bruno Haible <bruno@clisp.org>
1251
* msgfilter.c (process_message): Cast xrealloc() result.
1253
2003-08-24 Bruno Haible <bruno@clisp.org>
1255
* msgfilter.c: On Windows, include <io.h> instead of <unistd.h>.
1256
* msggrep.c: Likewise.
1258
2003-08-24 Bruno Haible <bruno@clisp.org>
1260
* plural-count.h: New file.
1261
* plural-count.c: New file, extracted from msgmerge.c.
1262
* msgmerge.c: Include plural-count.h instead of plural-exp.h.
1263
(match_domain): Use function get_plural_count().
1264
* Makefile.am (noinst_HEADERS): Add plural-count.h.
1265
(msgmerge_SOURCES): Add plural-count.c.
1266
* Makefile.msvc (msgmerge_OBJECTS): Add plural-count.obj.
1267
(plural-count.obj): New rule.
1268
* Makefile.vms (msgmerge_OBJECTS): Add plural-count.obj.
1269
(plural-count.obj): New rule.
1271
2003-08-24 Bruno Haible <bruno@clisp.org>
1273
Support for building DLLs on Windows.
1274
* format.h (formatstring_c, formatstring_python, formatstring_lisp,
1275
formatstring_elisp, formatstring_librep, formatstring_smalltalk,
1276
formatstring_java, formatstring_awk, formatstring_pascal,
1277
formatstring_ycp, formatstring_tcl, formatstring_perl,
1278
formatstring_perl_brace, formatstring_php, formatstring_gcc_internal,
1279
formatstring_parsers): Add DLL_VARIABLE attribute.
1280
* message.h (format_language, format_language_pretty): Likewise.
1281
* msgl-cat.h (more_than, less_than, use_first, msgcomm_mode,
1282
omit_header): Likewise.
1283
* plural-table.h (plural_table, plural_table_size): Likewise.
1284
* po-charset.h (po_charset_ascii, po_charset_utf8, po_lex_charset,
1285
po_lex_iconv, po_lex_weird_cjk): Likewise.
1286
* po-lex.h (gram_pos, gram_pos_column, gram_max_allowed_errors,
1287
pass_obsolete_entries): Likewise.
1288
* read-po.h (line_comment, allow_duplicates, input_syntax): Likewise.
1289
* write-mo.h (alignment, no_hash_table): Likewise.
1290
* Makefile.am (po-gram-gen2.h): Likewise.
1292
2003-08-24 Bruno Haible <bruno@clisp.org>
1294
* Makefile.msvc (gettext-po.obj, gettextpo.lib, gettextpo.res): New
1296
(all): Depend on gettextpo.lib.
1297
(install, installdirs, uninstall): Install/uninstall gettext-po.h,
1298
gettextpo.dll and gettextpo.lib.
1299
* Makefile.vms (gettext-po.obj, gettextpo.olb): New rules.
1300
(all): Depend on gettextpo.olb.
1301
(install, installdirs, uninstall): Install/uninstall gettext-po.h,
1304
2003-08-24 Bruno Haible <bruno@clisp.org>
1306
* dir-list.h: Make this file includable in C++ mode: add extern "C".
1307
* file-list.h: Likewise.
1308
* format.h: Likewise.
1309
* message.h: Likewise.
1310
* msgl-ascii.h: Likewise.
1311
* msgl-cat.h: Likewise.
1312
* msgl-charset.h: Likewise.
1313
* msgl-english.h: Likewise.
1314
* msgl-equal.h: Likewise.
1315
* msgl-iconv.h: Likewise.
1316
* open-po.h: Likewise.
1317
* po-charset.h: Likewise.
1318
* po-lex.h: Likewise.
1319
* po-time.h: Likewise.
1320
* read-po-abstract.h: Likewise.
1321
* str-list.h: Likewise.
1322
* write-po.h: Likewise.
1323
* xgettext.h: Likewise.
1324
* read-po.h: Likewise.
1325
(this): Redefine to a different symbol.
1326
* xgettext.c: Add extern "C" around all "x-*.h" includes.
1328
2003-08-22 Bruno Haible <bruno@clisp.org>
1330
* format-awk.c: Include error-progname.h instead of progname.h.
1331
* format-c.c: Likewise.
1332
* format-elisp.c: Likewise.
1333
* format-gcc-internal.c: Likewise.
1334
* format-java.c: Likewise.
1335
* format-librep.c: Likewise.
1336
* format-lisp.c: Likewise.
1337
* format-pascal.c: Likewise.
1338
* format-perl.c: Likewise.
1339
* format-perl-brace.c: Likewise.
1340
* format-php.c: Likewise.
1341
* format-python.c: Likewise.
1342
* format-tcl.c: Likewise.
1343
* format-ycp.c: Likewise.
1344
* po-lex.h: Likewise.
1345
* read-properties.c: Likewise.
1346
* write-po.c: Likewise.
1347
* x-awk.c: Likewise.
1349
* x-perl.c: Likewise.
1350
* x-python.c: Likewise.
1351
* x-rst.c: Likewise.
1352
* hostname.c: Include error-progname.h.
1353
* msgattrib.c: Likewise.
1354
* msgcat.c: Likewise.
1355
* msgcmp.c: Likewise.
1356
* msgcomm.c: Likewise.
1357
* msgconv.c: Likewise.
1358
* msgen.c: Likewise.
1359
* msgexec.c: Likewise.
1360
* msgfilter.c: Likewise.
1361
* msgfmt.c: Likewise.
1362
* msggrep.c: Likewise.
1363
* msginit.c: Likewise.
1364
* msgmerge.c: Likewise.
1365
* msgunfmt.c: Likewise.
1366
* msguniq.c: Likewise.
1367
* urlget.c: Likewise.
1368
* xgettext.c: Likewise.
1369
* po-lex.c: Include error-progname.h and pos.h.
1371
2003-08-15 Bruno Haible <bruno@clisp.org>
1373
* msginit.c (catalogname_for_locale): Add entries for Aragonese,
1374
Haitian, Sichuan Yi, Limburgish.
1375
(englishname_of_language): Likewise.
1377
2003-08-08 Bruno Haible <bruno@clisp.org>
1379
* format-gcc-internal.c: New file.
1380
* message.h (format_gcc_internal): New enum value.
1381
(NFORMATS): Increment.
1382
* format.h (formatstring_gcc_internal): New declaration.
1383
* format.c (formatstring_parsers): Add entry for gcc_internal.
1384
* message.c (format_language, format_language_pretty): Likewise.
1385
* x-c.h (SCANNERS_C): Add an entry for GCC-source.
1386
* xgettext.c (usage): Mention GCC-source language.
1387
* Makefile.am (FORMAT_SOURCE): Add format-gcc-internal.c.
1388
* Makefile.msvc (OBJECTS): Add format-gcc-internal.obj.
1389
(format-gcc-internal.obj): New rule.
1390
* Makefile.vms (OBJECTS): Add format-gcc-internal.obj.
1391
(format-gcc-internal.obj): New rule.
1393
2003-08-04 Bruno Haible <bruno@clisp.org>
1395
* x-perl.c (extract_quotelike_pass3): Fix \x handling.
1396
Reported by Guido Flohr.
1398
2003-07-05 Bruno Haible <bruno@clisp.org>
1400
* format-perl-brace.c: Renamed from format-perl-bracket.c. Recognize
1401
braces instead of brackets.
1402
* format.h (formatstring_perl_brace): Renamed from
1403
formatstring_perl_bracket.
1404
* format.c (formatstring_parsers): Add formatstring_perl_brace, remove
1405
formatstring_perl_bracket.
1406
* message.h (enum format_type): Add format_perl_brace, remove
1407
format_perl_bracket.
1408
* message.c (format_language, format_language_pretty): Update.
1409
* x-perl.h (SCANNERS_PERL): Update.
1410
* Makefile.am (FORMAT_SOURCE): Add format-perl-brace.c, remove
1411
format-perl-bracket.c.
1412
* Makefile.msvc (OBJECTS): Add format-perl-brace.obj, remove
1413
format-perl-bracket.obj.
1414
(format-perl-brace.obj): Renamed from format-perl-bracket.obj.
1415
* Makefile.vms (OBJECTS): Add format-perl-brace.obj, remove
1416
format-perl-bracket.obj.
1417
(format-perl-brace.obj): Renamed from format-perl-bracket.obj.
1419
2003-07-03 Bruno Haible <bruno@clisp.org>
1421
Support for PHP >= 4.2.0.
1422
* x-php.c (init_keywords): Add ngettext, dngettext, dcngettext to the
1424
Reported by A. Sopicki <a.sopicki@gmx.de>.
1426
2003-06-27 Bruno Haible <bruno@clisp.org>
1428
* xgettext.h (from_current_source_encoding): New declaraction.
1429
* xgettext.c (from_current_source_encoding): New function.
1430
(CONVERT_STRING): Use it.
1431
* x-perl.c: Include po-charset.h.
1432
(get_here_document): Convert each line to UTF-8.
1433
(phase2_getc): Convert each comment to UTF-8. Tell xgettext_comment_add
1435
(extract_quotelike_pass1_utf8): New function.
1436
(extract_quotelike): Use extract_quotelike_pass1_utf8.
1437
(extract_triple_quotelike): Likewise.
1438
(extract_variable): Tell remember_a_message to not convert the string.
1439
(interpolate_keywords): Likewise.
1440
(extract_balanced): Tell remember_a_message, remember_a_message_plural
1441
to not convert the string.
1443
2003-06-23 Guido Flohr <guido@imperia.net>
1445
* x-perl.c (extract_quotelike_pass3): Fix handling of doubled
1446
backslashes in single-quoted strings.
1448
2003-06-23 Bruno Haible <bruno@clisp.org>
1450
* format-perl-bracket.c (format_check): Allow additional bracketed
1451
items in the msgstr.
1453
2003-06-22 Bruno Haible <bruno@clisp.org>
1455
* write-properties.c: Don't include exit.h and gettext.h.
1457
2003-06-22 Bruno Haible <bruno@clisp.org>
1459
* x-php.c (phase3_ungetc): Comment out unused function.
1461
2003-06-21 Bruno Haible <bruno@clisp.org>
1463
* format-perl.c: Complete rewrite.
1464
* format-perl-bracket.c: New file.
1465
* message.h (format_perl_bracket): New enum value.
1466
(NFORMATS): Increment.
1467
* format.h (formatstring_perl_bracket): New declaration.
1468
* format.c (formatstring_parsers): Add entry for perl_bracket.
1469
* message.c (format_language, format_language_pretty): Likewise.
1470
* x-perl.h (SCANNERS_PERL): Use formatstring_perl and
1471
formatstring_perl_bracket.
1472
* Makefile.am (FORMAT_SOURCE): Add format-perl-bracket.c.
1473
* Makefile.msvc (OBJECTS): Add format-perl.obj,format-perl-bracket.obj.
1474
(xgettext_OBJECTS): Add x-perl.obj.
1475
(format-perl.obj, format-perl-bracket.obj, x-perl.obj): New rules.
1476
* Makefile.vms (OBJECTS): Add format-perl.obj, format-perl-bracket.obj.
1477
(xgettext_OBJECTS): Add x-perl.obj.
1478
(format-perl.obj, format-perl-bracket.obj, x-perl.obj): New rules.
1480
* x-perl.c (extract_quotelike_pass3): Don't give an invalid
1481
interpolation error for a backslashed dollar sign.
1483
2003-06-21 Bruno Haible <bruno@clisp.org>
1485
* x-perl.c (extract_quotelike_pass3): Fix handling of double backslash.
1487
2003-06-19 Bruno Haible <bruno@clisp.org>
1489
* x-perl.c (enum string_type_ty): Remove trailing comma.
1490
(interpolate_keywords::enum parser_state): Likewise.
1491
(extract_quotelike_pass3): Cast first argument of u8_uctomb().
1493
2003-06-15 Bruno Haible <bruno@clisp.org>
1495
* x-awk.c: Reorder definitions.
1496
* x-c.c: Reorder definitions.
1497
* x-perl.c: Reorder definitions.
1498
* x-php.c: Reorder definitions.
1499
* x-python.c: Reorder definitions.
1500
* x-smalltalk.c: Reorder definitions.
1501
* x-ycp.c: Reorder definitions.
1503
2003-06-15 Bruno Haible <bruno@clisp.org>
1505
* x-perl.c (struct stack_entry): Remove type.
1506
(struct stack): Remove type.
1507
(struct token_stack_ty): New type.
1508
(token_stack): Change type to 'struct token_stack_ty'.
1509
(token_stack_dump): Renamed from stack_dump. Update.
1510
(token_stack_push): Renamed from stack_unshift. Rewritten.
1511
(token_stack_pop): Renamed from stack_shift. Rewritten.
1512
(token_stack_peek): Renamed from stack_head. Rewritten.
1513
(token_stack_free): Renamed from stack_free. Rewritten.
1514
(x_perl_lex, x_perl_unlex, extract_perl): Update.
1516
2003-06-15 Bruno Haible <bruno@clisp.org>
1518
* x-perl.c (DEBUG_MEMORY): Remove macro.
1519
(remember_a_message_debug, remember_a_message_plural_debug,
1520
xmalloc_debug, xrealloc_debug, xrealloc_static_debug, xstrdup_debug,
1521
free_debug): Remove functions.
1522
(xrealloc_static): Remove macro. Use xrealloc instead.
1524
2003-06-15 Bruno Haible <bruno@clisp.org>
1526
* x-awk.c (phase2_getc, x_awk_lex): Increase bufmax proportionally.
1527
* x-c.c (comment_add, comment_line_end, phase5_get, phase6_get):
1529
* x-elisp.c (comment_add, comment_line_end): Likewise.
1530
* x-librep.c (comment_add, comment_line_end): Likewise.
1531
* x-lisp.c (comment_add, comment_line_end): Likewise.
1532
* x-php.c (comment_add, comment_line_end, x_php_lex): Likewise.
1533
* x-python.c (comment_add, comment_line_end, phase5_get): Likewise.
1534
* x-rst.c (extract_rst): Likewise.
1535
* x-smalltalk.c (comment_add, comment_line_end, phase2_get): Likewise.
1536
* x-tcl.c (comment_add, comment_line_end): Likewise.
1537
* x-ycp.c (phase2_getc, x_ycp_lex): Likewise.
1539
2003-06-15 Bruno Haible <bruno@clisp.org>
1541
* xgettext.c (current_formatstring_parser1,
1542
current_formatstring_parser2): New variables, replacing
1543
current_formatstring_parser.
1544
(remember_a_message, remember_a_message_plural): Try both
1545
formatstring parsers.
1546
(language_to_extractor): Allow two formatstring parsers per language,
1548
* x-perl.h (SCANNERS_PERL): Add formatstring_c as secondary format
1550
* x-awk.h (SCANNERS_AWK): Update.
1551
* x-c.h (SCANNERS_C): Update.
1552
* x-elisp.h (SCANNERS_ELISP): Update.
1553
* x-glade.h (SCANNERS_GLADE): Update.
1554
* x-java.h (SCANNERS_JAVA): Update.
1555
* x-librep.h (SCANNERS_LIBREP): Update.
1556
* x-lisp.h (SCANNERS_LISP): Update.
1557
* x-php.h (SCANNERS_PHP): Update.
1558
* x-po.h (SCANNERS_PO): Update.
1559
* x-properties.h (SCANNERS_PROPERTIES): Update.
1560
* x-python.h (SCANNERS_PYTHON): Update.
1561
* x-rst.h (SCANNERS_RST): Update.
1562
* x-smalltalk.h (SCANNERS_SMALLTALK): Update.
1563
* x-tcl.h (SCANNERS_TCL): Update.
1564
* x-ycp.h (SCANNERS_YCP): Update.
1566
2003-06-15 Bruno Haible <bruno@clisp.org>
1568
* x-perl.c (case_whitespace): New macro.
1569
(is_whitespace): New function.
1570
(interpolate_keywords): Add lineno argument. Track newlines to update
1571
lineno while processing the string. Use is_whitespace.
1572
(extract_triple_quotelike): Update. Use is_whitespace.
1573
(extract_variable): Simplify: add final NUL byte only when done. Use
1575
(x_perl_prelex): Use is_whitespace. After reading a here document, use
1576
line_number+1, not line_number. Fix buffer overrun in <<XYZ handling.
1577
(collect_message): Use is_whitespace.
1578
(extract_balanced): Call free_token at the end of the loop, not at the
1581
2003-06-14 Bruno Haible <bruno@clisp.org>
1583
* x-perl.c (enum token_type_ty): Reorder, so as to simplify the
1584
function free_token().
1585
(struct token_ty): Fix comments.
1586
(token2string): Add const.
1587
(token_stack): Make static.
1588
(*_debug, stack_dump): Remove all fflushs.
1589
(linebuf, linesize, linepos, linebuf_size, last_token, here_eaten,
1590
end_of_file): Make static.
1591
(last_string, last_string_finished): Remove unused variables.
1592
(phase1_getc, get_here_document, skip_pod): Test getline() result
1593
for being < 0, not == EOF.
1594
(phase1_ungetc): Signal internal error through abort(), not exit().
1595
(get_here_document): Tweak. Increase bufmax proportionally.
1596
(phase2_getc): Increase bufmax proportionally.
1597
(prefer_division_over_regexp): Fix comment.
1598
(extract_hex, extract_oct): Add const. Simplify.
1599
(extract_quotelike): Add a safety check.
1600
(extract_quotelike_pass1): Increase bufmax proportionally. Fix
1601
insufficient memory allocation at "bufpos + len >= bufmax".
1602
(extract_quotelike_pass3): Increase bufmax proportionally. Make crs
1603
const. After \x{ABC} position crs after the closing brace. Simplify \c
1604
code. Reduce memory allocation when \N{ABC} is seen. Fix bug in \l and
1605
\u. Fix error message when $ or @ is seen.
1606
(extract_variable): Increase bufmax proportionally.
1607
(interpolate_keywords): Likewise. Convert c's value to unsigned char.
1608
(x_perl_prelex): Increase bufmax proportionally. Compute 4th argument
1609
to extract_triple_quotelike completely.
1610
(extract_perl): Initialize token_stack correctly.
1612
2003-06-13 Bruno Haible <bruno@clisp.org>
1614
* msgexec.c (process_string): Pass null_stderr=false.
1615
* msgfilter.c (process_string): Likewise.
1616
* msggrep.c (is_string_selected): Likewise.
1617
* read-java.c (execute_and_read_po_output): Likewise.
1618
* read-tcl.c (msgdomain_read_tcl): Likewise.
1619
* msginit.c (project_id, project_id_version, get_user_email,
1620
language_team_address): Return a default value if the subprocess
1621
fails, instead of exiting.
1623
2003-06-12 Bruno Haible <bruno@clisp.org>
1625
* Makefile.am (noinst_HEADERS): Add x-perl.h.
1626
(FORMAT_SOURCE): Add format-perl.c.
1627
(xgettext_SOURCES): Add x-perl.c.
1628
* message.h (enum format_type): Mention perl between tcl and php.
1629
* message.c (format_language, format_language_pretty): Likewise.
1630
* format.h (formatstring_perl): Likewise.
1631
* format.c (formatstring_parsers): Likewise.
1632
* format-perl.c: Use GNU coding style. Prefer xmalloc over xcalloc.
1633
* x-perl.h: Assume ANSI C.
1634
* x-perl.c: Assume ANSI C. Use GNU coding style. Prefer xmalloc over
1636
(token_buf): Remove unused variable.
1637
(xcalloc_debug, stack_push, stack_pop): Remove unused functions.
1638
* xgettext.c: Mention perl between tcl and php.
1640
2003-06-11 Guido Flohr <guido@imperia.net>
1642
* message.h (enum format_type): New enum value 'format_perl'.
1643
(NFORMATS): Increment.
1644
* message.c (format_language, format_language_pretty): Add entry
1646
* format.h (formatstring_perl): New declaration.
1647
* format-perl.c: New file.
1648
* format.c (formatstring_parsers): Add entry for perl.
1649
* x-perl.h: New file.
1650
* x-perl.c: New file.
1651
* xgettext.c: Include x-perl.h.
1652
(main): Call x_perl_extract_all, x_perl_keyword.
1653
(usage): Mention Perl language.
1654
(language_to_extractor): Add Perl rule.
1655
(extension_to_language): Add Perl rule.
1657
2003-06-08 Bruno Haible <bruno@clisp.org>
1659
* Makefile.vms (LDADD): Take options from .opt files.
1660
(libiconv.opt): New rule.
1661
(msgcmp.exe, msgfmt.exe, msgmerge.exe, msgunfmt.exe, xgettext.exe,
1662
msgattrib.exe, msgcat.exe, msgcomm.exe, msgconv.exe, msgen.exe,
1663
msgexec.exe, msgfilter.exe, msggrep.exe, msginit.exe, msguniq.exe):
1665
* plural-eval.c: Include "eval-plural.h" without a path, rely on the
1666
Makefile's -I options instead.
1667
* read-properties.c (conv_from_java): Change type of q to
1669
Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
1671
2003-05-27 Bruno Haible <bruno@clisp.org>
1673
* plural-table.c (plural_table): Correct entry for Slovak.
1674
Reported by Marcel Telka <marcel@telka.sk>.
1676
2003-05-24 Bruno Haible <bruno@clisp.org>
1678
* x-glade.h (EXTENSIONS_GLADE): Also recognize the .glade2 extension.
1679
* x-glade.c (start_element_handler): Also extract strings according to
1680
Glade 2 conventions.
1682
2003-05-22 Bruno Haible <bruno@clisp.org>
1684
* gettext-0.12.1 released.
1686
2003-05-21 Bruno Haible <bruno@clisp.org>
1688
* msggrep.c (main) [Solaris]: Fix syntax error.
1689
Reported by Valery Beaud <valery.beaud@art.alcatel.fr>.
1691
2003-05-21 Bruno Haible <bruno@clisp.org>
1693
* xgettext.c (output_syntax): New variable.
1695
(finalize_header): If --properties-output was given, set the charset.
1697
2003-05-18 Bruno Haible <bruno@clisp.org>
1699
* Makefile.msvc (DEBUGFLAGS): New variable.
1700
(gettextsrc.lib): Use it.
1701
(msgcmp.exe, msgfmt.exe, msgmerge.exe, msgunfmt.exe, xgettext.exe,
1702
msgattrib.exe, msgcat.exe, msgcomm.exe, msgconv.exe, msgen.exe,
1703
msgexec.exe, msgfilter.exe, msggrep.exe, msginit.exe, msguniq.exe):
1704
Use it, and MFLAGS too.
1706
2003-05-17 Bruno Haible <bruno@clisp.org>
1708
* gettext-0.12 released.
1710
2003-05-17 Bruno Haible <bruno@clisp.org>
1712
* Makefile.msvc (msgcmp.exe, msgfmt.exe, msgmerge.exe, msgunfmt.exe,
1713
msgattrib.exe, msgcat.exe, msgcomm.exe, msgconv.exe, msgen.exe,
1714
msgexec.exe, msgfilter.exe, msggrep.exe, msginit.exe, msguniq.exe):
1715
Link with iconv.lib, needed by intl.lib.
1717
2003-05-12 Bruno Haible <bruno@clisp.org>
1719
* msginit.c (F_OK): Provide a fallback value.
1720
Reported by Perry Rapp.
1722
2003-05-10 Bruno Haible <bruno@clisp.org>
1724
* msgl-iconv.c (iconv_string): Don't return -1 just because the string
1725
is longer than 4 KB.
1726
Reported by Denis Barbier <barbier@linuxfr.org>.
1728
2003-05-04 Bruno Haible <bruno@clisp.org>
1730
* po-lex.h (po_gram_error): Don't use ISO C 99 feature on DEC C.
1731
* po-lex.c (po_gram_error): LIkewise.
1733
2003-05-03 Bruno Haible <bruno@clisp.org>
1735
* msgfilter.c: Include <sys/select.h> also on EMX.
1736
Reported by Andreas Buening <andreas.buening@nexgo.de>.
1738
2003-04-26 Bruno Haible <bruno@clisp.org>
1740
* message.h (msgdomain_list_ty): Add field 'encoding'.
1741
* message.c (msgdomain_list_alloc): Initialize it.
1742
* read-properties.h: New file.
1743
* read-properties.c: New file.
1744
* read-po-abstract.h (abstract_po_reader_class_ty): In
1745
directive_message field, add force_fuzzy argument.
1746
(po_scan_start, po_scan_end): Remove declarations.
1747
(input_syntax_ty): New type.
1748
(po_callback_message): Add force_fuzzy argument.
1749
* read-po-abstract.c (call_directive_message, po_callback_message):
1750
Add force_fuzzy argument.
1751
(po_scan_start, po_scan_end): Make static.
1752
(po_scan): Add support for syntax_properties. Move
1753
error_message_count handling to here.
1754
(po_callback_message): Move po_lex_charset_set invocation away.
1755
* read-po.h (default_po_reader_class_ty): In add_message field, add
1756
force_fuzzy argument.
1757
(default_directive_message, default_add_message): Add force_fuzzy
1759
(inout_syntax): New declaration.
1760
* read-po.c (call_add_message): Add force_fuzzy argument.
1761
(default_directive_message, default_add_message): Likewise.
1762
(input_syntax): New variable.
1763
(read_po): Pass input_syntax to po_scan(). Set mdlp->encoding if
1765
* po-gram-gen.y: Pass force_fuzzy = false.
1766
(do_callback_message): New function. Move po_lex_charset_set
1768
* po-lex.c (lex_end): Move error_message_count handling away.
1769
* write-properties.h: New file.
1770
* write-properties.c: New file.
1771
* write-po.h (message_print_syntax_properties): New declaration.
1772
* write-po.c (use_syntax_properties): New variable.
1773
(message_print_syntax_properties): New function.
1774
(msgdomain_list_print_po): New function, extracted from
1775
msgdomain_list_print.
1776
(msgdomain_list_print): Add check for plural forms. Add support for
1777
writing the .properties format.
1778
(extract_po): Renamed from extract.
1779
* write-java.h (msgdomain_write_java): Add canon_encoding argument.
1780
* write-java.c (msgdomain_write_java): Likewise.
1781
* write-tcl.h (msgdomain_write_tcl): Likewise.
1782
* write-tcl.c (msgdomain_write_tcl): Likewise.
1783
* msgl-cat.c (catenate_msgdomain_list): Use mdlp->encoding if there
1784
is no header entry. Set total_mdlp->encoding if possible.
1785
* msgl-iconv.c (iconv_msgdomain_list): Use mdlp->encoding if there
1786
is no header entry. Set mdlp->encoding.
1787
* msgattrib.c (long_options): Add --properties-input/output.
1788
(main): Handle them.
1789
(usage): Document options -P and -p.
1790
* msgcat.c (long_options): Add --properties-input/output.
1791
(main): Handle them. If option -p is used, convert to UTF-8 and
1793
(usage): Document options -P and -p.
1794
* msgcomm.c (long_options): Add --properties-input/output.
1795
(main): Handle them.
1796
(usage): Document options -P and -p.
1797
* msgconv.c (long_options): Add --properties-input/output.
1798
(main): Handle them. If option -p is used, ignore the to_code.
1799
(usage): Document options -P and -p.
1800
* msgen.c (long_options): Add --properties-input/output.
1801
(main): Handle them.
1802
(usage): Document options -P and -p.
1803
* msgfilter.c (long_options): Add --properties-input/output.
1804
(main): Handle them.
1805
(usage): Document options -P and -p.
1806
* msggrep.c (long_options): Add --properties-input/output.
1807
(main): Handle them.
1808
(usage): Document options -P and -p.
1809
* msginit.c (long_options): Add --properties-input/output.
1810
(main): Handle them.
1811
(usage): Document options -P and -p.
1812
* msgmerge.c (long_options): Add --properties-input/output.
1813
(main): Handle them. In update mode, --properties-input implies
1814
--properties-output.
1815
(usage): Document options -P and -p.
1816
(merge): Set result->encoding if possible.
1817
* msguniq.c (long_options): Add --properties-input/output.
1818
(main): Handle them.
1819
(usage): Document options -P and -p.
1820
* msgcmp.c (long_options): Add --properties-input.
1822
(usage): Document option -P.
1823
* msgexec.c (long_options): Add --properties-input.
1825
(usage): Document option -P.
1826
* msgfmt.c (long_options): Add --properties-input.
1827
(main): Handle it. Pass the known canon_encoding to
1828
msgdomain_write_java and msgdomain_write_tcl.
1829
(usage): Document option -P.
1830
(msgfmt_add_message): Add force_fuzzy argument.
1831
(read_po_file_msgfmt): Pass input_syntax to po_scan().
1832
* msgunfmt.c (long_options): Add --properties-output.
1834
(usage): Document option -p.
1835
* x-properties.h: New file.
1836
* x-po.c (extract_add_message): Add force_fuzzy argument.
1837
(extract): Renamed from extract_po. Pass input_syntax to po_scan().
1838
(extract_po): New function.
1839
(extract_properties): New function.
1840
* xgettext.h: Include read-po.h.
1841
* xgettext.c (long_options): Add --properties-output.
1843
(usage): Document options -L JavaProperties and --properties-output.
1844
(exclude_directive_message): Add force_fuzzy argument.
1845
(read_exclusion_file): Pass input_syntax to po_scan().
1846
(table): Add support for .properties format.
1847
* Makefile.am (noinst_HEADERS): Add read-properties.h,
1848
write-properties.h, x-properties.h.
1849
(COMMON_SOURCE): Add read-properties.c.
1850
(libgettextsrc_la_SOURCES): Add write-properties.c.
1851
* Makefile.msvc (OBJECTS): Add read-properties.obj,
1852
write-properties.obj.
1853
(read-properties.obj, write-properties.obj): New rules.
1854
* Makefile.vms (OBJECTS): Add read-properties.obj,
1855
write-properties.obj.
1856
(read-properties.obj, write-properties.obj): New rules.
1859
2003-04-21 Bruno Haible <bruno@clisp.org>
1861
* read-po-abstract.h (po_scan_file): Remove declaration.
1862
* read-po-abstract.c (po_scan_file): Remove function.
1863
* read-po.c (read_po_file): Call read_po.
1864
* msgfmt.c (read_po_file_msgfmt): Call open_po_file. Invoke po_scan
1865
instead of po_scan_file.
1866
* xgettext.c (read_exclusion_file): Call open_po_file. Invoke po_scan
1867
instead of po_scan_file.
1869
2003-04-20 Bruno Haible <bruno@clisp.org>
1871
* open-po.h (open_po_file): Add argument 'exit_on_error'.
1872
* open-po.c (try_open_po_file): Renamed from open_po_file.
1873
(open_po_file): New function.
1874
* po-lex.h (lex_end): Change return type to void.
1875
(lex_open, lex_close): Remove declarations.
1876
* po-lex.c (lex_end): Change return type to void.
1877
(lex_open, lex_close): Remove functions.
1878
* read-po-abstract.c (po_scan_file): Inline lex_open and lex_close.
1881
2003-04-14 Bruno Haible <bruno@clisp.org>
1883
* hostname.c (usage): Split strings: use one string per option
1885
* msgattrib.c (usage): Likewise.
1886
* msgcat.c (usage): Likewise.
1887
* msgcmp.c (usage): Likewise.
1888
* msgcomm.c (usage): Likewise.
1889
* msgconv.c (usage): Likewise.
1890
* msgen.c (usage): Likewise.
1891
* msgexec.c (usage): Likewise.
1892
* msgfilter.c (usage): Likewise.
1893
* msgfmt.c (usage): Likewise.
1894
* msggrep.c (usage): Likewise.
1895
* msginit.c (usage): Likewise.
1896
* msgmerge.c (usage): Likewise.
1897
* msgunfmt.c (usage): Likewise.
1898
* msguniq.c (usage): Likewise.
1899
* urlget.c (usage): Likewise.
1900
* xgettext.c (usage): Likewise.
1902
2003-04-13 Bruno Haible <bruno@clisp.org>
1904
Unify three PO file parsers.
1905
* read-po-abstract.h: Renamed from po.h.
1906
(abstract_po_reader_class_ty): Renamed from po_method_ty.
1907
(abstract_po_reader_ty): Renamed from po_ty.
1908
(ABSTRACT_PO_READER_TY): Renamed from PO_BASE_TY.
1909
(po_reader_alloc): Renamed from po_alloc.
1910
(po_reader_free): Renamed from po_free.
1911
* read-po-abstract.c: Renamed from po.c.
1912
(po_reader_alloc): Renamed from po_alloc.
1913
(po_reader_free): Renamed from po_free.
1914
(call_parse_brief): Renamed from po_parse_brief.
1915
(call_parse_debrief): Renamed from po_parse_debrief.
1916
(call_directive_domain): Renamed from po_directive_domain.
1917
(call_directive_message): Renamed from po_directive_message.
1918
(call_comment): Renamed from po_comment.
1919
(call_comment_dot): Renamed from po_comment_dot.
1920
(call_comment_filepos): Renamed from po_comment_filepos.
1921
(call_comment_special): Renamed from po_comment_special.
1922
* read-po.h: Include read-po-abstract.h.
1923
(default_po_reader_class_ty, default_po_reader_ty): New types.
1924
(ABSTRACT_PO_READER_TY): New macro.
1925
(default_constructor, default_destructor, default_parse_brief,
1926
default_parse_debrief, default_directive_domain,
1927
default_directive_message, default_comment, default_comment_dot,
1928
default_comment_filepos, default_comment_special, default_set_domain,
1929
default_add_message): New declarations.
1930
(default_po_reader_alloc): New declaration.
1931
* read-po.c (default_po_reader_ty): Renamed from readall_class_ty.
1932
Add fields handle_comments, handle_filepos_comments,
1933
allow_domain_directives, allow_duplicates,
1934
allow_duplicates_if_same_msgstr.
1935
(call_set_domain, call_add_message, call_frob_new_message): New
1937
(default_constructor): Renamed from readall_constructor. Don't set
1938
this->mdlp and this->mlp.
1939
(default_destructor): Renamed from readall_destructor.
1940
(default_parse_brief): Renamed from readall_parse_brief.
1941
(default_parse_debrief): New function.
1942
(default_copy_comment_state, default_reset_comment_state): New
1944
(default_directive_domain): Renamed from readall_directive_domain.
1945
Call set_domain method.
1946
(default_directive_message): Renamed from readall_directive_message.
1947
Call add_message method.
1948
(default_comment): Renamed from readall_comment.
1949
(default_comment_dot): Renamed from readall_comment_dot.
1950
(default_comment_filepos): Renamed from readall_comment_filepos.
1951
(default_comment_special): Renamed from readall_comment_special.
1952
(default_set_domain, default_add_message): New functions.
1953
(default_methods): Renamed from readall_methods.
1954
(default_po_reader_alloc): New function.
1955
(read_po, read_po_file): Update.
1956
* msgfmt.c: Include read-po.h instead of po.h.
1957
(msgfmt_po_reader_ty): Renamed from msgfmt_class_ty. Inherit
1958
from default_po_reader_ty.
1959
(main): Drop po_lex_pass_comments call, done by default_parse_brief.
1960
(msgfmt_constructor): Renamed from format_constructor. Call superclass
1962
(msgfmt_parse_debrief): Renamed from format_debrief. Call superclass
1964
(format_directive_domain): Remove function.
1965
(msgfmt_set_domain): New function.
1966
(format_directive_message): Remove function.
1967
(msgfmt_add_message, msgfmt_frob_new_message): New functions.
1968
(msgfmt_comment_special): Renamed from format_comment_special.
1969
(msgfmt_methods): Renamed from format_methods.
1970
(read_po_file_msgfmt): Renamed from read_po_file.
1971
* x-po.c: Include read-po.h instead of po.h.
1972
(extract_class_ty, extract_constructor, extract_directive_domain,
1973
extract_directive_message, extract_parse_brief, extract_comment,
1974
extract_comment_dot, extract_comment_filepos, extract_comment_special):
1976
(extract_add_message): New function.
1977
(extract_methods): Update.
1978
(extract_po): Update.
1979
* xgettext.c: Include read-po-abstract.h instead of po.h.
1980
(exclude_directive_domain, exclude_directive_message, exclude_methods,
1981
read_exclusion_file): Update.
1982
* msgcmp.c: Don't include po.h.
1983
* msgmerge.c: Likewise.
1984
* po-gram-gen.y: Include read-po-abstract.h instead of po.h.
1985
* po-hash-gen.y: Likewise.
1986
(po_parse_comment_filepos): Renamed from po_hash.
1987
* po-hash.h (po_parse_comment_filepos): Renamed from po_hash.
1988
* Makefile.am (noinst_HEADERS): Remove po.h, add read-po-abstract.h.
1989
(COMMON_SOURCE): Remove po.c, add read-po-abstract.c.
1990
* Makefile.msvc (OBJECTS): Remove po.obj, add read-po-abstract.obj.
1991
(read-po-abstract.obj): Renamed from po.obj.
1992
* Makefile.vms (OBJECTS): Remove po.obj, add read-po-abstract.obj.
1993
(read-po-abstract.obj): Renamed from po.obj.
1995
2003-04-13 Bruno Haible <bruno@clisp.org>
1997
* read-po.c (readall_directive_message): Separate accumulation and
1999
* x-po.c (extract_directive_message): Likewise.
2001
2003-04-13 Bruno Haible <bruno@clisp.org>
2003
* write-po.h (message_print_comment, message_print_comment_dot,
2004
message_print_comment_filepos, message_print_comment_flags): New
2006
* write-po.c: Reorder functions.
2007
(message_print_comment, message_print_comment_dot,
2008
message_print_comment_filepos, message_print_comment_flags): New
2009
functions, extracted from message_print.
2010
(message_print): Use them.
2011
(message_print_obsolete): Use message_print_comment.
2013
2003-04-22 Bruno Haible <bruno@clisp.org>
2015
* plural-table.c (plural_table): Add an entry about Faroese.
2016
Reported by Jacob Sparre Andersen <sparre@crs4.it>.
2018
2003-04-13 Bruno Haible <bruno@clisp.org>
2020
* po.h (po_scan_start, po_scan_end): New declarations.
2021
* po.c: Reorder functions.
2022
(po_scan_start, po_scan_end): New functions.
2023
(po_scan, po_scan_file): Use them.
2025
2003-04-12 Bruno Haible <bruno@clisp.org>
2027
* Makefile.vms: New variables ABIFLAGS, DEFS. Avoid rules with no
2028
lines. Don't use the force target. Correct wildcard syntax.
2029
Suggested by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
2031
2003-04-13 Bruno Haible <bruno@clisp.org>
2033
* xgettext.c (construct_header): Remove spurious comma.
2035
2003-03-30 Bruno Haible <bruno@clisp.org>
2037
* Makefile.vms: New file.
2038
* Makefile.am (EXTRA_DIST): Add Makefile.vms.
2039
(x-java.c): Prepend a few VMS specific lines.
2040
* po-lex.c (mbfile_getc): Change element type of scatchbuf to
2042
* write-java.c (string_hashcode, write_java_string): Cast argument of
2044
* write-tcl.c (write_tcl_string): Likewise.
2045
* x-python.c (phase7_getuc): Cast argument of unicode_name_character.
2046
* msgfilter.c (write): #undef before redefining it. Needed for VMS.
2049
2003-03-30 Bruno Haible <bruno@clisp.org>
2051
* Makefile.am (noinst_HEADERS): Add po-gram-gen2.h.
2052
(BUILT_SOURCES): Add po-gram-gen2.h.
2053
(DISTCLEANFILES): Remove po-gram-gen2.h.
2054
(po-gram-gen2.h): Simplify rule.
2056
2003-03-17 Bruno Haible <bruno@clisp.org>
2058
Native Woe32/MSVC support.
2059
* Makefile.msvc: New file.
2060
* Makefile.am (EXTRA_DIST): Add it.
2061
* msgfilter.c: Include <sys/time.h> only if it exists.
2062
(process_string): Mark as NYI on Woe32.
2063
* msgfmt.c (sigjmp_buf, sigsetjmp, siglongjmp): Provide fallback
2064
definitions for Woe32.
2065
* msginit.c: Include <fcntl.h>, for F_OK. Include <pwd.h> only if it
2067
(get_user_pwd, get_user_fullname): Adapt for when <pwd.h> is missing.
2068
(project_id, project_id_version, get_user_email,
2069
language_team_address): Use DEV_NULL instead of "/dev/null".
2070
* msggrep.c (is_string_selected): Likewise.
2071
* read-java.c (execute_and_read_po_output): Likewise.
2072
* read-tcl.c (msgdomain_read_tcl): Likewise.
2073
* write-mo.c: Include <sys/param.h> only if it exists.
2075
2003-03-28 Bruno Haible <bruno@clisp.org>
2077
* msgmerge.c (main): Use copy_file_preserving instead of copy_file.
2079
2003-03-16 Bruno Haible <bruno@clisp.org>
2081
* str-list.h (string_list_join): Comment out.
2082
* str-list.c (string_list_join): Comment out.
2084
2003-03-10 Bruno Haible <bruno@clisp.org>
2086
* msggrep.c (no_pass): Mention option -C.
2087
(usage): Document option -C completely.
2088
Reported by Martin Quinson <Martin.Quinson@tuxfamily.org>.
2090
2003-02-28 Bruno Haible <bruno@clisp.org>
2092
Support for relocatable installation.
2093
* msgattrib.c: Include relocatable.h.
2094
(main): Relocate LOCALEDIR value.
2095
* msgcat.c: Include relocatable.h.
2096
(main): Relocate LOCALEDIR value.
2097
* msgcmp.c: Include relocatable.h.
2098
(main): Relocate LOCALEDIR value.
2099
* msgcomm.c: Include relocatable.h.
2100
(main): Relocate LOCALEDIR value.
2101
* msgconv.c: Include relocatable.h.
2102
(main): Relocate LOCALEDIR value.
2103
* msgen.c: Include relocatable.h.
2104
(main): Relocate LOCALEDIR value.
2105
* msgexec.c: Include relocatable.h.
2106
(main): Relocate LOCALEDIR value.
2107
* msgfilter.c: Include relocatable.h.
2108
(main): Relocate LOCALEDIR value.
2109
* msgfmt.c: Include relocatable.h.
2110
(main): Relocate LOCALEDIR value.
2111
* msggrep.c: Include relocatable.h.
2112
(main): Relocate LOCALEDIR value.
2113
* msginit.c: Include relocatable.h.
2114
(main): Relocate LOCALEDIR value.
2115
(project_id, project_id_version, get_user_email): Relocate LIBDIR
2117
(language_team_address): Relocate LIBDIR and PROJECTSDIR values.
2118
* msgmerge.c: Include relocatable.h.
2119
(main): Relocate LOCALEDIR value.
2120
* msgunfmt.c: Include relocatable.h.
2121
(main): Relocate LOCALEDIR value.
2122
* msguniq.c: Include relocatable.h.
2123
(main): Relocate LOCALEDIR value.
2124
* xgettext.c: Include relocatable.h.
2125
(main): Relocate LOCALEDIR value.
2126
* read-java.c: Include relocatable.h.
2127
(msgdomain_read_java): Relocate GETTEXTJEXEDIR value.
2128
* read-tcl.c: Include relocatable.h.
2129
(msgdomain_read_tcl): Relocate GETTEXTDATADIR value.
2130
* hostname.c: Include relocatable.h.
2131
(main): Relocate LOCALEDIR value. Update copyright year.
2132
* urlget.c: Include relocatable.h.
2133
(main): Relocate LOCALEDIR value. Update copyright year.
2134
(fetch): Relocate GETTEXTJEXEDIR value.
2135
* user-email.in: Relocate $libdir.
2136
* Makefile.am (aliaspath): New variable.
2137
(DEFS): Define LOCALE_ALIAS_PATH.
2138
(msginit_SOURCES): Add .../localealias.c.
2139
(msginit_LDADD): Remove .../localealias.lo.
2140
(msgcmp_CFLAGS, msgfmt_CFLAGS, msgmerge_CFLAGS, msgunfmt_CFLAGS,
2141
xgettext_CFLAGS, msgattrib_CFLAGS, msgcat_CFLAGS, msgcomm_CFLAGS,
2142
msgconv_CFLAGS, msgen_CFLAGS, msgexec_CFLAGS, msgfilter_CFLAGS,
2143
msggrep_CFLAGS, msginit_CFLAGS, msguniq_CFLAGS, hostname_CFLAGS,
2144
urlget_CFLAGS): New variables.
2145
(msgcmp_LDFLAGS, msgfmt_LDFLAGS, msgmerge_LDFLAGS, msgunfmt_LDFLAGS,
2146
xgettext_LDFLAGS, msgattrib_LDFLAGS, msgcat_LDFLAGS, msgcomm_LDFLAGS,
2147
msgconv_LDFLAGS, msgen_LDFLAGS, msgexec_LDFLAGS, msgfilter_LDFLAGS,
2148
msggrep_LDFLAGS, msginit_LDFLAGS, msguniq_LDFLAGS, hostname_LDFLAGS,
2149
urlget_LDFLAGS): New variables.
2150
(install-exec-java-yes): Don't ignore INSTALL_PROGRAM_ENV.
2151
(RELOCATABLE_LIBRARY_PATH, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR,
2152
RELOCATABLE_CONFIG_H_DIR): New variables.
2154
2003-03-13 Bruno Haible <bruno@clisp.org>
2156
* msggrep.c (main): On Solaris, prefer /usr/xpg4/bin/grep to
2157
/usr/bin/grep. Needed for Solaris 2.8 and 2.9.
2158
Reported by Sven Utcke <utcke@informatik.uni-hamburg.de>.
2160
2003-03-03 Bruno Haible <bruno@clisp.org>
2162
* msgen.c (usage): Don't say that the entries are marked fuzzy.
2163
Reported by Karl Eichwalder <ke@suse.de>.
2165
2003-02-23 Bruno Haible <bruno@clisp.org>
2167
Improve error messages for invalid format strings.
2168
* format-invalid.h: New file.
2169
* format.h (struct formatstring_parser): Add invalid_reason argument
2171
* format-awk.c: Include c-ctype.h, xerror.h, format-invalid.h.
2172
(format_parse): Add invalid_reason argument.
2173
* format-c.c: Include c-ctype.h, xerror.h, format-invalid.h.
2174
(INVALID_C99_MACRO): New macro.
2175
(format_parse): Add invalid_reason argument.
2176
(get_c99_format_directives): Update.
2177
* format-elisp.c: Include c-ctype.h, xerror.h, format-invalid.h.
2178
(format_parse): Add invalid_reason argument.
2179
* format-java.c: Include xerror.h, format-invalid.h.
2180
(message_format_parse, choice_format_parse, format_parse): Add
2181
invalid_reason argument.
2182
(choice_format_parse): Return false if a choice contains an empty
2184
* format-librep.c: Include c-ctype.h, xerror.h, format-invalid.h.
2185
(format_parse): Add invalid_reason argument.
2186
* format-lisp.c: Include xerror.h, format-invalid.h.
2187
(check_params, nocheck_params): Add directives, invalid_reason
2189
(parse_upto, format_parse): Add invalid_reason argument.
2190
* format-pascal.c: Include xerror.h, format-invalid.h.
2191
(format_parse): Add invalid_reason argument.
2192
* format-php.c: Include c-ctype.h, xerror.h, format-invalid.h.
2193
(format_parse): Add invalid_reason argument.
2194
* format-python.c: Include c-ctype.h, xerror.h, format-invalid.h.
2195
(INVALID_MIXES_NAMED_UNNAMED): New macro.
2196
(format_parse): Add invalid_reason argument.
2197
* format-tcl.c: Include c-ctype.h, xerror.h, format-invalid.h.
2198
(format_parse): Add invalid_reason argument.
2199
* format-ycp.c: Include c-ctype.h, xerror.h, format-invalid.h.
2200
(format_parse): Add invalid_reason argument.
2201
* msgfmt.c (check_pair): Output invalid_reason returned for msgstr.
2202
* msgmerge.c (msgfmt_check_pair_fails): Update.
2203
* xgettext.c (remember_a_message, remember_a_message_plural): Update.
2204
* Makefile.am (FORMAT_SOURCE): Add format-invalid.h.
2206
2003-02-22 Bruno Haible <bruno@clisp.org>
2208
* x-python.c (init_keywords): Add u*gettext variants and plural
2209
handling functions added in Python 2.3.
2211
2003-02-22 Bruno Haible <bruno@clisp.org>
2213
* Makefile.am (installdirs): Remove dependency, redundant with
2216
2003-02-20 Bruno Haible <bruno@clisp.org>
2218
* Makefile.am (libgettextpo_la_DEPENDENCIES): New variable.
2219
Reported by Jim Meyering <jim@meyering.net>.
2221
2003-02-19 Bruno Haible <bruno@clisp.org>
2223
* Makefile.am (xgettext_LDADD): Mention $(LIBUNINAME) before
2224
libgettextsrc.la, not after it. Needed avoid link error on OSF/1 4.0:
2225
libtool produces a link command line that contains "-lc" where a
2226
shared library was used, and on OSF/1 4.0 "-lc" must not be used
2227
before objects that use integer division.
2229
2003-02-18 Bruno Haible <bruno@clisp.org>
2231
* message.c (msgdomain_list_free): Uncomment this function.
2232
* Makefile.am (libgettextpo_la_LDFLAGS): Add ../lib/libgettextlib.la.
2233
Needed for Solaris 2.7.
2235
2003-02-16 Bruno Haible <bruno@clisp.org>
2237
* msgmerge.c (message_merge): Add support for Report-Msgid-Bugs-To
2239
* xgettext.c (msgid_bugs_address): New variable.
2240
(long_options): Add option --msgid-bugs-address.
2241
(main): Handle option --msgid-bugs-address.
2242
(usage): Document option --msgid-bugs-address.
2243
(construct_header): Add 'Report-Msgid-Bugs-To:' field. Warn if
2244
msgid_bugs_address is empty.
2246
2003-02-15 Bruno Haible <bruno@clisp.org>
2248
* user-email.in: Add support for GNOME evolution, OpenOffice and
2249
StarOffice with nonstandard installation directory.
2251
2003-02-15 Bruno Haible <bruno@clisp.org>
2253
* msgattrib.c (main): Update year in --version output.
2254
* msgcat.c (main): Likewise.
2255
* msgcmp.c (main): Likewise.
2256
* msgcomm.c (main): Likewise.
2257
* msgconv.c (main): Likewise.
2258
* msgen.c (main): Likewise.
2259
* msgexec.c (main): Likewise.
2260
* msgfilter.c (main): Likewise.
2261
* msgfmt.c (main): Likewise.
2262
* msgunfmt.c (main): Likewise.
2263
* msguniq.c (main): Likewise.
2264
* xgettext.c (main): Likewise.
2266
2003-02-12 Bruno Haible <bruno@clisp.org>
2269
* gettext.c: Remove file.
2270
* ngettext.c: Remove file.
2271
* Makefile.am (bin_PROGRAMS): Remove gettext, ngettext.
2272
(EXTRA_DIST): Add ChangeLog.0.
2273
(pkgdatadir): Define using 'gettext' instead of @PACKAGE@.
2274
(pkglibdir): Likewise.
2275
(INCLUDES): Refer to intl in gettext-runtime directory.
2276
(gettext_SOURCES, ngettext_SOURCES, gettext_LDADD, ngettext_LDADD):
2278
(install-exec-local, installdirs-local, uninstall-local,
2279
install-exec-java-yes, installdirs-java-yes, uninstall-java-yes): Use
2280
$(pkglibdir) instead of $(libdir)/$(PACKAGE).
2281
* plural.c: Update for changed directory structure.
2282
* user-email.in: Use 'gettext' instead of @PACKAGE@.
2285
See ChangeLog.0 for earlier changes.