Date: Mon, 17 Feb 1997 18:32:30 +0200 (IST) From: Eli Zaretskii To: djgpp-announce AT delorie DOT com Subject: GNU Textutils 1.22 uploaded Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII This is to announce that the DJGPP port of the latest GNU Textutils 1.22 is available from SimTel.NET mirrors in the v2gnu directory. For those who don't know: Textutils includes programs which can be used to process the contents of files (usually, but not always, text files). Some of the programs are filters (like tail, nl, sort, uniq), which means they read files, transform them and output the processed text; others (like cksum, wc, join, paste) transform a few files into a single file or vice versa, or compute a checksum of the file's contents. If you use bash and shell scripts, you should definitely get this package. But it is also very useful otherwise. The MSDOS-specific enhancements in this release are: 1) The Info docs has been updated with DOS-specific issues. 2) When given non-default options, `cat' now behaves consistently whether its output is the screen, a pipe or a file. (Try "cat -b".) The file README.dos in the distribution explains more about the port. Most of the original enhancements in version 1.22 compared to 1.19 have to do with only a few programs (mainly `pr' and `sort'). A copy of the file NEWS is attached below (it is also available in the binary and source distributions). If you wonder why did the source distribution get so large, it's because it now includes a test suite which is a lot of small files. Enjoy. --------------------------- NEWS --------------------------------------- Changes in release 1.22 [1.21a] * Fix a bug in tail when invoked with an argument like `+NUMBERc' * Add test suite for tail Changes in release 1.21 * Using --program-prefix no longer applies the prefix twice Changes in release 1.20 * fix pr: -l now uses total number of lines per page also with -f * fix pr: use left-hand-side truncation of header string to avoid line overflow * fix pr: it now accepts `form feeds set in input files', also with -m and multiple form feeds at different pages in each file * pr now accepts: -h "", print a blank line header * pr: when skipping pages (+FIRST_PAGE option) line counting (-n option) starts with 1st line of input file (not of 1st page printed) by default * pr accepts new option: -N, start printing with an optional line number * pr -t retains `form feeds set in input files' (`don't destroy page layout') * pr accepts new option: -T, equivalent to -t, but eliminate also form feeds (`clear file') * pr accepts the extension: +FIRST_PAGE[:LAST_PAGE] * pr -w and -s option disentangled (`use a separator' no longer destroys column alignment) * pr accepts new option: -j, merge lines of full length * pr accepts the extension: -s[STRING], use separator string instead of character only * pr -b is no longer an independent option, balancing is always used with -COLUMN (a requirement of unrestricted use of form feeds) * pr accepts new option: --test, to run the pr tests with a constant header string * join passes all of its tests on Alpha OSF 4.0. * sort no longer improperly ignores blanks in determining starting and ending positions for keys with explicit character offsets * fix bug in csplit with regexp and negative offset that led to infinite loop Changes in test release 1.19q * fix bug in sort -c that sometimes resulted in a segfault Changes in test release 1.19p * md5sum's --string option is being deprecated and is no longer documented. It is still accepted, but will be removed altogether in 1.22. * tr '[:lower:]' '[:upper:]' no longer fails when LC_CTYPE is set to iso_8859_1 on Solaris -- or any other character set with differing numbers of uppercase and lowercase characters * split and tail diagnose unrecognized multiplier suffixes, in e.g., `split --bytes=1M' (should be `-b 1m' or `--bytes=1m') * fix bug in md5sum's handling of partial reads * fix bug in treatment by sort -f of bytes with high-bit set * update configuration system to use automake's aclocal program * configure performs sanity check on CC and CFLAGS to avoid a misleading failure that suggested cross-compiling was the cause * distribute test suites for cut, join, sort, and tr * unexpand no longer gets in endless loop * when verifying checksums, md5sum uses the binary mode flag from the input stream rather than the one from the command line Changes in release 1.19 * md5sum can verify digests of files with names containing newline characters * update from gettext-0.10.20. Changes in release 1.18 * when building sort, link with -lm on systems that use the replacement strtod * update from gettext-0.10.17. Changes in release 1.17 * include texinfo.tex in the distribution Changes in release 1.16 * sort is compatible with Unix sort when a key-end spec refers to the N'th character in a field that has fewer than N characters * tail with old-style options like -20k and +31m operates on units of bytes, as the --help usage message says. Before, it used units of lines. Changes in release 1.15 * od gives better diagnostics for invalid format specs * uses automake-generated Makefile templates * configure takes a new option: --enable-maintainer-mode * fix a bug in fmt when prefix has trailing white space * internationalized diagnostic messages * fix a couple bugs in tr involving use of -c and/or -d flags -- see ChangeLog * diagnose some improper or questionable invocations of csplit * properly handle `echo |csplit - 1 1', rather than aborting * fix join: without -t it now ignores leading blanks * sort accepts new option: -z for NUL terminated records * join accepts new option: --ignore-case, -i * uniq accepts new option: --ignore-case, -i User-visible changes in release 1.14 * sort -i and sort -d properly order strings containing ignored characters * nl: rename misleading --first-page=N option to --starting-line-number=N. * sort diagnoses invalid arguments to -k, then fails * sort -n properly orders invalid integers with respect to valid integers * sorting works with character offsets larger than corresponding field width * sort's -b option and `b' modifier work * sort -k2,2 works. * csplit detects integer overflow when converting command line arguments * sort accepts new option/flag, -g, for sorting numbers in scientific notation * join accepts POSIX `-o 0' field specifier. * tr 'a[b*512]' '[a*]' < /dev/null terminates * tr '[:*3][:digit:]' 'a-m' and tr 'a[=*2][=c=]' 'xyyz' no longer fail * special characters in tr's string1 and string2 may be escaped with backslash User-visible changes in release 1.13 * md5sum: with --check, distinguish between open/read failure and bad checksum * md5sum: remove -h, -s, -v short options * md5sum: rename --verbose to --warn, --quiet to --status * md5sum --check fails if it finds no properly formatted checksum lines * sort -c prints `disorder on...' message on standard error, not stdout * sort -k works as described in the texinfo documentation * tail works on NetBSD * md5sum reads and writes (de facto) standard Plumb/Lankester format * sort accepts -.1 +.2 options for compatibility * od works properly when dump limit is specified and is a multiple of bytes_per_block (set by --width, 16 by default). User-visible changes in release 1.12 * sort no longer reports spurious errors on Ultrix systems * new program: md5sum * all --help messages have been improved * join's -a1 and -a2 options work * tr '[:upper:]' '[:lower:]' no longer reads uninitialized memory * sort properly handles command line arguments like `+7.2n' * fmt properly formats paragraphs not terminated by a newline * tail -f flushes stdout before sleeping so that it will output partial lines sooner * sort properly orders fields where one field is a proper prefix of the other * sort properly interprets field offsets specified via the -k option * dd, od, and tail work on systems for which off_t is long long (e.g. BSD4.4) * wc is faster when not counting words * wc now works even when file pointer isn't at beginning of file * expand no longer seg faults with very long tab lists User-visible changes in release 1.11 * fmt is built User-visible changes in release 1.10 * skeletal texinfo documentation (mainly just the `invoking' nodes) * new program: fmt * tail -f on multiple files reports file truncation * tail -q has been fixed so it never prints headers * wc -c is much faster when operating on non-regular files * unexpand gives a diagnostic (rather than a segfault) when given a name of a nonexistent file. * cat, csplit, head, split, sum, tac, tail, tr, and wc no longer fail gratuitously when continued after a suspended read or write system call. * cut interprets -d '' to mean `use the NUL byte as the delimiter' rather than reporting that no delimiter was specified and failing. * `echo a:b:c: | cut -d: -f3,4' prints `c:'. Before it printed just `c'. * cut has been rewritten, is markedly faster for large inputs, and passes a fairly large test suite. * sort properly handles the argument to the -T option. Major changes in release 1.9.1: * cut no longer ignores the last line of input when that line lacks a trailing newline character Major changes in release 1.9: * `echo a:b:c: | cut -d: -f3-' prints `c:' and `echo a:b | cut -d: -f1' prints `a'. * the command `printf '\t\n' |fold -w n' now terminates. Before, it wouldn't stop for n less than 8. * sort accepts and ignores -y[string] options for compatibilty with Solaris. * cat -v /dev/null works on more systems * od's --compatible (-C) flag renamed to --traditional (no short option) * --help and --version exit successfully * --help gives a one-line description of each option and shows the correspondence between short and long-named options. * fix bug in cut. Now `echo 'a:b:c:' | cut -d: -f3-' works. Before it printed `c' instead of `c:' * csplit allows repeat counts to be specified via `{*}'. * csplit accepts a new option, --suffix=format that supercedes the --digits option. The --digits option will continue to work. * csplit accepts a new option, --elide-empty-files. * configure uses config.h, so DEFS won't exceed preprocessor limits of some compilers on the number of symbols defined via -D. * work around problem where $(srcdir)/config.h was used instead of ../config.h -- this happened only when building in a subdirectory and when config.h remained in $(srcdir) from a previous ./configure. Major changes in release 1.8: * added non-ANSIfied version of memchr.c from GNU libc. Major changes in release 1.7: * none Major changes in release 1.6: * with the --version option programs print the version and exit immediately * pr -2a really terminates * pr -n produces multi-column output Major changes in release 1.5: * sort is 8-bit clean * sort's -n and -M options no longer imply -b * several bugs in sort have been fixed * all programs accept --help and --version options * od --compatible accepts pre-POSIX arguments * pr -2a terminates Major changes in release 1.4: * add od and cksum programs * move cmp to GNU diff distribution * tail -f works for multiple files * pr prints the file name in error messages * fix some off by 1 errors in pr and fold * optimize wc -c on regular files * sort handles `-' argument correctly * sort supports -T option * tr ranges like a-a work * tr x '' fails gracefully * default sum output format is BSD compatible * paste -d '' works