Commits


convert abort() in diff_output_lines() to error return


use buffered stdio if falling back on file i/o; this is much faster


return error instead of abort()


add missing reallocarray(3) compat shim


remove another custom linux shim in favour of compat/ directory


make use of source files in compat/ directory on Linux


enable -Wstrict-prototype and -Wunused-variable in Linux build


rename linux_Makefile to GNUmakefile; GNU make picks this up automatically


remove unused portable GNUmakefile


reduce default diff-box recursion depth from 1024 to 32


rename 'debug.h' to 'diff_debug.h'


add a -C option which sets the amount of context lines in unified diffs


add support for ignoring whitespace (-w option) Tests grow the ability to call diff with options. Options to use are encoded in the test file name as a single dash followed by a string of option letters. E.g. -wp for 'ignore whitespace' and 'do patience'


myers_divide: stop traversing snakes after reasonable max effort


diff result: ensure sane order of result chunks Ensure that a adjacent chunks of same type are combined, and that a minus block always precedes an adjacent plus block. The upcoming myers-divide optimization is prone to produce weird ordering of plus and minus chunks.


add ARRAYLIST_INSERT()


patience: error handling from diff_atoms_same()


myers: error handling from diff_atoms_same()


add diff_atom_cmp() and error handling to diff_atom_same()


avoid include statements in header files; make each .c pull in what's needed


replace enum diff_rc errors with plain errno values


fix build with 'make PROFILE=1' on OpenBSD


fall back on file i/o in case an input file cannot be memory-mapped


move 'struct range' and related functions into the diff_ namespace no functional change


fix wrong assignment in diff_atoms_swallow_identical_neighbors; ok neels