]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix order of sorted overlays returned by 'overlays-at'
authorEli Zaretskii <eliz@gnu.org>
Sat, 16 Sep 2017 10:02:31 +0000 (13:02 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 16 Sep 2017 10:02:31 +0000 (13:02 +0300)
* src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
list of results, to have their order as per the documentation.
(Bug#28390)

* etc/NEWS: Mention the change in the behavior of overlays-at.

etc/NEWS
src/buffer.c

index ce828043bb72f42594c3e0f685249a372d47a26e..a042ce92affc2892b607aa741e838a61a621c1f2 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1336,6 +1336,14 @@ Affected functions include add-name-to-file, copy-directory,
 copy-file, format-write-file, gnus-copy-file, make-symbolic-link,
 rename-file, thumbs-rename-images, and write-file.
 
+---
+** The list returned by 'overlays-at' is now in decreasing priority order.
+The documentation of this function always said the order should be
+that of decreasing priority, if the 2nd argument of the function is
+non-nil, but the code returned the list in the increasing order of
+priority instead.  Now the code does what the documentation says it
+should do.
+
 \f
 * Lisp Changes in Emacs 26.1
 
index bc28ac7d1aace550d73ba4194426635500e0f65d..76670b89545526a9b87d3e3ece86448921cce293 100644 (file)
@@ -4179,6 +4179,12 @@ If SORTED is non-nil, then sort them by decreasing priority.  */)
   /* Make a list of them all.  */
   result = Flist (noverlays, overlay_vec);
 
+  /* The doc string says the list should be in decreasing order of
+     priority, so we reverse the list, because sort_overlays sorts in
+     the increasing order of priority.  */
+  if (!NILP (sorted))
+    result = Fnreverse (result);
+
   xfree (overlay_vec);
   return result;
 }