]> Savannah Git Hosting - gnulib.git/commit
diffseq: restore TOO_EXPENSIVE heuristic
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 25 Oct 2016 21:59:29 +0000 (14:59 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 25 Oct 2016 22:23:38 +0000 (15:23 -0700)
commitd55ed0636eefeb43ad1aa8123416c33839652646
tree561af59d440ec42500f7421f76db52545e80cb13
parentdf6f91c65d60c1d9517eb08afccb1368f6a3ded6
diffseq: restore TOO_EXPENSIVE heuristic

* lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
(Bug#24715).  The simplest solution is to restore the
TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
using a higher threshold to avoid Bug#16848 on smaller files.
* lib/diffseq.h (struct context): Restore member too_expensive.
(struct partition): Restore members lo_minimal, hi_minimal.
(diag, compareseq): Restore arg find_minimal.  All uses changed.
(diag): Restore the TOO_EXPENSIVE heuristic that I added back in
1993 to make 'diff' run faster (but not as well) on large inputs,
but use a threshold of 4096 instead of the old 256.
* lib/fstrcmp.c (strcmp_bounded):
* lib/git-merge-changelog.c (compute_differences):
Adjust to diffseq.h changes.
ChangeLog
lib/diffseq.h
lib/fstrcmp.c
lib/git-merge-changelog.c