emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/keyboard.c,v
Date: Wed, 09 Apr 2008 03:29:48 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/04/09 03:29:47

Index: keyboard.c
===================================================================
RCS file: /sources/emacs/emacs/src/keyboard.c,v
retrieving revision 1.952
retrieving revision 1.953
diff -u -b -r1.952 -r1.953
--- keyboard.c  2 Apr 2008 20:22:37 -0000       1.952
+++ keyboard.c  9 Apr 2008 03:29:46 -0000       1.953
@@ -397,6 +397,7 @@
 
 /* Non-nil means deactivate the mark at end of this command.  */
 Lisp_Object Vdeactivate_mark;
+Lisp_Object Qdeactivate_mark;
 
 /* Menu bar specified in Lucid Emacs fashion.  */
 
@@ -1977,17 +1978,8 @@
          else if (EQ (Vtransient_mark_mode, Qonly))
            Vtransient_mark_mode = Qidentity;
 
-         if (!NILP (Vdeactivate_mark) && !NILP (Vtransient_mark_mode))
-           {
-             /* We could also call `deactivate'mark'.  */
-             if (EQ (Vtransient_mark_mode, Qlambda))
-               Vtransient_mark_mode = Qnil;
-             else
-               {
-                 current_buffer->mark_active = Qnil;
-                 call1 (Vrun_hooks, intern ("deactivate-mark-hook"));
-               }
-           }
+         if (!NILP (Vdeactivate_mark))
+           call0 (Qdeactivate_mark);
          else if (current_buffer != prev_buffer || MODIFF != prev_modiff)
            call1 (Vrun_hooks, intern ("activate-mark-hook"));
        }
@@ -2039,6 +2031,7 @@
      can't be usefully combined anyway.  */
   while (check_composition || check_display || check_invisible)
     {
+      /* FIXME: check `intangible'.  */
       if (check_composition
          && PT > BEGV && PT < ZV
          && get_property_and_range (PT, Qcomposition, &val, &beg, &end, Qnil)
@@ -12283,6 +12276,8 @@
 and tests the value when the command returns.
 Buffer modification stores t in this variable.  */);
   Vdeactivate_mark = Qnil;
+  Qdeactivate_mark = intern ("deactivate-mark");
+  staticpro (&Qdeactivate_mark);
 
   DEFVAR_LISP ("command-hook-internal", &Vcommand_hook_internal,
               doc: /* Temporary storage of pre-command-hook or 
post-command-hook.  */);




reply via email to

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