1User-visible changes in version 2.7: 2 3* New diff option: --binary (useful only on non-Posix hosts) 4* diff -b and -w now ignore line incompleteness; -B no longer does this. 5* cmp -c now uses locale to decide which output characters to quote. 6* Help and version messages are reorganized. 7 8 9User-visible changes in version 2.6: 10 11* New cmp, diff, diff3, sdiff option: --help 12* A new heuristic for diff greatly reduces the time needed to compare 13 large input files that contain many differences. 14* Partly as a result, GNU diff's output is not exactly the same as before. 15 Usually it is a bit smaller, but sometimes it is a bit larger. 16 17 18User-visible changes in version 2.5: 19 20* New cmp option: -v --version 21 22 23User-visible changes in version 2.4: 24 25* New cmp option: --ignore-initial=BYTES 26* New diff3 option: -T --initial-tab 27* New diff option: --line-format=FORMAT 28* New diff group format specifications: 29 <PRINTF_SPEC>[eflmnEFLMN] 30 A printf spec followed by one of the following letters 31 causes the integer corresponding to that letter to be 32 printed according to the printf specification. 33 E.g. `%5df' prints the number of the first line in the 34 group in the old file using the "%5d" format. 35 e: line number just before the group in old file; equals f - 1 36 f: first line number in group in the old file 37 l: last line number in group in the old file 38 m: line number just after the group in old file; equals l + 1 39 n: number of lines in group in the old file; equals l - f + 1 40 E, F, L, M, N: likewise, for lines in the new file 41 %(A=B?T:E) 42 If A equals B then T else E. A and B are each either a decimal 43 constant or a single letter interpreted as above. T and E are 44 arbitrary format strings. This format spec is equivalent to T if 45 A's value equals B's; otherwise it is equivalent to E. For 46 example, `%(N=0?no:%dN) line%(N=1?:s)' is equivalent to `no lines' 47 if N (the number of lines in the group in the the new file) is 0, 48 to `1 line' if N is 1, and to `%dN lines' otherwise. 49 %c'C' 50 where C is a single character, stands for the character C. C may not 51 be a backslash or an apostrophe. E.g. %c':' stands for a colon. 52 %c'\O' 53 where O is a string of 1, 2, or 3 octal digits, stands for the 54 character with octal code O. E.g. %c'\0' stands for a null character. 55* New diff line format specifications: 56 <PRINTF_SPEC>n 57 The line number, printed with <PRINTF_SPEC>. 58 E.g. `%5dn' prints the line number with a "%5d" format. 59 %c'C' 60 %c'\O' 61 The character C, or with octal code O, as above. 62* Supported <PRINTF_SPEC>s have the same meaning as with printf, but must 63 match the extended regular expression %-*[0-9]*(\.[0-9]*)?[doxX]. 64* The format spec %0 introduced in version 2.1 has been removed, since it 65 is incompatible with printf specs like %02d. To represent a null char, 66 use %c'\0' instead. 67* cmp and diff now conform to Posix.2 (ISO/IEC 9945-2:1993) 68 if the underlying system conforms to Posix: 69 - Some messages' wordings are changed in minor ways. 70 - ``White space'' is now whatever C's `isspace' says it is. 71 - When comparing directories, if `diff' finds a file that is not a regular 72 file or a directory, it reports the file's type instead of diffing it. 73 (As usual, it follows symbolic links first.) 74 - When signaled, sdiff exits with the signal's status, not with status 2. 75* Now portable to hosts where int, long, pointer, etc. are not all the same 76 size. 77* `cmp - -' now works like `diff - -'. 78 79 80User-visible changes in version 2.3: 81 82* New diff option: --horizon-lines=lines 83 84 85User-visible changes in version 2.1: 86 87* New diff options: 88 --{old,new,unchanged}-line-format='format' 89 --{old,new,unchanged,changed}-group-format='format' 90 -U 91* New diff3 option: 92 -A --show-all 93* diff3 -m now defaults to -A, not -E. 94* diff3 now takes up to three -L or --label options, not just two. 95 If just two options are given, they refer to the first two input files, 96 not the first and third input files. 97* sdiff and diff -y handle incomplete lines. 98 99 100User-visible changes in version 2.0: 101 102* Add sdiff and cmp programs. 103* Add Texinfo documentation. 104* Add configure script. 105* Improve diff performance. 106* New diff options: 107-x --exclude 108-X --exclude-from 109-P --unidirectional-new-file 110-W --width 111-y --side-by-side 112--left-column 113--sdiff-merge-assist 114--suppress-common-lines 115* diff options renamed: 116--label renamed from --file-label 117--forward-ed renamed from --reversed-ed 118--paginate renamed from --print 119--entire-new-file renamed from --entire-new-files 120--new-file renamed from --new-files 121--all-text removed 122* New diff3 options: 123-v --version 124* Add long-named equivalents for other diff3 options. 125* diff options -F (--show-function-line) and -I (--ignore-matching-lines) 126 can now be given more than once. 127