[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: overlay-start > overlay-end

From: Masatake YAMATO
Subject: Re: overlay-start > overlay-end
Date: Tue, 23 Mar 2004 17:45:01 +0900 (JST)

>     +  /* Canonicalize the order of start and end. */
>     +  if (tail)
>     +    {
> This fixes just one overlay.  What if there are several
> such overlays?  I think it is necessary to have a loop
> here, to fix as many broken overlays as there may be.

Thank you for suggestion. I found a function for the
purpose: fix_overlays_in_range. I put it inside
`fix_overlays_before'. Instead I put it to the upper
level function.

BTW, how do you think changing function names:

fix_overlays_in_range => fix_start_end_in_overlays
fix_overlays_before   => fix_order_of_overlays_in_buffer

Both functions fix orders. However the scope(target?) of order
is different; fix_overlays_in_range fixes the order inside
an overlay and fix_overlays_before fixed the order insdie
buffer's overlay list. The function names don't show the
difference of scope.

Masatake YAMATO

cvs diff: warning: unrecognized response `access control disabled, clients can 
connect from any host' from cvs server
Index: src/insdel.c
RCS file: /cvsroot/emacs/emacs/src/insdel.c,v
retrieving revision 1.176
diff -u -r1.176 insdel.c
--- src/insdel.c        1 Sep 2003 15:45:52 -0000       1.176
+++ src/insdel.c        23 Mar 2004 08:37:12 -0000
@@ -441,9 +441,13 @@
   /* Adjusting only markers whose insertion-type is t may result in
-     disordered overlays in the slot `overlays_before'.  */
+     - disordered start and end in overlays, and 
+     - disordered overlays in the slot `overlays_before' of current_buffer.  */
   if (adjusted)
-    fix_overlays_before (current_buffer, from, to);
+    {
+      fix_overlays_in_range(from, to);
+      fix_overlays_before (current_buffer, from, to);
+    }
 /* Adjust point for an insertion of NBYTES bytes, which are NCHARS characters.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]