Fix order of sorted overlays returned by 'overlays-at'

* 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.
This commit is contained in:
Eli Zaretskii 2017-09-16 13:02:31 +03:00
parent a103dbe360
commit 2d53f8783f
2 changed files with 14 additions and 0 deletions

View file

@ -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.
* Lisp Changes in Emacs 26.1

View 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;
}