From 6692a499ab43692628b806502bf565b2acedecc6 Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Wed, 20 Sep 2000 06:43:58 +0000 Subject: dirty bug fix in next-span to avoid loops with FSF Emacs --- generic/span-overlay.el | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'generic') diff --git a/generic/span-overlay.el b/generic/span-overlay.el index f1f6d6a9..7b313ed4 100644 --- a/generic/span-overlay.el +++ b/generic/span-overlay.el @@ -265,13 +265,23 @@ A span is before PT if it covers the character before PT." (find-span-aux prev-prop-p (span-property span 'before)))) ; overlays are [start, end) -(defun next-span (span prop) - "Return span after SPAN with property PROP. -If there are two spans overlapping then this won't work." - (let ((l (member-if (lambda (span) (span-property span prop)) - (overlays-at - (next-overlay-change (overlay-start span)))))) - (car-safe l))) +; Then test is for a dirty bug fix with FSF Emacs with next-span not +; advancing the span ! +(if proof-running-on-XEmacs + (defun next-span (span prop) + "Return span after SPAN with property PROP. If there are two spans overlapping then this won't work." + (let ((l (member-if (lambda (span) (span-property span prop)) + (overlays-at + (next-overlay-change (overlay-start span)))))) + (car-safe l))) + (defun next-span (span prop) + "Return span after SPAN with property PROP. If there are two spans overlapping then this won't work." + (let (spanres (l (member-if (lambda (span) (span-property span prop)) + (overlays-at + (next-overlay-change (overlay-start span)))))) + (setq spanres (car-safe l)) + (if (and spanres (<= (span-start spanres) (span-start span))) + nil spanres)))) (defsubst span-live-p (span) -- cgit v1.2.3