lib/diffseq.h


Log

Author Commit Date CI Message
Paul Eggert 281b825e 2018-01-01T00:57:25 maint: Run 'make update-copyright'
Paul Eggert ca35d468 2017-09-13T00:48:18 all: prefer https: URLs
Paul Eggert 002ac8b1 2017-06-17T12:16:27 diffseq: port to GCC 7 with --enable-gcc-warnings * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the heuristic check. This way, GCC 7 with --enable-gcc-warnings does not complain about big_snake being defined but not used.
Paul Eggert a3fd683d 2017-01-01T02:59:23 version-etc: new year * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
Paul Eggert d55ed063 2016-10-25T14:59:29 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.
Paul Eggert 96609bb2 2016-05-30T12:18:19 Use GCC_LINT, not lint FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined. Problem reported by Ken Brown in: http://bugs.gnu.org/23640 * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document problem with lint and _Noreturn. * lib/diffseq.h (IF_LINT, IF_LINT2): * lib/fts.c (sccsid): * lib/getndelim2.c (IF_LINT): * lib/gl_anylinked_list2.h (gl_linked_iterator) (gl_linked_iterator_from_to): * lib/gl_anytree_list2.h (gl_tree_iterator) (gl_tree_iterator_from_to): * lib/gl_anytree_oset.h (gl_tree_iterator): * lib/gl_array_list.c (gl_array_iterator) (gl_array_iterator_from_to): * lib/gl_array_oset.c (gl_array_iterator): * lib/gl_carray_list.c (gl_carray_iterator) (gl_carray_iterator_from_to): * lib/idcache.c: * lib/inet_ntop.c (IF_LINT): * lib/regcomp.c (build_charclass_op, create_tree): * lib/regex_internal.c (re_acquire_state) (re_acquire_state_context): * lib/trigl.c (rcsid): * lib/trim.c (IF_LINT): * lib/vasnprintf.c (IF_LINT): * lib/verify.h (assume): Treat GCC_LINT like lint.
Paul Eggert 71090a2a 2016-01-01T00:56:19 version-etc: new year * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
Paul Eggert 59ebba1d 2015-02-07T18:02:42 diffseq: prefer ptrdiff_t to ssize_t * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t. ptrdiff_t is the natural type for signed indexes. On a few older platforms, ssize_t is narrower than size_t.
Paul Eggert b9bfe784 2015-01-01T01:38:23 version-etc: new year * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. * all files: Run 'make update-copyright'.
Paul Eggert 67b00f9a 2014-02-23T16:16:31 diffseq: remove TOO_EXPENSIVE heuristic Problem with diffutils reported by Vincent Lefevre in <http://bugs.gnu.org/16848>. The simplest solution is to remove the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993. Although appropriate for circa-1993 hardware, these days the heuristic seems to be more trouble than it's worth. * lib/diffseq.h: Modernize citations. (struct context): Remove member too_expensive. All uses changed. (struct partition): Remove members lo_minimal, hi_minimal. All uses changed. (diag, compareseq): Remove arg find_minimal. All uses changed. (diag): Remove the TOO_EXPENSIVE heuristic that I added back in 1993 to make 'diff' run faster (but not as well) on large inputs. These days, computers are fast enough that it's typically better to run slower but more accurately. * lib/fstrcmp.c: Remove duplicate comment. * lib/fstrcmp.c (strcmp_bounded): * lib/git-merge-changelog.c (compute_differences): Adjust to diffseq.h changes.
Eric Blake 1276a2c5 2014-01-01T00:04:40 maint: update copyright I ran 'make update-copyright'. Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake 9fc81090 2013-01-01T00:50:58 maint: update all copyright year number ranges Run "make update-copyright". Compare to commit 1602f0a from last year. Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert 51e801f2 2012-01-05T23:53:49 In commentary, do not use ` to quote.
Jim Meyering 1602f0af 2012-01-01T10:04:58 maint: update all copyright year number ranges Run "make update-copyright".
Jim Meyering d60f3b0c 2011-01-01T20:17:23 maint: update almost all copyright ranges to include 2011 Run the new "make update-copyright" rule.
Bruno Haible fc4b90fa 2010-04-20T00:02:14 Fix typo in comment.
Bruno Haible e768d427 2010-04-19T00:01:18 diffseq: Accommodate use-case with abstract arrays.
Jim Meyering b2e2010c 2010-01-01T10:31:12 update nearly all FSF copyright year lists to include 2010 Use the same procedure as for 2009, outlined in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
Bruno Haible 441aa304 2009-12-10T20:28:30 Use spaces for indentation, not tabs.
Bruno Haible 4e765f32 2009-11-22T19:07:34 Add comment.
Jim Meyering 32be9f34 2009-11-22T09:01:07 diffseq: avoid spurious gcc warnings * lib/diffseq.h (IF_LINT2): Define. (compareseq): Use it to initialize two members of "part". This avoids two used-uninitialized warnings.
Bruno Haible 833e6a3e 2009-11-21T14:37:46 diffseq: reduce scope of variable 'best'.
Jim Meyering a823652c 2009-11-21T13:49:54 diffseq: remove useless assignment to "best" * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0" assignment. At that point "best" is already guaranteed to be zero.
Ralf Wildenhues 044cf1cc 2008-09-14T18:34:59 Add an "early abort" facility to diffseq.
Bruno Haible 506bbd42 2008-02-10T19:22:48 Avoid gcc warnings due to misplaced 'const'.
Bruno Haible 1fe8736c 2008-02-03T21:06:40 Add comments about required includes.
Bruno Haible 57fdfd3f 2007-10-07T19:14:58 Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible 0023b193 2007-08-18T10:53:41 - Comment style. - Change 'heuristic' from 'int' to 'bool'. - Remove the 'const' from the context parameter. Needed because in the fstrcmp case, the NOTE_INSERT and NOTE_DELETE macros modify fields in the context, and an extra indirection would only cost performance: #define EXTRA_CONTEXT_FIELDS \ /* The number of elements inserted or deleted. */ \ int xvec_edit_count; \ int yvec_edit_count; #define NOTE_DELETE(ctxt, xoff) ctxt->xvec_edit_count++ #define NOTE_INSERT(ctxt, yoff) ctxt->yvec_edit_count++ - In 'diag', keep two blocks of code in sync (lines 191 and 224). - Undefine the macro USE_HEURISTIC after use.
Paul Eggert a29749fa 2007-08-17T23:29:23 * MODULES.html.sh: Add diffseq. * modules/diffseq: New file. * lib/diffseq.h: New file, from GNU gettext with a few minor changes, extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
Bruno Haible 12e04873 2006-10-07T15:21:52 Live on the diff-merge branch, not on HEAD.
Bruno Haible bc45ccc2 2006-10-07T15:20:20 Difference of two sequences.