diff options
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/buffer.c b/src/buffer.c index 1577254d92a..efb9a80f35d 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -2864,7 +2864,11 @@ compare_overlays (const void *v1, const void *v2) | |||
| 2864 | return s1->beg < s2->beg ? -1 : 1; | 2864 | return s1->beg < s2->beg ? -1 : 1; |
| 2865 | if (s1->end != s2->end) | 2865 | if (s1->end != s2->end) |
| 2866 | return s2->end < s1->end ? -1 : 1; | 2866 | return s2->end < s1->end ? -1 : 1; |
| 2867 | return 0; | 2867 | /* Avoid the non-determinism of qsort by choosing an arbitrary ordering |
| 2868 | between "equal" overlays. The result can still change between | ||
| 2869 | invocations of Emacs, but it won't change in the middle of | ||
| 2870 | `find_field' (bug#6830). */ | ||
| 2871 | return XHASH (s1->overlay) < XHASH (s2->overlay) ? -1 : 1; | ||
| 2868 | } | 2872 | } |
| 2869 | 2873 | ||
| 2870 | /* Sort an array of overlays by priority. The array is modified in place. | 2874 | /* Sort an array of overlays by priority. The array is modified in place. |