Mercurial > emacs
comparison src/buffer.c @ 36584:1f80152aeddc
(mouse_face_overlay_overlaps): New function.
| author | Gerd Moellmann <gerd@gnu.org> |
|---|---|
| date | Tue, 06 Mar 2001 15:28:48 +0000 |
| parents | e5e6579e8308 |
| children | c9ab48ddfcfe |
comparison
equal
deleted
inserted
replaced
| 36583:adb23d572f63 | 36584:1f80152aeddc |
|---|---|
| 1 /* Buffer manipulation primitives for GNU Emacs. | 1 /* Buffer manipulation primitives for GNU Emacs. |
| 2 Copyright (C) 1985,86,87,88,89,93,94,95,97,98, 1999, 2000 | 2 Copyright (C) 1985,86,87,88,89,93,94,95,97,98, 1999, 2000, 2001 |
| 3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
| 4 | 4 |
| 5 This file is part of GNU Emacs. | 5 This file is part of GNU Emacs. |
| 6 | 6 |
| 7 GNU Emacs is free software; you can redistribute it and/or modify | 7 GNU Emacs is free software; you can redistribute it and/or modify |
| 2516 *next_ptr = next; | 2516 *next_ptr = next; |
| 2517 if (prev_ptr) | 2517 if (prev_ptr) |
| 2518 *prev_ptr = prev; | 2518 *prev_ptr = prev; |
| 2519 return idx; | 2519 return idx; |
| 2520 } | 2520 } |
| 2521 | |
| 2522 | |
| 2523 /* Return non-zero if there exists an overlay with a non-nil | |
| 2524 `mouse-face' property overlapping OVERLAY. */ | |
| 2525 | |
| 2526 int | |
| 2527 mouse_face_overlay_overlaps (overlay) | |
| 2528 Lisp_Object overlay; | |
| 2529 { | |
| 2530 int start = OVERLAY_POSITION (OVERLAY_START (overlay)); | |
| 2531 int end = OVERLAY_POSITION (OVERLAY_END (overlay)); | |
| 2532 int n, i; | |
| 2533 Lisp_Object *v, tem; | |
| 2534 | |
| 2535 n = 10; | |
| 2536 v = (Lisp_Object *) alloca (n * sizeof *v); | |
| 2537 i = overlays_in (start, end, 0, &v, &n, NULL, NULL); | |
| 2538 if (i > n) | |
| 2539 { | |
| 2540 n = i; | |
| 2541 v = (Lisp_Object *) alloca (n * sizeof *v); | |
| 2542 overlays_in (start, end, 0, &v, &n, NULL, NULL); | |
| 2543 } | |
| 2544 | |
| 2545 for (i = 0; i < n; ++i) | |
| 2546 if (!EQ (v[i], overlay) | |
| 2547 && (tem = Foverlay_get (overlay, Qmouse_face), | |
| 2548 !NILP (tem))) | |
| 2549 break; | |
| 2550 | |
| 2551 return i < n; | |
| 2552 } | |
| 2553 | |
| 2554 | |
| 2521 | 2555 |
| 2522 /* Fast function to just test if we're at an overlay boundary. */ | 2556 /* Fast function to just test if we're at an overlay boundary. */ |
| 2523 int | 2557 int |
| 2524 overlay_touches_p (pos) | 2558 overlay_touches_p (pos) |
| 2525 int pos; | 2559 int pos; |
