]> code.delx.au - gnu-emacs/commitdiff
* buffer.c (compare_overlays): Don't assume args differ (Bug#6830).
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 12 Mar 2012 08:27:25 +0000 (01:27 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 12 Mar 2012 08:27:25 +0000 (01:27 -0700)
src/ChangeLog
src/buffer.c

index 07cc8dac1b3c5fdd0d7f9c980eb76a4e0302abb5..1ec148b30c8c581944d057e5f4d652eb055a14a2 100644 (file)
@@ -1,3 +1,7 @@
+2012-03-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * buffer.c (compare_overlays): Don't assume args differ (Bug#6830).
+
 2012-03-12  Chong Yidong  <cyd@gnu.org>
 
        * eval.c (inhibit_lisp_code): Rename from
index efb9a80f35d226bd15588a99facd06bef2966730..1fea19b0d650286a5142ceb2f4bbcb146f273194 100644 (file)
@@ -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.