diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2014-04-16 12:43:46 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2014-04-16 12:43:46 -0700 |
commit | 290d7ac277986bd118e594a8100b3f40e4492cb1 (patch) | |
tree | d63a3aa61cac577dd119665edaffe2def8d194e2 /src/buffer.c | |
parent | 37eccff4f72c5a36dcd4b89d417b0047aab84e50 (diff) | |
parent | b262bde327db2cd9b2f01f2d3ed946d0b188cb9d (diff) | |
download | emacs-290d7ac277986bd118e594a8100b3f40e4492cb1.tar.gz |
Merge from emacs-24; up to 2014-04-16T15:28:26Z!monnier@iro.umontreal.ca
Diffstat (limited to 'src/buffer.c')
-rw-r--r-- | src/buffer.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/buffer.c b/src/buffer.c index a22c6d7dd54..6a1a74ac1ec 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -4163,9 +4163,10 @@ OVERLAY. */) } -DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, - doc: /* Return a list of the overlays that contain the character at POS. */) - (Lisp_Object pos) +DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 2, 0, + doc: /* Return a list of the overlays that contain the character at POS. +If SORTED is non-nil, then sort them by decreasing priority. */) + (Lisp_Object pos, Lisp_Object sorted) { ptrdiff_t len, noverlays; Lisp_Object *overlay_vec; @@ -4185,6 +4186,10 @@ DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len, NULL, NULL, 0); + if (!NILP (sorted)) + noverlays = sort_overlays (overlay_vec, noverlays, + WINDOWP (sorted) ? XWINDOW (sorted) : NULL); + /* Make a list of them all. */ result = Flist (noverlays, overlay_vec); |