emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/casefiddle.c,v


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/casefiddle.c,v
Date: Tue, 12 Feb 2008 21:25:47 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/02/12 21:25:46

Index: casefiddle.c
===================================================================
RCS file: /sources/emacs/emacs/src/casefiddle.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -b -r1.62 -r1.63
--- casefiddle.c        1 Feb 2008 16:00:54 -0000       1.62
+++ casefiddle.c        12 Feb 2008 21:25:45 -0000      1.63
@@ -179,11 +179,11 @@
   register int c;
   register int inword = flag == CASE_DOWN;
   register int multibyte = !NILP (current_buffer->enable_multibyte_characters);
-  int start, end;
-  int start_byte, end_byte;
-  int changed = 0;
-  int opoint = PT;
-  int opoint_byte = PT_BYTE;
+  EMACS_INT start, end;
+  EMACS_INT start_byte, end_byte;
+  EMACS_INT first = -1, last;  /* Position of first and last changes.  */
+  EMACS_INT opoint = PT;
+  EMACS_INT opoint_byte = PT_BYTE;
 
   if (EQ (b, e))
     /* Not modifying because nothing marked */
@@ -226,7 +226,10 @@
        inword = ((SYNTAX (c) == Sword) && (inword || !SYNTAX_PREFIX (c)));
       if (c != c2)
        {
-         changed = 1;
+         last = start;
+         if (first < 0)
+           first = start;
+
          if (! multibyte)
            {
              MAKE_CHAR_UNIBYTE (c);
@@ -266,11 +269,10 @@
   if (PT != opoint)
     TEMP_SET_PT_BOTH (opoint, opoint_byte);
 
-  if (changed)
+  if (first >= 0)
     {
-      start = XFASTINT (b);
-      signal_after_change (start, end - start, end - start);
-      update_compositions (start, end, CHECK_ALL);
+      signal_after_change (first, last + 1 - first, last + 1 - first);
+      update_compositions (first, last + 1, CHECK_ALL);
     }
 }
 




reply via email to

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