]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix execution of x selection hooks.
authorJohan Bockgård <bojohan@gnu.org>
Wed, 13 Jul 2011 01:48:43 +0000 (03:48 +0200)
committerJohan Bockgård <bojohan@gnu.org>
Wed, 13 Jul 2011 01:48:43 +0000 (03:48 +0200)
* xselect.c (Qx_lost_selection_functions)
(Qx_sent_selection_functions): New vars.
(syms_of_xselect): DEFSYM them.
(x_handle_selection_request): Pass Qx_sent_selection_functions
rather than Vx_sent_selection_functions to Frun_hook_with_args.
(x_handle_selection_clear,x_clear_frame_selections):
Pass Qx_lost_selection_functions rather than
Vx_lost_selection_functions to Frun_hook_with_args.

src/ChangeLog
src/xselect.c

index e8824f3a15fad8d49f682aa43167be0413bd32cc..5bdc940a6f36862e3f9844a3333bd58fa4d73cf8 100644 (file)
@@ -1,3 +1,15 @@
+2011-07-13  Johan Bockgård  <bojohan@gnu.org>
+
+       Fix execution of x selection hooks.
+       * xselect.c (Qx_lost_selection_functions)
+       (Qx_sent_selection_functions): New vars.
+       (syms_of_xselect): DEFSYM them.
+       (x_handle_selection_request): Pass Qx_sent_selection_functions
+       rather than Vx_sent_selection_functions to Frun_hook_with_args.
+       (x_handle_selection_clear,x_clear_frame_selections):
+       Pass Qx_lost_selection_functions rather than
+       Vx_lost_selection_functions to Frun_hook_with_args.
+
 2011-07-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        * buffer.c (Fget_buffer_create): Initialized inhibit_shrinking.
index 7f4e0b40f62c4e0f992ae42b01bf1c5c14610ee4..5e5bdb55eca37b55236fd503a64eb7b790bd511e 100644 (file)
@@ -112,6 +112,7 @@ static Lisp_Object QUTF8_STRING;    /* This is a type of selection.  */
 static Lisp_Object Qcompound_text_with_extensions;
 
 static Lisp_Object Qforeign_selection;
+static Lisp_Object Qx_lost_selection_functions, Qx_sent_selection_functions;
 
 /* If this is a smaller number than the max-request-size of the display,
    emacs will use INCR selection transfer when the selection is larger
@@ -855,7 +856,7 @@ x_handle_selection_request (struct input_event *event)
       && !EQ (Vx_sent_selection_functions, Qunbound))
     {
       Lisp_Object args[4];
-      args[0] = Vx_sent_selection_functions;
+      args[0] = Qx_sent_selection_functions;
       args[1] = selection_symbol;
       args[2] = target_symbol;
       args[3] = success ? Qt : Qnil;
@@ -979,7 +980,7 @@ x_handle_selection_clear (struct input_event *event)
   /* Run the `x-lost-selection-functions' abnormal hook.  */
   {
     Lisp_Object args[2];
-    args[0] = Vx_lost_selection_functions;
+    args[0] = Qx_lost_selection_functions;
     args[1] = selection_symbol;
     Frun_hook_with_args (2, args);
   }
@@ -1020,7 +1021,7 @@ x_clear_frame_selections (FRAME_PTR f)
     {
       /* Run the `x-lost-selection-functions' abnormal hook.  */
       Lisp_Object args[2];
-      args[0] = Vx_lost_selection_functions;
+      args[0] = Qx_lost_selection_functions;
       args[1] = Fcar (Fcar (t->Vselection_alist));
       Frun_hook_with_args (2, args);
 
@@ -1033,7 +1034,7 @@ x_clear_frame_selections (FRAME_PTR f)
        && EQ (frame, XCAR (XCDR (XCDR (XCDR (XCAR (XCDR (rest))))))))
       {
        Lisp_Object args[2];
-       args[0] = Vx_lost_selection_functions;
+       args[0] = Qx_lost_selection_functions;
        args[1] = XCAR (XCAR (XCDR (rest)));
        Frun_hook_with_args (2, args);
        XSETCDR (rest, XCDR (XCDR (rest)));
@@ -2679,4 +2680,6 @@ A value of 0 means wait as long as necessary.  This is initialized from the
   DEFSYM (QNULL, "NULL");
   DEFSYM (Qcompound_text_with_extensions, "compound-text-with-extensions");
   DEFSYM (Qforeign_selection, "foreign-selection");
+  DEFSYM (Qx_lost_selection_functions, "x-lost-selection-functions");
+  DEFSYM (Qx_sent_selection_functions, "x-sent-selection-functions");
 }