From: Paul Eggert Date: Mon, 12 Mar 2012 08:27:25 +0000 (-0700) Subject: * buffer.c (compare_overlays): Don't assume args differ (Bug#6830). X-Git-Tag: emacs-pretest-24.0.05~85^2~42 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9af5ed875659d596fcd5c84b7456ae4750cb3011;p=emacs.git * buffer.c (compare_overlays): Don't assume args differ (Bug#6830). --- diff --git a/src/ChangeLog b/src/ChangeLog index 07cc8dac1b3..1ec148b30c8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-03-12 Paul Eggert + + * buffer.c (compare_overlays): Don't assume args differ (Bug#6830). + 2012-03-12 Chong Yidong * eval.c (inhibit_lisp_code): Rename from diff --git a/src/buffer.c b/src/buffer.c index efb9a80f35d..1fea19b0d65 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -2868,7 +2868,9 @@ compare_overlays (const void *v1, const void *v2) between "equal" overlays. The result can still change between invocations of Emacs, but it won't change in the middle of `find_field' (bug#6830). */ - return XHASH (s1->overlay) < XHASH (s2->overlay) ? -1 : 1; + if (XHASH (s1->overlay) != XHASH (s2->overlay)) + return XHASH (s1->overlay) < XHASH (s2->overlay) ? -1 : 1; + return 0; } /* Sort an array of overlays by priority. The array is modified in place.