Import upstream version 1.6
[platform/upstream/gzip.git] / ChangeLog
1 2013-06-09  Jim Meyering  <meyering@fb.com>
2
3         version 1.6
4         * NEWS: Record release date.
5
6         build: avoid automake warning that suggests use of subdir-objects
7         * configure.ac (AM_INIT_AUTOMAKE): Use the subdir-objects option.
8
9         build: avoid warning about deprecated use of automake's ACLOCAL_AMFLAGS
10         * Makefile.am (ACLOCAL_AMFLAGS): Don't use this deprecated variable.
11         * configure.ac: Do this instead: AC_CONFIG_MACRO_DIR([m4]).
12
13         build: use more portable shell syntax in search of working shell
14         * m4/shell.m4: Adjust sh/case syntax not to evoke a syntax
15         error from Solaris 10's /bin/sh.
16
17         build: update gnulib to latest, and bootstrap
18
19 2013-05-28  Jim Meyering  <meyering@fb.com>
20
21         tests: exercise the new --keep option
22         * tests/keep: New file.
23         * tests/Makefile.am (TESTS): Add it.
24
25 2013-05-28  Rodrigo Campos  <rodrigo@sdfg.com.ar>
26
27         gzip: add "--keep" option to retain (don't delete) input files
28         gzip now accepts the --keep (-k) option, for consistency with tools
29         like xz, lzip and bzip2.  With this option, gzip no longer removes
30         named input files when compressing and decompressing.
31         * doc/gzip.texi: Document it.
32         * gzip.1: Likewise.
33         * gunzip.in: Likewise.
34         * NEWS: Likewise.
35         * gzip.c: Add support for "--keep".
36
37 2013-04-15  Paul Eggert  <eggert@cs.ucla.edu>
38
39         tests: redo patch for non-GNU gzip installed in /usr/local/bin
40         Problem with previous patch reported by Antonio Diaz Diaz in
41         <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00011.html>.
42         * tests/help-version (gunzip_setuphelp, gzexe_setuphelp)
43         (zcat_setuphelp, zcmp_setuphelp, zdiff_setuphelp)
44         (zegrep_setuphelp, zfgrep_setuphelp, zforce_setuphelp)
45         (zgrep_setuphelp, zless_setuphelp, zmore_setuphelp)
46         (znew_setuphelp): New functions, used when testing even --help.
47         (zdiff_setup, zcat_setup, znew_setup, zgrep_setup, gzexe_setup):
48         Use gzip_setuphelp to set --__bindir.
49
50 2013-04-10  Paul Eggert  <eggert@cs.ucla.edu>
51
52         tests: work even if non-GNU gzip is installed in /usr/local/bin
53         Problem reported by Antonio Diaz Diaz in
54         <http://lists.gnu.org/archive/html/bug-gzip/2013-04/msg00004.html>.
55         * tests/help-version (zdiff_setup, zcat_setup, znew_setup, zgrep_setup)
56         (gzexe_setup): Pass --__bindir so that subsidiary programs are our
57         own's, not /usr/local/bin's.  This requires using 'eval' on the result.
58         (zcmp_setup, gunzip_setup, zmore_setup, zless_setup, zforce_setup)
59         (zegrep_setup, zfgrep_setup): Invoke one of the other setup functions,
60         to make the patterns more obvious and simplify future maintenance.
61         * zcmp.in, zegrep.in, zfgrep.in: Pass __bindir to subsidiary program.
62
63         maint: adjust to Gnulib, Automake changes
64         * .gitignore: Add *.trs.
65         * lib/.gitignore: Add unused-parameter.h.
66
67         tests: port to Solaris 10 /bin/sh
68         * tests/Makefile.am (TESTS_ENVIRONMENT):
69         Use "FOO=val; export FOO" rather than "export FOO=val",
70         as the latter form doesn't work with Solaris /bin/sh.
71
72 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73
74         gzip: port to DMF file systems
75         * util.c (read_buffer): When reading a file with O_NONBLOCK, if
76         the read fails with errno==EAGAIN, clear O_NONBLOCK and try again.
77         Problem reported by Vitezslav Cizek in
78         <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00030.html>.
79
80 2013-02-05  Paul Eggert  <eggert@cs.ucla.edu>
81
82         gzip: fix bug where you say "n" and gzip acts as if you said "y"
83         Problem reported for GCC 4.7 x86-64 -O2 by Allan McRae in
84         <http://lists.gnu.org/archive/html/bug-gzip/2013-02/msg00000.html>.
85         * NEWS: Document this.  Use consistent format in earlier note.
86         * gzip.c: Include yesno.h.
87         * gzip.h (yesno): Remove decl; that's yesno.h's job.
88
89 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
90
91         maint: adjust to Gnulib changes
92         * lib/.gitignore: Add glthread, math.c, unistd.c, wctype-h.c.
93         * m4/.gitignore: Remove inline.m4.
94
95 2013-01-04  Jim Meyering  <jim@meyering.net>
96
97         maint: update all copyright year number ranges
98         Run "make update-copyright".
99
100         build: update gnulib submodule to latest
101
102 2012-12-10  Paul Eggert  <eggert@cs.ucla.edu>
103
104         diagnose unexpected EOF and zero lengths in packed data
105         Problem reported by Aki Helin.
106         * NEWS: Mention Aki's reports.
107         * tests/unpack-invalid: New file,
108         with test data suggested by Aki.
109         * tests/Makefile.am (TESTS): Add it.
110         * unpack.c (read_byte): New function.
111         (look_bits, read_tree): Use it.
112         (read_tree): Check against zero bit length Huffman code.
113
114         gzip: diagnose invalid code in packed data
115         * unpack.c (unpack): When encountering a code out of range, report
116         it and fail rather than charging ahead with randomish output.
117         Problem reported by Aki Helin.
118
119 2012-11-16  Jim Meyering  <jim@meyering.net>
120
121         maint: avoid new syntax-check failures
122         * cfg.mk (_gl_TS_unmarked_extern_vars): Append nice_match, to avoid
123         false-positive syntax-check failure on i686.
124         * gzip.c (SIGPIPE): Remove definition.  Now always provided via gnulib.
125         * lib/.gitignore: xsize.c, added by gnulib-tool.
126
127 2012-11-16  Paul Eggert  <eggert@cs.ucla.edu>
128
129         gzip: fix debugging/porting typo
130         * unlzw.c (unlzw) [DEBUG]: Don't assume 'long' can be printed with %d.
131
132         maint: merge build improvements from coreutils
133         * configure.ac: Invoke gl_ASSERT_NO_GNULIB_POSIXCHECK.
134         (--enable-gcc-warnings): Change help message.
135         (gl_GCC_VERSION_IFELSE): New macro.
136         Do not omit -Wunused-macros for main code.
137         Adjust other -W options as per coreutils.
138         * lib/Makefile.am (AM_CFLAGS): Use GNULIB_WARN_CFLAGS, not WARN_CFLAGS.
139         * unlzw.c (REGISTERS, REG1, REG2, ..., REG16): Remove.
140         All uses removed.  These provoked -Wunused-macros warnings.
141         This sort of fiddling with registers hasn't been needed for years.
142
143         build: update gnulib submodule to latest
144
145         maint: port to platforms lacking SIGPIPE
146         * gzip.c (SIGPIPE): Define to 0 if not already defined.
147
148         doc: bring up to date and fix troff typos
149         * doc/gzip.texi (Overview): Update RFC URLs.
150         * gzip.1: Likewise.  Don't say "SEE ALSO" to programs that almost
151         nobody has installed anymore.
152         * gzip.1, zmore.1: Fix some troff typos.
153         * zdiff.1: Clarify what happens with input files.  Don't talk
154         about temporary file names, as they're rarely used these days.
155
156 2012-10-24  Paul Eggert  <eggert@cs.ucla.edu>
157
158         tests: exercise the grep -e portability fix
159         Remove workaround for Solaris, since the bug should be fixed now.
160         Suggested by Petr Sumbera in
161         <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00005.html>.
162         * tests/zgrep-context, tests/zgrep-f: All uses removed.
163         * tests/init.cfg (require_POSIX_grep_): Remove.
164
165 2012-10-23  Eric Blake  <eblake@redhat.com>
166
167         build: default to --enable-gcc-warnings in a git tree
168         Anyone building from cloned sources can be assumed to have a new
169         enough environment, such that enabling gcc warnings by default will
170         be useful.  Tarballs still default to no warnings, and the default
171         can still be overridden with --disable-gcc-warnings.
172         * configure.ac (gl_gcc_warnings): Set default based on environment.
173
174 2012-10-20  Paul Eggert  <eggert@cs.ucla.edu>
175
176         zgrep: do not assume standard 'grep' has -e
177         On Solaris 11, /usr/bin/grep -e does not work.
178         Problem reported by Petr Sumbera in
179         <http://lists.gnu.org/archive/html/bug-gzip/2012-10/msg00003.html>.
180         * Makefile.am (.in): Substitute @GREP@.
181         * configure.ac (AC_PROG_GREP): Invoke.
182         * zgrep.in (grep): Use @GREP@.
183
184 2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
185
186         zgrep: do not assume GNU expr
187         * zgrep.in: Do not assume '\+' has the GNU behavior in the BRE
188         given to 'expr', as POSIX does not guarantee that.  Come to think
189         of it, use a shell pattern rather than 'expr', as this is more
190         efficient.
191
192 2012-08-08  Jim Meyering  <meyering@redhat.com>
193
194         tests: exercise the just-fixed part of zgrep
195         * tests/zgrep-context: New file.
196         * tests/Makefile.am (TESTS): Add it.
197
198 2012-08-08  Jim Meyering  <meyering@redhat.com>
199
200         zgrep: handle a multi-digit context option like -15
201         * zgrep.in: Do not malfunction when given an option like -15.
202         Before, it could end up treating the pattern as a file name:
203
204           $ echo x | gzip | zgrep -15 x
205           gzip: x.gz: No such file or directory
206
207         * NEWS (Bug fixes): Mention it.
208         Reported by Dan Bloch via Thomas Bushnell in
209         https://bugs.launchpad.net/bugs/1032831
210
211 2012-08-07  Jim Meyering  <meyering@redhat.com>
212
213         build: update gnulib, bootstrap and init.sh
214
215         maint: fix misspellings in old ChangeLog and NEWS
216         * ChangeLog-2007: s/Supress/Suppress/
217         * NEWS: Likewise.
218         * cfg.mk (old_NEWS_hash): Update to match typo fix.
219
220 2012-06-19  Paul Eggert  <eggert@cs.ucla.edu>
221
222         zmore: rewrite to fix bugs and assume POSIX
223         Problem reported for Solaris 9 by Daniel in
224         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00007.html>.
225         Rather than figure out what exactly went wrong in Solaris 9
226         it was easier to rip out all the buggy compatibility and stty cruft.
227         * zmore.in: Don't use stty or trap; simply pipe the output to 'more'
228         and let it deal with signals and terminal control.
229         Use printf, not 'echo', to avoid problems with backslashes.
230         Don't assume ANS is not 's' in the environment.
231         Use a 'more'-style header instead of rolling our own style.
232         Paginate the header, too; the old behavior lost the header.
233         * NEWS, zmore.1: Document this.
234
235 2012-06-17  Jim Meyering  <meyering@redhat.com>
236
237         maint: add .mailmap
238         * .mailmap: New file.  Unify two spellings of Paul's name,
239         to make git log output slightly cleaner.
240
241         maint: post-release administrivia
242         * NEWS: Add header line for next release.
243         * .prev-version: Record previous version.
244         * cfg.mk (old_NEWS_hash): Auto-update.
245
246         version 1.5
247         * NEWS: Record release date.
248
249         build: update gnulib for fixed maint.mk
250
251         build: update gnulib submodule; bootstrap and init.sh, too
252         * cfg.mk: Exempt crufty tailor.h from its use of "#define off_t...".
253         * .gitignore, m4/.gitignore: Update semi-automatically (via bootstrap).
254
255 2012-04-24  Paul Eggert  <eggert@cs.ucla.edu>
256
257         doc: document -rf change
258         * NEWS: Document the ZFS fix.
259
260         gzip: remove CLOSEDIR
261         * gzip.c (CLOSEDIR): Remove; no longer used.
262
263         gzip: port gzip -rf to ZFS
264         Problem reported privately by Rich Burridge.
265         * bootstrap.conf: Add savedir.
266         * gzip.c: Include <savedir.h>.
267         (_D_EXACT_NAMELEN): Remove.
268         (treat_dir): Use savedir rather than reading directory entries one
269         at a time, to avoid revisiting an already-compressed file when using
270         ZFS and the -rf flags are specified.
271         * lib/.gitignore, m4/.gitignore: Ignore savedir-related files.
272
273 2012-03-18  Paul Eggert  <eggert@cs.ucla.edu>
274
275         gzip: fix nondeterministic compression results
276         Reported by Jakub Wilk in <http://bugs.debian.org/647522>.
277         * deflate.c (fill_window): Don't let garbage pollute the dictionary.
278
279 2012-01-11  Jim Meyering  <meyering@redhat.com>
280
281         tests: make all test scripts executable; work with automake-1.12
282         * tests/Makefile.am (TESTS_ENVIRONMENT): Adapt to work with upcoming
283         automake-1.12.
284         * tests/mixed: Make executable.
285         * tests/zgrep-f: Likewise.
286         * tests/zgrep-signal: Likewise.
287         * tests/znew-k: Likewise.
288
289         build: accommodate newer bootstrap from gnulib
290         * bootstrap.conf (gnulib_tool_option_extras): Add both --symlink
291         and --makefile-name=gnulib.mk.
292         * bootstrap: Update from gnulib.
293         * tests/init.sh: Update from gnulib.
294         * lib/Makefile.am: Initialize all of the following so that
295         generated code in gnulib.mk may use += to append to those variables:
296         AM_CFLAGS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST, MOSTLYCLEANDIRS,
297         MOSTLYCLEANFILES, SUFFIXES, noinst_LTLIBRARIES.
298
299 2012-01-01  Jim Meyering  <meyering@redhat.com>
300
301         maint: update all copyright year number ranges
302         Run "make update-copyright".
303
304 2011-12-21  Paul Eggert  <eggert@cs.ucla.edu>
305
306         zless: decompress stdin too, if less 429 or later
307         * zless.in: Use LESSOPEN |- feature of less 429 or later.
308         Problem reported by Jeroen Roovers via Mike Frysinger in
309         <http://lists.gnu.org/archive/html/bug-gzip/2011-12/msg00006.html>.
310
311 2011-11-29  Jim Meyering  <meyering@redhat.com>
312
313         build: update gnulib submodule to latest
314
315         build: accommodate gnulib's new warnings with --enable-gcc-warnings
316         * configure.ac (WERROR_CFLAGS): Disable two new warnings:
317         -Wno-format-nonliteral, -Wno-unsuffixed-float-constants.
318         * gzip.h (bi_reverse): Declare with _GL_ATTRIBUTE_CONST.
319         (gzip_base_name): Declare with _GL_ATTRIBUTE_PURE.
320
321 2011-11-29  Jim Meyering  <meyering@redhat.com>
322
323         tests: use "compare exp out", not "compare out exp"
324         Likewise, when an empty file is expected, use "compare /dev/null out",
325         not "compare out /dev/null". I.e., specify the expected/desired contents
326         via the first file name.  Prompted by a suggestion from Bruno Haible
327         in http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020/focus=29154
328
329         Run these commands:
330
331             git grep -l -E 'compare [^ ]+ exp' \
332               |xargs perl -pi -e 's/\b(compare) (\S+) (exp\S*)/$1 $3 $2/'
333             git grep -l -E 'compare [^ ]+ /dev/null' \
334               |xargs perl -pi -e 's,\b(compare) (\S+) (/dev/null),$1 $3 $2,'
335
336 2011-11-05  Jim Meyering  <meyering@redhat.com>
337
338         build: update gnulib submodule to latest
339
340 2011-11-02  Paul Eggert  <eggert@cs.ucla.edu>
341
342         * tests/zgrep-signal: Don't assume exit status 141 on PIPE signal.
343         Problem reported by Eric Blake in
344         <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00007.html>.
345
346         * tests/zgrep-signal: Use perl instead of a nonportable shell trap.
347         Problem reported by Eric Blake in
348         <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00005.html>.
349
350         * tests/zgrep-signal: Test for Fedora 15 signal bug.
351         Also, don't assume that SIGPIPE is SIG_DFL on entry.
352
353 2011-11-02  Jim Meyering  <meyering@redhat.com>
354
355         build: update gnulib submodule to latest
356
357         tests: mixed: correct size-enumeration logic
358         * tests/mixed (sizes): Fix misplaced "&& break" that made us test
359         only with a size of 0, rather than all sizes in 0..64.
360
361         maint: avoid "make syntax-check" failure
362         * gzip.c (treat_stdin): Indent with spaces, not TABs.
363
364 2011-11-02  Paul Eggert  <eggert@cs.ucla.edu>
365
366         * gzip.c (treat_stdin): If quiet, be quiet with plain gzip -q.
367         Problem reported by Michaël Guitton in
368         <http://lists.gnu.org/archive/html/bug-gzip/2011-11/msg00000.html>.
369
370 2011-08-10  Jim Meyering  <meyering@redhat.com>
371
372         maint: remove amiga, atari, msdos, nt, os2, vms sub-directories,
373         and all files therein.  This was proposed months prior, and no
374         one objected.
375         * amiga/Makefile.gcc: Remove file.
376         * amiga/Makefile.sasc: Likewise.
377         * amiga/match.a: Likewise.
378         * amiga/tailor.c: Likewise.
379         * amiga/utime.h: Likewise.
380         * atari/Makefile.st: Likewise.
381         * msdos/Makefile.bor: Likewise.
382         * msdos/Makefile.djg: Likewise.
383         * msdos/Makefile.msc: Likewise.
384         * msdos/doturboc.bat: Likewise.
385         * msdos/gzip.prj: Likewise.
386         * msdos/match.asm: Likewise.
387         * msdos/tailor.c: Likewise.
388         * nt/Makefile.nt: Likewise.
389         * os2/Makefile.os2: Likewise.
390         * os2/gzip.def: Likewise.
391         * os2/gzip16.def: Likewise.
392         * vms/Makefile.gcc: Likewise.
393         * vms/Makefile.mms: Likewise.
394         * vms/Makefile.vms: Likewise.
395         * vms/Readme.vms: Likewise.
396         * vms/gzip.hlp: Likewise.
397         * vms/makegzip.com: Likewise.
398         * vms/vms.c: Likewise.
399         * Makefile.am (EXTRA_DIST): Remove those file names.
400
401         build: use largefile module and update to latest gnulib
402         * configure.ac: Remove AC_SYS_LARGEFILE, subsumed by ...
403         * bootstrap.conf (gnulib_modules): ...this.  Use largefile module.
404         * gnulib: Update to latest.
405
406 2011-07-12  Jim Meyering  <meyering@redhat.com>
407
408         maint: update init.sh and bootstrap from gnulib
409         * bootstrap: Update from gnulib.
410         * tests/init.sh: Update from gnulib.
411
412         maint: use gnulib's realloc-gnu and malloc-gnu modules
413         * bootstrap.conf (gnulib_modules): Use realloc-gnu and malloc-gnu,
414         rather than the now-deprecated realloc and malloc modules.
415
416         build: update gnulib submodule to latest
417
418 2011-06-21  Paul Eggert  <eggert@cs.ucla.edu>
419
420         * deflate.c: Export nice_match to assembler.
421         (static_unless_ASMV): New macro.
422         (nice_match): Use it.
423
424 2011-06-08  Jim Meyering  <meyering@redhat.com>
425
426         build: fix "make syntax-check"
427         * cfg.mk (_gl_TS_unmarked_extern_vars): Add good_match.
428
429         build: avoid link failure: this time on i686 linux
430         * deflate.c (good_match): Must not be static, since it may
431         be used from lib/match.c.
432
433 2011-05-14  Jim Meyering  <meyering@redhat.com>
434
435         build: avoid link failure on at least i386-FreeBSD7.2
436         * deflate.c (match_start, prev_length, max_chain_length): Do not
437         declare these as static.  On some types of system/arch, they are
438         used via match_.s.
439         * cfg.mk (_gl_TS_unmarked_extern_vars): Mark those three variables
440         as known-extern: match_start, prev_length, max_chain_length.
441
442 2011-05-13  Jim Meyering  <meyering@redhat.com>
443
444         avoid new build failure on a system without <crypt.h>
445         * bits.c: Don't include "crypt.h", now that it's deleted.
446
447         maint: use gnulib's new readme-release module
448         * bootstrap.conf (gnulib_modules): Add readme-release.
449         (bootstrap_epilogue): Add the recommended perl one-liner.
450         * README-release: Remove file; it is now generated from gnulib.
451         * .gitignore: Add it.
452
453 2011-05-09  Jim Meyering  <meyering@redhat.com>
454
455         build: update gnulib submodule to latest
456
457         maint: prepare for gnulib's new tight-scope syntax-check rule
458         * cfg.mk (_gl_TS_dir): Define.
459         (_gl_TS_unmarked_extern_vars): Define.
460
461         maint: declare many variables to be static
462         * deflate.c: Likewise.
463         * gzip.c: Likewise.
464         * gzip.h: Likewise.
465         * inflate.c: Likewise.
466         * trees.c: Likewise.
467         * unzip.c: Likewise.
468         * util.c: Likewise.
469
470         maint: remove crypt.[ch] stubs
471         * Makefile.am (gzip_SOURCES): Remove crypt.c
472         (EXTRA_DIST): Remove crypt.h
473         * crypt.c, crypt.h: Remove files.
474         * unpack.c: Don't #include "crypt.h"
475         * zip.c: Likewise
476         * util.c: Likewise.
477         * unzip.c: Likewise.
478
479         maint: limit scope of several functions
480         * deflate.c (longest_match): Move extern declaration into #if-ASMV block.
481         [!ASMV]: Define as static.
482         * inflate.c: Remove unnecessary prototypes.
483         ANSI-declify functions and declare them to be static.
484
485         maint: remove all uses of OF((...)) prototype-hiding macro
486         * bits.c: Remove all uses of OF.
487         * deflate.c: Likewise.
488         * gzip.c: Likewise.
489         * inflate.c: Likewise.
490         * lzw.h: Likewise.
491         * trees.c: Likewise.
492         * unlzh.c: Likewise.
493         * unpack.c: Likewise.
494         * util.c: Likewise.
495         * gzip.h: Likewise.
496         (OF): Remove its definition, too.
497
498         maint: prepare for tight-scope rule: use noinst_HEADERS
499         * Makefile.am (EXTRA_DIST): Move lzw.h and gzip.h from here to ...
500         (noinst_HEADERS): ...here.
501         For convenience, since the tight-scope rule uses $(noinst_HEADERS).
502
503 2011-04-14  Jim Meyering  <meyering@redhat.com>
504
505         maint: update bootstrap and init.sh from gnulib
506         * bootstrap: Likewise.
507         * tests/init.sh: Update from gnulib.
508
509         maint: note that we'll remove amiga, atari, msdos, nt, os2, vms soon
510         If someone can show that any of these are being used, let us know.
511         * TODO: Note the plan to remove those directories this year.
512
513         build: update gnulib submodule to latest
514
515         maint: fix typos in vms manual: s/it\nit/\nit/
516         * vms/gzip.hlp: Remove doubled "it".
517
518 2011-04-10  Jim Meyering  <meyering@redhat.com>
519
520         maint: fix typos in comment: s/to to/to/
521         * deflate.c: Remove doubled 'to's.
522
523 2011-03-20  Jim Meyering  <meyering@redhat.com>
524
525         maint: stop using .x-sc_* files to list syntax-check exemptions
526         Instead, use the new mechanism with which you merely use a
527         variable (derived from the rule name) defined in cfg.mk to an ERE
528         matching the exempted file names.
529         * gnulib: Update to latest, to get maint.mk that implements this.
530         * .x-sc_file_system: Remove file.
531         * .x-sc_prohibit_tab_based_indentation: Likewise.
532         * .x-sc_require_config_h: Likewise.
533         * .x-sc_require_config_h_first: Likewise.
534         * cfg.mk: Define variables to exempt the same files.
535
536 2011-03-18  Jim Meyering  <meyering@redhat.com>
537
538         doc: correct README-release
539         * README-release: Remove mention of -announce mailing list.
540         Unlike coreutils, gzip does not have its own.
541
542         doc: update release procedure
543         * README-release: Resync from coreutils' file by the same name.
544
545 2011-01-03  Jim Meyering  <meyering@redhat.com>
546
547         maint: update copyright year ranges to include 2011
548         Run "make update-copyright", so "make syntax-check" works in 2011.
549
550         build: update gnulib submodule to latest
551
552         maint: avoid failure of new test for bindtextdomain
553         * cfg.mk (local-checks-to-skip): Add sc_bindtextdomain.
554
555 2010-12-02  Jim Meyering  <meyering@redhat.com>
556
557         maint: avoid "make syntax-check" failure due to old-NEWS modification
558         * cfg.mk (old_NEWS_hash): Update, to reflect recent NEWS correction.
559
560 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
561
562         * NEWS: The "gzip -f foo.gz" change occurred in 1.3.13, not 1.3.12
563
564 2010-11-10  Paul Eggert  <eggert@cs.ucla.edu>
565
566         zgrep: don't assume traditional behavior with signal numbers
567         * zgrep.in: Don't assume the exit status is the signal number plus
568         128, as POSIX doesn't require this.  No need to kill self; exiting
569         with large status is enough.  Propagate all exit statuses greater
570         than 1, not merely those in the range 129..143, as there's no need
571         to treat that range specially (and it's not portable anyway).
572
573 2010-11-09  Paul Eggert  <eggert@cs.ucla.edu>
574
575         zgrep: fix shell portability bug with -f; fix mishandling of "-e -"
576         * tests/zgrep-f: Check for "zgrep -e -" bug, too.
577         * zgrep.in: Don't assume that if the shell redirects fd 6, then
578         this redirection is visible to the subsidiary grep.  POSIX doesn't
579         guarantee this visibility except for file descriptors 0, 1, and 2,
580         and ksh does not support it.  Problem reported by Thomas Schulz in
581         <http://lists.gnu.org/archive/html/bug-gzip/2010-11/msg00000.html>.
582         Also, fix a related bug: "-e -" was mishandled.  These two bugs
583         were introduced by commit 5b54db4546b84ec97ff57a62f8ddb98faacf77f2
584         dated 2009-10-09.
585         (escape): Change the convention: do not assume that a stray X
586         is present at the end of the last line.  All uses changed.
587         There was no longer any need for this convention, and fixing this
588         made it a bit easier to use 'sed' in a later part of the fix.
589
590 2010-11-08  Paul Eggert  <eggert@cs.ucla.edu>
591
592         maint: fix copyright dates that were munged by a maintenance script
593         * gunzip.in, gzexe.in, zcat.in, zcmp.in, zdiff.in, zforce.in:
594         * zgrep.in, zless.in, zmore.in, znew.in:
595         A script went awry when updating copyright dates in gzip's shell
596         scripts.  It should update comments to look like "# Copyright (C)
597         2007, 2010 Free Software Foundation, Inc." (with a set of years)
598         and version messages to look like "Copyright (C) 2010 Free
599         Software Foundation, Inc." (with just the most-recent year).
600         Instead, it sometimes ignored one, sometimes the other, and
601         typically put ranges into version messages.  Fix all this stuff by
602         hand, using dates that I divined from the change logs (so they're
603         a bit more accurate than script-generated dates).  We need to fix
604         the script before it runs in 2011.
605
606 2010-10-23  Jim Meyering  <meyering@redhat.com>
607
608         maint: anchor patterns in .gitignore files
609         * doc/.gitignore: Anchor patterns.
610         * lib/.gitignore: Likewise.
611         * m4/.gitignore: Likewise.
612
613         maint: update bootstrap and init.sh from gnulib
614         * bootstrap: Update.
615         * tests/init.sh: Update.
616
617 2010-10-23  Rob Vermaas  <rob.vermaas@gmail.com>
618
619         maint: update to latest gnulib; use fdutimens, not gl_futimens
620         * gzip.c (copy_stat): Use fdutimens, not gl_futimens.
621         * gnulib: Update to latest.
622
623 2010-10-23  Jim Meyering  <meyering@redhat.com>
624
625         maint: accommodate stricter syntax-check
626         Avoid #if, #define and #undef of always-defined symbols.
627         * gzip.c (ELOOP, SIGPIPE): Remove unneeded cpp directives.
628         * tailor.h (HAVE_DIRENT_H, HAVE_FCNTL_H, HAVE_UNISTD_H, MSDOS):
629         (O_BINARY): Likewise.
630
631         maint: make our use of gnulib's init.sh conform
632         * tests/help-version: Make use of init.sh conform.
633         * tests/helin-segv: Likewise.
634         * tests/help-version: Likewise.
635         * tests/hufts: Likewise.
636         * tests/memcpy-abuse: Likewise.
637         * tests/mixed: Likewise.
638         * tests/null-suffix-clobber: Likewise.
639         * tests/stdin: Likewise.
640         * tests/trailing-nul: Likewise.
641         * tests/zdiff: Likewise.
642         * tests/zgrep-f: Likewise.
643         * tests/zgrep-signal: Likewise.
644         * tests/znew-k: Likewise.
645
646 2010-10-10  Jim Meyering  <meyering@redhat.com>
647
648         maint: describe policy on copyright year number ranges
649         * README: Mention coreutils' long-standing policy on use of M-N
650         ranges in copyright year lists.  Requested by Richard Stallman.
651
652 2010-09-15  Paul Eggert  <eggert@cs.ucla.edu>
653
654         zgrep: fix parsing of -Eh options
655         * zgrep.in: Update list of single-letter options to match what's
656         in GNU grep.  Add -h as an alias for --no-filename.  Bug reported
657         by Vladimir Sidorenko in
658         <http://lists.gnu.org/archive/html/bug-gzip/2010-09/msg00007.html>.
659
660 2010-08-17  Paul Eggert  <eggert@cs.ucla.edu>
661
662         gzip: fix NO_SIZE_CHECK for VMS
663         * gzip.c (do_list): Use if, not #if.
664         * tailor.h (NO_SIZE_CHECK) [defined(VAXC) || defined(VMS)]: Define.
665         * zip.c (zip): Simplify conditional, which was incorrect at any rate
666         for VMS.
667
668 2010-08-15  Paul Eggert  <eggert@cs.ucla.edu>
669
670         algorithm.doc: mention Internet RFC 1952 and modernize a bit
671         * algorithm.doc: Update to mention header-CRC and Internet RFC 1952.
672         Also, remove the crypto stuff, which never worked.
673         Inspired by that same suggestion of Greg Roelofs.
674
675         gzip: Use 0x%04x instead of %x when printing 16-bit checksums
676         * gzip.c (get_method): Use 0x%04x, not %x, to print 16-bit checksums.
677         Inspired by a suggestion of Greg Roelofs in
678         http://lists.gnu.org/archive/html/bug-gzip/2010-08/msg00004.html
679
680 2010-08-03  Paul Eggert  <eggert@cs.ucla.edu>
681
682         maint: update bootstrap
683         * bootstrap, bootstrap.conf, tests/init.sh: Merge from gnulib.
684
685 2010-07-19  Paul R. Eggert  <eggert@cs.ucla.edu>
686
687         gzip: don't assume C99, and don't assume overlapping memcpy should work
688         * tailor.h (NOMEMCPY): Remove.  memcpy is entitled to not work
689         on overlapping blocks.
690         * inflate.c (inflate_codes): Don't put decl after statement.
691         Omit NOMEMCPY.
692
693         * gzip.c (get_method): don't assume size_t can be printed with %u
694
695 2010-07-02  Paul Eggert  <eggert@cs.ucla.edu>
696
697         Mention that gzip -d now handles FHCRC.
698
699 2010-07-02  Paul Eggert  <eggert@cs.ucla.edu>
700
701         Decode FHCRC flag properly, as per Internet RFC 1952.
702         Problem reported by Greg Roelofs in:
703         http://lists.gnu.org/archive/html/bug-gzip/2010-06/msg00003.html
704
705         * gzip.c (discard_input_bytes): New function.
706         (get_method): Check header checksum, if given.  We never generate it,
707         but other programs may.
708         * gzip.h (HEADER_CRC): Renamed from CONTINUATION.  All uses changed.
709         * tailor.h [defined __50SERIES]: Remove PRIMOS stuff that was obsolete
710         anyway and would have made this patch harder to maintain.
711         (get_char, put_char): Remove.
712         * zip.c (zip): Use put_byte instead of the now-removed put_char.
713
714 2010-07-01  Paul Eggert  <eggert@cs.ucla.edu>
715
716         Don't assume that sizeof (long) == 4 when computing statistics.
717         * gzip.c (get_method): Don't assume sizeof (long) == 4.
718         * zip.c (zip): Likewise.
719
720         Update Info-ZIP name and coordinates (thanks to Greg Roelofs).
721
722 2010-05-11  Paul Eggert  <eggert@cs.ucla.edu>
723
724         * doc/gzip.texi (Sample): Fix backslash quoting problem.
725         Problem reported by Ole Tange in
726         <http://lists.gnu.org/archive/html/bug-gzip/2010-05/msg00000.html>.
727
728 2010-04-26  Jim Meyering  <meyering@redhat.com>
729
730         build: update gnulib submodule to latest
731
732         maint: remove primos support
733         * Makefile.am (EXTRA_DIST): Remove all primos/ files.
734         * primos/build.cpl: Remove file.
735         * primos/ci.opts: Likewise.
736         * primos/include/errno.h: Likewise.
737         * primos/include/fcntl.h: Likewise.
738         * primos/include/stdlib.h: Likewise.
739         * primos/include/sysStat.h: Likewise.
740         * primos/include/sysTypes.h: Likewise.
741         * primos/primos.c: Likewise.
742         * primos/readme: Likewise.
743
744 2010-04-08  Jim Meyering  <meyering@redhat.com>
745
746         build: include cfg.mk in the distribution tarball
747         * Makefile.am (EXTRA_DIST): Add cfg.mk.
748
749 2010-04-07  Eric Blake  <eblake@redhat.com>
750
751         maint: ignore more built files
752         * .gitignore: Add version files.
753
754 2010-04-07  Jim Meyering  <meyering@redhat.com>
755
756         tests: help-version: cross-check PATH in tests
757         * tests/help-version: Cross-check $VERSION and --version output.
758         * tests/Makefile.am (TESTS_ENVIRONMENT): Export VERSION=$(VERSION).
759
760         tests: improve help-version
761         * tests/help-version: Use fail_, rather than echo+Exit.
762
763         tests: pull help-version from grep
764
765         build: keep --version strictly up to date
766         Before this change, in development, gzip's --version output could lag
767         behind reality by a couple deltas or by a "-dirty" suffix.  That would
768         lead to spurious failure of the new --version-$VERSION PATH cross-check.
769         * Makefile.am (version.c, version.h): New rules.
770         (BUILT_SOURCES): Set/append.
771         (noinst_LIBRARIES, noinst_libver_a_SOURCES): Define.
772         (gzip_LDADD): Add libver.a.
773         (DISTCLEANFILES): Define.
774         * gzip.c (license): Use Version, not VERSION.
775
776 2010-04-06  Jim Meyering  <meyering@redhat.com>
777
778         tests: (portability) use st, not "status" as variable name
779         * tests/zgrep-signal: Do not use status as a variable name,
780         per autoconf's documentation that it is not portable to
781         some shells.
782
783         tests: s/framework_failure/framework_failure_/
784
785         tests: update init.sh from gnulib
786         * tests/init.sh: Update from gnulib.
787
788         tests: run most tests via tests/Makefile.am
789         * Makefile.am (SUBDIRS): List tests after ".".
790         Move most test-related things from here to ...
791         * tests/Makefile.am: ... here.
792         * configure.ac (AC_CONFIG_FILES): Add tests/Makefile.
793         * tests/helin-segv: Adjust.
794         * tests/help-version: Likewise.
795         * tests/hufts: Likewise.
796         * tests/memcpy-abuse: Likewise.
797         * tests/mixed: Likewise.
798         * tests/null-suffix-clobber: Likewise.
799         * tests/stdin: Likewise.
800         * tests/trailing-nul: Likewise.
801         * tests/zdiff: Likewise.
802         * tests/zgrep-f: Likewise.
803         * tests/zgrep-signal: Likewise.
804         * tests/znew-k: Likewise.
805
806         tests: skip tests that use grep's -f and -E options, if they don't work
807         * tests/init.cfg (require_grep_minus_f): New function.
808         * tests/zgrep-f: Use require_grep_minus_f.  Use path_prepend_.
809
810         tests: arrange for skip and failure notices to go to stderr, not .log
811         * tests/init.cfg: New file.  Make init.sh's stderr_fileno_ match
812         what the "exec 9>&2" we use in TESTS_ENVIRONMENT.
813         * Makefile.am (EXTRA_DIST): Add it.
814
815 2010-04-06  Eric Blake  <eblake@redhat.com>
816
817         maint: ignore generated files
818         * .gitignore: Ignore recent gnulib additions.
819
820         maint: update bootstrap
821         * bootstrap: Use latest copy from gnulib/build-aux.
822
823 2010-04-05  Jim Meyering  <meyering@redhat.com>
824
825         build: use gnulib's lib-ignore module
826         * bootstrap.conf (gnulib_modules): Add lib-ignore, in case it helps.
827         * Makefile.am (AM_LDFLAGS): Define it.
828
829         maint: let configure-invoked cpp emit diagnostics to config.log
830         * configure.ac: Do not discard CPP's stderr.
831
832         build: update gnulib submodule to latest, and adapt
833         * cfg.mk: Update to use new _sc_search_regexp interface.  Run this:
834         perl -pi -e 's/\b_prohibit_regexp\b/_sc_search_regexp/;'
835         -e 's/\bmsg=/halt=/; s/\bre=/prohibit=/;' cfg.mk
836         and then adjust backslashes so they still line up.
837         * cfg.mk (local-checks-to-skip): Add new sc_texinfo_acronym, to skip it.
838         * msdos/tailor.c (fcalloc): Mark a diagnostic for translation, to
839         placate stricter syntax-check, even though no one uses this file.
840
841         use assembly code matcher when possible
842         * configure.ac (ASCPPPOST): Backslash-escape "#" in AC_SUBST'd
843         variable, to keep make from seeing it as a comment-introducer.
844         Based on a patch by Petr Pisar.
845         * lib/Makefile.am (match.$(OBJEXT)): Use AM_V_GEN and AM_V_at.
846         * lib/match.c: Don't include <config.h>.
847         It would impede configure-time assembler test.
848         * .x-sc_require_config_h: Exempt lib/match.c from syntax-check.
849         * .x-sc_require_config_h_first: Likewise.
850
851 2010-03-20  Jim Meyering  <meyering@redhat.com>
852
853         do not use stat.st_mtime of a non-regular file
854         * gzip.c: Include "timespec.h".
855         (treat_stdin): Use st_mtime only from a regular file.
856         This matters at least on Cygwin 1.7.1-1, for which a stdin-pipe has
857         the mtime of /dev/null, rather than the gzip-documented-for-pipes
858         "current time".  Reported by Denis Excoffier.
859
860 2010-02-22  Jim Meyering  <meyering@redhat.com>
861
862         tests: exercise the fix for the decompression data-loss bug
863         * tests/null-suffix-clobber: New file.
864         * Makefile.am (TESTS): Add it.
865
866         gzip: fix a data-loss bug when decompressing with --suffix=''
867         * gzip.c (main): Disallow an empty --suffix=S also with -d.
868         Otherwise, "gzip -d -S '' F.gz" would ask if it's ok to remove the
869         existing file, "F.gz";  if you reply "yes", you'd lose all of that data.
870         Use of an empty suffix was already rejected in compression mode.
871         * gzip.1 (--suffix (-S)): Do not recommend to use "gunzip -S '' *".
872         Describe how the suffix is used when decompressing, too.
873         * NEWS (Bug fixes): mention the fix.
874         Reported by Ripduman Sohan.
875
876         tests: add ---presume-input-tty option, solely for testing
877         * gzip.c: Include <stdbool.h>.
878         (presume_input_tty): New global.
879         (main): Set it.
880         (treat_stdin, check_ofname): Use it.
881
882 2010-02-07  Jim Meyering  <meyering@redhat.com>
883
884         doc: minor adjustment to README-release
885         * README-release: Tweak description, to sync from coreutils.
886
887         tests: add the help-version sanity tests from coreutils
888         * tests/help-version: New file, from coreutils.
889         * Makefile.am (TESTS): Add it.
890
891         tests: make distcheck invoke "make syntax-check" and other tests
892         * dist-check.mk: New file, from coreutils.
893         * cfg.mk: Include it.
894         * Makefile.am (distcheck-hook): New rule, to make us use it.
895
896         zcmp: consistently indicate failure with exit status of 2
897         * zcmp.in: Exit with status of 2 (not 1), when writing
898         --help or --version output fails, to be more like cmp.
899
900 2010-02-03  Jim Meyering  <meyering@redhat.com>
901
902         tests: add more tests of gzip -cdf
903         * tests/mixed: Test "gzip -cdf" for a range of small uncompressed files.
904
905         tests: flip and adjust mixed test, now that the bug is fixed
906         * NEWS (Bug fixes): Mention the fix.
907         * Makefile.am (XFAIL_TESTS): Move tests/mixed from here...
908         (TESTS): ...to here.
909         * tests/mixed: Comment out the currently (always?) failing part.
910
911 2010-02-03  Mark Adler  <madler@alumni.caltech.edu>
912
913         gzip -cdf now handles concatenation of gzip'd and uncompressed data
914         * util.c (copy): Change semantics so as to honor a decremented inptr.
915         * gzip.c (get_method): When needed (-cdf), decrement inptr rather
916         than clearing it -- and output the first magic byte.
917
918 2010-02-03  Dmitry V. Levin  <ldv@altlinux.org>
919
920         zgrep: terminate gracefully when a pipeline is interrupted by a signal
921         zgrep is not terminated gracefully when its grep/sed pipeline
922         is terminated by a signal.  For example, a command like
923         zgrep -F .TH /usr/share/man/man1/*.gz | head
924         continues working long after the "head" process completes.
925         Another example, a command like
926         zgrep unmatched-pattern /usr/share/man/man1/*.gz
927         cannot be interrupted by sending a SIGQUIT with Ctrl-\ key, it outputs
928         zgrep: line 221: test: : integer expression expected
929         and goes on.
930         * zgrep.in: Terminate gracefully when the grep/sed pipeline is
931         terminated by a signal.
932         * tests/zgrep-signal: New test.
933         * Makefile.am (TESTS): Add it.
934
935 2010-02-03  Jim Meyering  <meyering@redhat.com>
936
937         maint: teach "make syntax-check" the space-only indentation rule
938         * cfg.mk (sc_prohibit_tab_based_indentation): New rule, from coreutils.
939         (sc_prohibit_emacs__indent_tabs_mode__setting): Likewise.
940         * bootstrap: Remove "indent-tabs-mode: nil" directive.
941         * .x-sc_prohibit_tab_based_indentation: New file.
942
943 2010-02-02  Jim Meyering  <meyering@redhat.com>
944
945         global: convert indentation-TABs to spaces
946         Transformed via this shell code:
947         t=$'\t'
948         git ls-files \
949           | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
950           | grep -vE 'tests/pr/|help2man' \
951           | xargs grep -lE "^ *$t" \
952           | xargs perl -MText::Tabs -ni -le \
953             '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
954
955 2010-02-02  Dmitry V. Levin  <ldv@altlinux.org>
956
957         wrapper scripts: write diagnostics to stderr, not to stdout
958         * zforce.in: In case of usage error, output short error diagnostics to
959         stderr instead of printing help text to stdout.
960         * zmore.in: Likewise.
961         * znew.in: Likewise.
962
963 2010-02-02  Jim Meyering  <meyering@redhat.com>
964
965         gzip -cdf mishandles some concatenated input streams: test it
966         * tests/mixed: Exercise "gzip -cdf" bug.
967         * Makefile.am (XFAIL_TESTS): Add it.
968         Mark Adler reported the bug.
969
970         tests: move the hufts-segv test to its own file
971         * tests/hufts: New test.
972         * Makefile.am (TESTS): Add tests/
973         (check-local): Remove the hufts-segv test from this rule.
974
975         tests: begin moving tests into their own files
976         * Makefile.am (TESTS): Add tests/stdin.
977         (check-local): Move the stdin check to its own file:
978         * tests/stdin: New script.
979
980         tests: remove unnecessary use of "path_prepend_ ."
981         It is unnecessary, since Makefile.am's TESTS_ENVIRONMENT setting
982         already adds the top build directory, and besides, is only
983         marginally useful when running stand-alone, since it presumes
984         that the script is being run from the top build directory.
985         * tests/helin-segv: Remove unnecessary use of path_prepend_.
986         * tests/memcpy-abuse: Likewise.
987         * tests/trailing-nul: Likewise.
988         * tests/zdiff: Likewise.
989         * tests/zgrep-f: Likewise.
990
991         tests: note that znew-k test depends on length of temp file name
992         * tests/znew-k: Tweak diagnostic, factor and add a surprising comment.
993
994 2010-02-01  Jim Meyering  <meyering@redhat.com>
995
996         build: update gnulib submodule to latest
997
998 2010-02-01  Dmitry V. Levin  <ldv@altlinux.org>
999
1000         fix "znew -K" to work without use of compress utility
1001         * znew.in: Change -K option to imply -t, do not use compress(1).
1002         * znew.1: Document it.
1003         * tests/znew-k: New test.
1004         * Makefile.am (TESTS): Add it.
1005
1006 2010-01-20  Jim Meyering  <meyering@redhat.com>
1007
1008         maint: update README-release procedure
1009         * README-release: sync from coreutils.
1010
1011         post-release administrivia
1012         * NEWS: Add header line for next release.
1013         * .prev-version: Record previous version.
1014         * cfg.mk (old_NEWS_hash): Auto-update.
1015
1016         version 1.4
1017         * NEWS: Record release date.
1018
1019         tests: exercise the segfault fix
1020         * tests/helin-segv: New test.
1021         * Makefile.am (TESTS): Add it.
1022
1023         gzip -d: do not clobber stack for valid input on x86_64
1024         * unlzw.c (unlzw): Avoid integer overflow.
1025         Aki Helin reported the segfault along with an input to trigger the bug.
1026         * NEWS (Bug fixes): Mention it.
1027
1028         maint: avoid a minor "make syntax-check" failure
1029         * .x-sc_file_system: Exempt NEWS, since it includes a literal
1030         from an old diagnostic.
1031
1032         maint: remove unused file: README-alpha
1033         * README-alpha: Remove unused file.
1034
1035         build: update gnulib submodule to latest
1036
1037 2010-01-11  Yuxi Zhang  <YZhang@qnx.com>
1038
1039         gzip -d: use memcpy more often
1040         * inflate.c (inflate_codes): Use memcpy (rather than slower
1041         memcopy-like code) in more cases.
1042
1043 2010-01-11  Jim Meyering  <meyering@redhat.com>
1044
1045         build: do not override gnulib-provided AM_CFLAGS options
1046         Avoid a warning from automake:
1047         lib/Makefile.am:24: AM_CFLAGS multiply defined in condition TRUE ...
1048         lib/gnulib.mk:30: ... `AM_CFLAGS' previously defined here
1049         lib/Makefile.am:20:   `lib/gnulib.mk' included from here
1050
1051         * lib/Makefile.am (AM_CFLAGS): Append $(WARN_CFLAGS) and
1052         $(WERROR_CFLAGS), i.e., use "+=", not "=".
1053         This was introduced via 2009-12-17 commit 0341fc22,
1054         "build: with --enable-gcc-warnings, use -Werror",
1055         but fortunately is not a bug, because the definition
1056         it would have overridden was always empty.
1057
1058 2010-01-10  Jim Meyering  <meyering@redhat.com>
1059
1060         gzip -d would fail with a CRC error...
1061         ...for some inputs, and some memcpy implementations.  It is possible
1062         that an offending input has to be compressed "from FAT filesystem
1063         (MS-DOS, OS/2, NT)", since the sole reproducer no longer evokes a
1064         CRC error when uncompressed and recompressed on a GNU/Linux system.
1065         Also, using an unpatched reverse-memcpy-gzip on over 100,000 inputs
1066         on a GNU/Linux system did not turn up another reproducer.
1067         * inflate.c (inflate_codes): Don't call memcpy with overlapping regions.
1068         Properly detect when source and destination overlap.
1069         * tests/memcpy-abuse: New test, to trigger misbehavior.
1070         * Makefile.am (TESTS): Add it.
1071         * NEWS (Bug fixes): Mention it.
1072         Reported by Alain Magloire in
1073         http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/307
1074
1075 2010-01-08  Jim Meyering  <meyering@redhat.com>
1076
1077         tests: switch to gnulib's init.sh test infrastructure
1078         * tests/test-lib.sh: Remove file.
1079         * tests/init.sh: New file, from gnulib.
1080         * tests/trailing-nul: Use the new file.
1081         * tests/zdiff: Likewise.
1082         * tests/zgrep-f: Likewise.
1083         * Makefile.am (EXTRA_DIST): List tests/init.sh, not test-lib.sh.
1084
1085         build: update gnulib submodule to latest
1086
1087 2010-01-03  Jim Meyering  <meyering@redhat.com>
1088
1089         maint: record update-copyright options for this package
1090         * cfg.mk: Next time, just run "make update-copyright".
1091
1092 2010-01-01  Jim Meyering  <meyering@redhat.com>
1093
1094         maint: update all FSF copyright year lists to include 2010
1095         Use this command:
1096         git ls-files |grep -vE '^(\..*|COPYING|gnulib)$' |xargs \
1097         env UPDATE_COPYRIGHT_USE_INTERVALS=1 build-aux/update-copyright
1098
1099 2009-12-31  Jim Meyering  <meyering@redhat.com>
1100
1101         maint: newer gnulib; don't hard-code my GPG key ID
1102         * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it.
1103         * gnulib: Update to lastest.
1104
1105 2009-12-30  Jim Meyering  <meyering@redhat.com>
1106
1107         build: update gnulib submodule to latest
1108
1109         maint: remove lots of obsolete #if...HAVE_* checks
1110         Remove many always-true cpp tests like #ifdef HAVE_UNISTD_H,
1111          #ifdef HAVE_FCNTL_H and #ifdef SSIZE_MAX.
1112         * gzip.c: As above.
1113         * gzip.h: Likewise.
1114         * inflate.c: Likewise.
1115         * tailor.h: Likewise.
1116         * unlzw.c: Likewise.
1117         * util.c: Likewise.
1118         * zip.c: Likewise.
1119
1120         build: add a syntax-check
1121         * cfg.mk (sc_prohibit_obsolete_HAVE_HEADER_H): New rule.
1122
1123         build: with --enable-gcc-warnings, use -Werror
1124         * Makefile.am (AM_CFLAGS): Enable $(WERROR_CFLAGS).
1125         * lib/Makefile.am (AM_CFLAGS): Enable both $(WARN_CFLAGS) and
1126         $(WERROR_CFLAGS).
1127
1128         build: quiet warnings from util.c
1129         * configure.ac (warnings): Add -Wno-overflow and -Wno-type-limits.
1130
1131         build: avoid warning about possibly-no-return functions
1132         * gzip.h (read_error, write_error): Mark these functions as "no-return".
1133
1134         build: avoid warning about ignored chown/fchown return value
1135         * bootstrap.conf (gnulib_modules): Add ignore-value.
1136         * gzip.c: Include "ignore-value.h".
1137         (copy_stat): Explicitly ignore chown and fchown failure
1138
1139         build: update gnulib submodule to latest
1140
1141 2009-11-20  Jim Meyering  <meyering@redhat.com>
1142
1143         build: unlzw.c: avoid warnings about unused macros
1144         * configure.ac: Turn off -Wunused-macros.
1145
1146         build: avoid warnings about unused macros
1147         * unzip.c (LOCTIM): Comment out unused macro.
1148         * deflate.c (EQUAL): Remove definition.  Use "0" at sole point of use.
1149
1150         build: util.c: avoid warnings about add_envopt
1151         * util.c (add_envopt): The parameter "env" was used for two conflicting
1152         purposes.  One use required a const char* parameter, while the other
1153         was used as an argument to free, which must not be "const".
1154         Rename the parameter and use a new local variable for the second role.
1155
1156         build: avoid many const-related warnings
1157         * gzip.c: Add "const" to many variables, to avoid compiler warnings.
1158         * util.c (add_envopt): Make 3rd parameter const
1159         (gzip_error): Make sole parameter const.
1160         * gzip.h: Update prototypes.
1161
1162         build: avoid warnings from -Wstrict-prototypes
1163         * gzip.c (main): Declare using a prototype.
1164         (progerror): Likewise.  And make parameter const.
1165
1166         build: use gnulib's fdopendir module
1167         * bootstrap.conf (gnulib_modules): Add fdopendir.
1168         * gzip.c (treat_dir): Don't depend on HAVE_FDOPENDIR.
1169         Gnulib now guarantees its availability.
1170         * configure.ac: Don't check for fdopendir here.
1171
1172         build: enable many warnings
1173         * configure.ac: Add support for --enable-gcc-warnings.
1174         * bootstrap.conf (gnulib_modules): Add manywarnings.
1175         * Makefile.am (AM_CFLAGS): Add (WARN_CFLAGS) # $(WERROR_CFLAGS)
1176
1177         maint: tweak formatting of bootstrap.conf
1178         * bootstrap.conf (gnulib_modules): Unindent list.
1179
1180         maint: cfg.mk: remove factored-out ftp host/dir definitions
1181         * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable):
1182         (gnu_rel_host, url_dir_list): Remove definitions.  The defaults,
1183         now provided by maint.mk, are the same.
1184         * gnulib: Update for latest, including those maint.mk additions.
1185
1186         build: "make stable" emitted an invalid gnupload command
1187         * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major.
1188         * README-release: Change another s/major/stable/.
1189
1190 2009-10-30  Jim Meyering  <meyering@redhat.com>
1191
1192         post-release administrivia
1193         * NEWS: Add header line for next release.
1194         * .prev-version: Record previous version.
1195         * cfg.mk (old_NEWS_hash): Auto-update.
1196
1197         version 1.3.14
1198         * NEWS: Record release date.
1199
1200         build: accommodate new syntax-check test
1201         * amiga/tailor.c (_expand_args): Change each of three uses of
1202         "exit(20)" to "exit(EXIT_FAILURE)".
1203         * sample/add.c: Include <stdlib.h>.
1204         (main): Use EXIT_FAILURE and EXIT_SUCCESS, not 1 and 0.
1205         * sample/sub.c (main): Likewise.
1206         * sample/zread.c (main): Likewise.
1207
1208         build: update gnulib submodule to latest
1209
1210         build: link with $(LIB_CLOCK_GETTIME)
1211         * Makefile.am (gzip_LDADD): Add $(LIB_CLOCK_GETTIME), now that
1212         utimens pulls in gettime.
1213         (FILES_TO_CHECK): Remove $(gzip_LDADD), now that it may contain -lrt.
1214
1215 2009-10-28  Jim Meyering  <meyering@redhat.com>
1216
1217         msdos: fix syntax in Makefile.djg
1218         * msdos/Makefile.djg (gzip): Change each of two leading 8-space
1219         sequences to a TAB.  Reported by Allan Mui.
1220
1221 2009-10-20  Jim Meyering  <meyering@redhat.com>
1222
1223         build: do not use AC_PREFIX_PROGRAM
1224         * configure.ac: Do not use "AC_PREFIX_PROGRAM(gzip)".
1225         It would induce behavior that is so surprising that it is probably
1226         universally considered to be buggy, these days.  Reported by Zube
1227         in http://thread.gmane.org/gmane.comp.gnu.gzip.bugs/273
1228
1229 2009-10-10  Jim Meyering  <meyering@redhat.com>
1230
1231         gzip: add tests for today's bug fix
1232         * tests/trailing-nul: New file.  Test for today's fix.
1233         * Makefile.am (TESTS): Add new script.
1234         * NEWS (Bug fixes): Mention it.
1235
1236 2009-10-10  Daniel Barkalow  <barkalow@iabervon.org>
1237
1238         gzip: don't fail when there is exactly one trailing NUL byte
1239         * gzip.c (get_method): Require the second byte of magic only if
1240         the first byte was nonzero.
1241
1242 2009-10-09  Jim Meyering  <meyering@redhat.com>
1243
1244         build: enable automake color- and parallel-test options
1245         * configure.ac (AM_INIT_AUTOMAKE): Enable color-tests and parallel-tests.
1246
1247         zgrep: portability improvements; exercise "-f -"
1248         * zgrep.in: Adjust loop not to use seq; it's not portable enough.
1249         Fail if we don't find a free file descriptor.
1250         (exists): New function; Use it in place of less portable "test -e".
1251         Testing for existence of /dev/fd/$fd doesn't work on Solaris 10,
1252         since all 256 always exist (as char devices), but testing for
1253         /proc/$$/fd/$fd does work, so do that instead.
1254         * Makefile.am (TESTS): Add tests/zgrep-f.
1255         * tests/zgrep-f: New test; exercise this bug.
1256         * NEWS (Bug fixes): Mention it.
1257
1258 2009-10-09  Carl Worth  <cworth@cworth.org>
1259
1260         zgrep: handle "-f -" the same way that it works with grep
1261         Before this change, echo needle|zgrep -f - haystack.gz would not work.
1262         * zgrep.in: When the pattern comes from stdin, redirect it to a
1263         different file descriptor, since we're about to use stdin.
1264
1265 2009-10-09  Jim Meyering  <meyering@redhat.com>
1266
1267         zdiff would exit 2 (error) rather than 1 for differences
1268         * zdiff.in: Save and restore cmp's exit status around a case
1269         statement that would otherwise clobber its value.
1270         * NEWS (Bug fixes): Mention it.
1271         * tests/zdiff: New test; exercise both bugs.
1272         * tests/test-lib.sh: New file.  From coreutils.
1273         * Makefile.am (EXTRA_DIST): Add tests/test-lib.sh.
1274         (TESTS): Add tests/zdiff.
1275         (TESTS_ENVIRONMENT): Define.  From coreutils.
1276         (EXTRA_DIST): Append all $(TESTS).
1277
1278         zdiff: fix malfunction when operating on two gzip'd inputs
1279         zdiff would fail to print differences in two compressed inputs
1280         * zdiff.in: Don't let cmp output mix with echo'd gzip exit
1281         status values.  Report and fix from Jörg-Volker Peetz via
1282         <http://bugs.debian.org/434275>
1283         * NEWS (Bug fixes): Mention it.
1284
1285         build: update gnulib submodule to latest
1286
1287 2009-10-07  Jim Meyering  <meyering@redhat.com>
1288
1289         build: update gnulib submodule to latest
1290
1291 2009-10-06  Jim Meyering  <meyering@redhat.com>
1292
1293         maint: clarify web-doc-update instructions
1294         * README-release: sync a tiny change from coreutils.
1295
1296 2009-10-03  Jim Meyering  <meyering@redhat.com>
1297
1298         build: update gnulib submodule to latest
1299
1300         doc: use gnu-web-doc-update module
1301         * bootstrap.conf (gnulib_modules): Add it.
1302
1303 2009-10-02  Jim Meyering  <meyering@redhat.com>
1304
1305         doc: describe release procedure
1306         * README-release: New file.
1307
1308 2009-10-01  Jim Meyering  <meyering@redhat.com>
1309
1310         maint: make cfg.mk slightly more generic
1311         * cfg.mk (url_dir_list): Don't hard-code "coreutils".  Use $(PACKAGE).
1312
1313 2009-09-30  Jim Meyering  <meyering@redhat.com>
1314
1315         post-release administrivia
1316         * NEWS: Add header line for next release.
1317         * .prev-version: Record previous version.
1318         * cfg.mk (old_NEWS_hash): Auto-update.
1319
1320         version 1.3.13
1321         * NEWS: Record release date.
1322
1323         build: update gnulib submodule to latest
1324
1325         maint: update bootstrap script
1326         * bootstrap (with_gettext): Update from coreutils.
1327
1328         maint: pull in two release-related modules from gnulib
1329         * bootstrap.conf (gnulib_modules): Add announce-gen and gnupload.
1330
1331         build: use more gnulib modules for better POSIX compliance
1332         * bootstrap.conf (gnulib_modules): Add modules exposed via
1333         make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \
1334         |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \
1335         |sort |uniq -c|sort -nr
1336         Add these: calloc close fclose fprintf-posix lstat malloc
1337         perror printf-posix realloc
1338
1339 2009-09-30  Karl Berry  <karl@freefriends.org>
1340
1341         doc: update to FDL 1.3, minor clean-up
1342         * NEWS, README, TODO: Update FDL s/1.2/1.3/.
1343
1344 2009-09-28  Karl Berry  <karl@freefriends.org>
1345
1346         doc: update gzip.texi
1347         * doc/gzip.texi: FDL 1.3+
1348         Consistently (de)capitalize section names.
1349         "User's" is not correct; seems best to simplify the title.
1350         Throw in some "GNU"'s.
1351         Make direntries be what we actually want.
1352         Detabify.
1353
1354 2009-09-26  Jim Meyering  <meyering@redhat.com>
1355
1356         maint: temporarily exempt failing syntax-check tests
1357         * cfg.mk (local-checks-to-skip): Add the list of currently-failing
1358         tests, to exempt them from "make syntax-check".
1359
1360         gzip: don't use an uninitialized file descriptor
1361         gzip interprets an argument of "-" as indicating stdin, but when
1362         "-" is not the first name on the command line, it doesn't work.
1363         * gzip.c (treat_stdin): Initialize "ifd".
1364         Patch and fine description by Lasse Collin in
1365         http://www.mail-archive.com/bug-gzip@gnu.org/msg00213.html
1366         * Makefile.am (check-local): Exercise the fix.  Based on the above.
1367         * NEWS (Bug fixes): Mention this.
1368
1369         maint: use a git submodule for gnulib
1370         * .gitmodules: New file, to track gnulib.
1371         * gnulib: New file, created by running this:
1372         git submodule add git://git.sv.gnu.org/gnulib.git gnulib
1373
1374         maint: update existing copyright year lists to include 2009
1375         * bootstrap.conf (gnulib_modules): Add update-copyright.
1376
1377         maint: include <config.h> first in many files
1378
1379         maint: avoid another "make syntax-check" failure
1380         * lib/Makefile.am (match.$(OBJEXT)): Use $(ASCPPPOST), not @ASCPPPOST@.
1381
1382         maint: remove RCS $Id$ variables and comments
1383
1384         maint: change spelling in comments: s/filesystem/file system/
1385
1386         maint: don't use "the the"
1387         * msdos/doturboc.bat: s/the the/the/.
1388
1389         maint: remove trailing blanks
1390
1391         maint: remove useless if-before-free tests
1392         * gzip.c (do_exit): Remove useless if-before-free tests.
1393
1394         maint: remove useless casts to avoid "make syntax-check" failures
1395         * gzip.c (do_exit): Remove anachronistic cast.
1396         * inflate.c (huft_free): Likewise.
1397         * util.c (add_envopt): Likewise.
1398         * vms/vms.c (vms_expand_args): Likewise.
1399
1400         maint: new file: .prev-version
1401         * .prev-version: New file, to record previous version number.
1402
1403 2009-09-06  Jim Meyering  <meyering@redhat.com>
1404
1405         build: avoid spurious warnings from clang
1406         * gzip.h (gzip_error): Declare with ATTRIBUTE_NORETURN.
1407
1408         maint: update build-from-scratch infrastructure
1409         * bootstrap: Modernize.
1410         * bootstrap.conf: Modernize.
1411         * cfg.mk: New file.
1412
1413 2009-08-18  Jim Meyering  <meyering@redhat.com>
1414
1415         inflate: avoid a leak on a error path
1416         * inflate.c (inflate_dynamic): Don't leak
1417
1418         maint: ignore a few generated files
1419         * lib/.gitignore: ignore more generated files.
1420
1421         tests: add a test for just-fixed bug
1422         * tests/hufts-segv.gz: New file, from bug report.
1423         * Makefile.am (EXTRA_DIST): Add tests/hufts-segv.gz.
1424         (check-local): Exercise the bug.
1425
1426         tests: don't misinterpret a failing test as successful
1427         * Makefile.am (check-local): Exit "1" upon failure, not 0.
1428
1429 2009-08-18  Thiemo Nagel  <thiemo.nagel@ph.tum.de>
1430
1431         avoid creating an undersized buffer for the hufts table
1432         A malformed input file can cause gzip to crash with a segmentation
1433         violation or hang in an endless loop.
1434         Reported in <http://bugs.debian.org/507263>.
1435         * NEWS (Bug fixes): Mention it.
1436
1437 2009-08-18  Jim Meyering  <meyering@redhat.com>
1438
1439         avoid silent data loss e.g., on NFS, due to unchecked close of stdout
1440         * gzip.c: Include "closein.h".
1441         (main): Use atexit (close_stdin);
1442         * bootstrap.conf (gnulib_modules): Add closein.
1443         Prompted by Mark Kidwell's report and patch in
1444         http://bugs.debian.org/538187
1445         * NEWS (Bug fixes): Mention it.
1446         * */.gitignore: Update.
1447
1448         build: require automake-1.11 and produce xz-compressed tarballs, too
1449         * configure.ac: Require automake-1.11.  Use the dist-xz option.
1450
1451         build: avoid non-srcdir build failure
1452         * Makefile.am (gzip.doc.gz): Use $(srcdir)/gzip.doc, not gzip.doc.
1453         Don't redirect directly to $@.  Use $(AM_V_GEN).
1454         (gzip.doc, .in): Don't redirect directly to $@.  Use $(AM_V_GEN).
1455         * NEWS: Add template header for upcoming release.
1456
1457         build: enable git-version-gen, automake silent rules, generate ChangeLog
1458         * configure.ac (AC_INIT): Use git-version-gen.
1459         Use AM_SILENT_RULES([yes]).
1460         (AM_INIT_AUTOMAKE): Drop gnits; conflicts with git-version-gen versions.
1461         * bootstrap.conf (gnulib_modules): Use getopt-gnu
1462         Ensure ChangeLog exists, for automake.
1463         rather than obsolete "getopt" module.
1464         Add gitlog-to-changelog.
1465         Add git-version-gen.
1466         Add gnu-make, gnumakefile and maintainer-makefile.
1467         * Makefile.am (dist-hook, gen-ChangeLog): New rules, to generate
1468         ChangeLog and insert it into the distribution tarball.
1469         (EXTRA_DIST): Add ChangeLog-2007.
1470
1471         maint: retire the last VC'd ChangeLog file
1472         * ChangeLog-2007: Rename from ChangeLog.
1473         From now on, the ChangeLog file will be generated automatically
1474         from commit logs.
1475
1476         maint: rename .cvsignore files to .gitignore
1477         * .gitignore: Renamed from .cvsignore.
1478         * doc/.gitignore: Likewise.
1479         * lib/.gitignore: Likewise.
1480         * m4/.gitignore: Likewise.