diff options
| author | Dmitry Antipov | 2013-08-28 12:33:12 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2013-08-28 12:33:12 +0400 |
| commit | 6bdcbfe1e33fa27b7c19042de6b0f69be12aad45 (patch) | |
| tree | 2637ce7d18e95c1a785d485e386f5ddeea91d072 /src/buffer.c | |
| parent | 50b13cdedb19f4bdd6737e8d2cdb4daa4e886c92 (diff) | |
| download | emacs-6bdcbfe1e33fa27b7c19042de6b0f69be12aad45.tar.gz emacs-6bdcbfe1e33fa27b7c19042de6b0f69be12aad45.zip | |
* buffer.c (Foverlays_at, Foverlays_in, Fnext_overlay_change)
(Fprevious_overlay_change): Fast path for buffer with no overlays.
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/buffer.c b/src/buffer.c index 7bc98a8b1d3..1495bd65de7 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -4161,6 +4161,9 @@ DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, | |||
| 4161 | 4161 | ||
| 4162 | CHECK_NUMBER_COERCE_MARKER (pos); | 4162 | CHECK_NUMBER_COERCE_MARKER (pos); |
| 4163 | 4163 | ||
| 4164 | if (!buffer_has_overlays ()) | ||
| 4165 | return Qnil; | ||
| 4166 | |||
| 4164 | len = 10; | 4167 | len = 10; |
| 4165 | /* We can't use alloca here because overlays_at can call xrealloc. */ | 4168 | /* We can't use alloca here because overlays_at can call xrealloc. */ |
| 4166 | overlay_vec = xmalloc (len * sizeof *overlay_vec); | 4169 | overlay_vec = xmalloc (len * sizeof *overlay_vec); |
| @@ -4193,6 +4196,9 @@ end of the buffer. */) | |||
| 4193 | CHECK_NUMBER_COERCE_MARKER (beg); | 4196 | CHECK_NUMBER_COERCE_MARKER (beg); |
| 4194 | CHECK_NUMBER_COERCE_MARKER (end); | 4197 | CHECK_NUMBER_COERCE_MARKER (end); |
| 4195 | 4198 | ||
| 4199 | if (!buffer_has_overlays ()) | ||
| 4200 | return Qnil; | ||
| 4201 | |||
| 4196 | len = 10; | 4202 | len = 10; |
| 4197 | overlay_vec = xmalloc (len * sizeof *overlay_vec); | 4203 | overlay_vec = xmalloc (len * sizeof *overlay_vec); |
| 4198 | 4204 | ||
| @@ -4221,6 +4227,9 @@ the value is (point-max). */) | |||
| 4221 | 4227 | ||
| 4222 | CHECK_NUMBER_COERCE_MARKER (pos); | 4228 | CHECK_NUMBER_COERCE_MARKER (pos); |
| 4223 | 4229 | ||
| 4230 | if (!buffer_has_overlays ()) | ||
| 4231 | return make_number (ZV); | ||
| 4232 | |||
| 4224 | len = 10; | 4233 | len = 10; |
| 4225 | overlay_vec = xmalloc (len * sizeof *overlay_vec); | 4234 | overlay_vec = xmalloc (len * sizeof *overlay_vec); |
| 4226 | 4235 | ||
| @@ -4260,6 +4269,9 @@ the value is (point-min). */) | |||
| 4260 | 4269 | ||
| 4261 | CHECK_NUMBER_COERCE_MARKER (pos); | 4270 | CHECK_NUMBER_COERCE_MARKER (pos); |
| 4262 | 4271 | ||
| 4272 | if (!buffer_has_overlays ()) | ||
| 4273 | return make_number (BEGV); | ||
| 4274 | |||
| 4263 | /* At beginning of buffer, we know the answer; | 4275 | /* At beginning of buffer, we know the answer; |
| 4264 | avoid bug subtracting 1 below. */ | 4276 | avoid bug subtracting 1 below. */ |
| 4265 | if (XINT (pos) == BEGV) | 4277 | if (XINT (pos) == BEGV) |