diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/buffer.c | 11 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6b6bd06634a..51861c6ca7d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2014-04-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * buffer.c (Foverlays_at): Add argument `sorted'. | ||
| 4 | |||
| 1 | 2014-04-14 Eli Zaretskii <eliz@gnu.org> | 5 | 2014-04-14 Eli Zaretskii <eliz@gnu.org> |
| 2 | 6 | ||
| 3 | * insdel.c (invalidate_buffer_caches): When deleting or replacing | 7 | * insdel.c (invalidate_buffer_caches): When deleting or replacing |
diff --git a/src/buffer.c b/src/buffer.c index a1678951984..3e1359707cd 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -4168,9 +4168,10 @@ OVERLAY. */) | |||
| 4168 | } | 4168 | } |
| 4169 | 4169 | ||
| 4170 | 4170 | ||
| 4171 | DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, | 4171 | DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 2, 0, |
| 4172 | doc: /* Return a list of the overlays that contain the character at POS. */) | 4172 | doc: /* Return a list of the overlays that contain the character at POS. |
| 4173 | (Lisp_Object pos) | 4173 | If SORTED is non-nil, then sort them by decreasing priority. */) |
| 4174 | (Lisp_Object pos, Lisp_Object sorted) | ||
| 4174 | { | 4175 | { |
| 4175 | ptrdiff_t len, noverlays; | 4176 | ptrdiff_t len, noverlays; |
| 4176 | Lisp_Object *overlay_vec; | 4177 | Lisp_Object *overlay_vec; |
| @@ -4190,6 +4191,10 @@ DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, | |||
| 4190 | noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len, | 4191 | noverlays = overlays_at (XINT (pos), 1, &overlay_vec, &len, |
| 4191 | NULL, NULL, 0); | 4192 | NULL, NULL, 0); |
| 4192 | 4193 | ||
| 4194 | if (!NILP (sorted)) | ||
| 4195 | noverlays = sort_overlays (overlay_vec, noverlays, | ||
| 4196 | WINDOWP (sorted) ? XWINDOW (sorted) : NULL); | ||
| 4197 | |||
| 4193 | /* Make a list of them all. */ | 4198 | /* Make a list of them all. */ |
| 4194 | result = Flist (noverlays, overlay_vec); | 4199 | result = Flist (noverlays, overlay_vec); |
| 4195 | 4200 | ||