(sigunblockx): Definitions deleted.
[bpt/emacs.git] / src / xselect.c
index ead207a..053d7f0 100644 (file)
@@ -1,5 +1,5 @@
 /* X Selection processing for Emacs.
-   Copyright (C) 1993, 1994, 1995 Free Software Foundation.
+   Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation.
 
 This file is part of GNU Emacs.
 
@@ -28,8 +28,6 @@ Boston, MA 02111-1307, USA.  */
 #include "frame.h"     /* Need this to get the X window of selected_frame */
 #include "blockinput.h"
 
-#define xfree free
-
 #define CUT_BUFFER_SUPPORT
 
 Lisp_Object QPRIMARY, QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD, QTIMESTAMP,
@@ -59,7 +57,8 @@ static Lisp_Object Vx_sent_selection_hooks;
 #endif
 
 /* The timestamp of the last input event Emacs received from the X server.  */
-unsigned long last_event_timestamp;
+/* Defined in keyboard.c.  */
+extern unsigned long last_event_timestamp;
 
 /* This is an association list whose elements are of the form
      ( SELECTION-NAME SELECTION-VALUE SELECTION-TIMESTAMP FRAME)
@@ -721,10 +720,10 @@ x_handle_selection_request (event)
       /* Indicate we have successfully processed this event.  */
       x_selection_current_request = 0;
 
-      /* Use xfree, not XFree, because lisp_data_to_selection_data
+      /* Use free, not XFree, because lisp_data_to_selection_data
         calls xmalloc itself.  */
       if (!nofree)
-       xfree (data);
+       free (data);
     }
   unbind_to (count, Qnil);
 
@@ -836,7 +835,11 @@ x_clear_frame_selections (f)
        {
          for (; CONSP (hooks); hooks = Fcdr (hooks))
            call1 (Fcar (hooks), selection_symbol);
+#if 0 /* This can crash when deleting a frame
+        from x_connection_closed.  Anyway, it seems unnecessary;
+        something else should cause a redisplay.  */
          redisplay_preserve_echo_area ();
+#endif
        }
 
       Vselection_alist = Fcdr (Vselection_alist);
@@ -856,7 +859,9 @@ x_clear_frame_selections (f)
          {
            for (; CONSP (hooks); hooks = Fcdr (hooks))
              call1 (Fcar (hooks), selection_symbol);
+#if 0 /* See above */
            redisplay_preserve_echo_area ();
+#endif
          }
        XCONS (rest)->cdr = Fcdr (XCONS (rest)->cdr);
        break;
@@ -921,7 +926,7 @@ unexpect_property_change (location)
            prev->next = rest->next;
          else
            property_change_wait_list = rest->next;
-         xfree (rest);
+         free (rest);
          return;
        }
       prev = rest;
@@ -1010,7 +1015,7 @@ x_handle_property_notify (event)
            prev->next = rest->next;
          else
            property_change_wait_list = rest->next;
-         xfree (rest);
+         free (rest);
          return;
        }
       prev = rest;
@@ -1155,7 +1160,7 @@ x_get_foreign_selection (selection_symbol, target_type)
 \f
 /* Subroutines of x_get_window_property_as_lisp_data */
 
-/* Use xfree, not XFree, to free the data obtained with this function.  */
+/* Use free, not XFree, to free the data obtained with this function.  */
 
 static void
 x_get_window_property (display, window, property, data_ret, bytes_ret,
@@ -1238,7 +1243,7 @@ x_get_window_property (display, window, property, data_ret, bytes_ret,
   *bytes_ret = offset;
 }
 \f
-/* Use xfree, not XFree, to free the data obtained with this function.  */
+/* Use free, not XFree, to free the data obtained with this function.  */
 
 static void
 receive_incremental_selection (display, window, property, target_type,
@@ -1300,9 +1305,9 @@ receive_incremental_selection (display, window, property, target_type,
          if (! waiting_for_other_props_on_window (display, window))
            XSelectInput (display, window, STANDARD_EVENT_SET);
          unexpect_property_change (wait_object);
-         /* Use xfree, not XFree, because x_get_window_property
+         /* Use free, not XFree, because x_get_window_property
             calls xmalloc itself.  */
-         if (tmp_data) xfree (tmp_data);
+         if (tmp_data) free (tmp_data);
          break;
        }
 
@@ -1327,9 +1332,9 @@ receive_incremental_selection (display, window, property, target_type,
        }
       bcopy (tmp_data, (*data_ret) + offset, tmp_size_bytes);
       offset += tmp_size_bytes;
-      /* Use xfree, not XFree, because x_get_window_property
+      /* Use free, not XFree, because x_get_window_property
         calls xmalloc itself.  */
-      xfree (tmp_data);
+      free (tmp_data);
     }
 }
 \f
@@ -1385,9 +1390,9 @@ x_get_window_property_as_lisp_data (display, window, property, target_type,
 
       unsigned int min_size_bytes = * ((unsigned int *) data);
       BLOCK_INPUT;
-      /* Use xfree, not XFree, because x_get_window_property
+      /* Use free, not XFree, because x_get_window_property
         calls xmalloc itself.  */
-      xfree ((char *) data);
+      free ((char *) data);
       UNBLOCK_INPUT;
       receive_incremental_selection (display, window, property, target_type,
                                     min_size_bytes, &data, &bytes,
@@ -1405,9 +1410,9 @@ x_get_window_property_as_lisp_data (display, window, property, target_type,
   val = selection_data_to_lisp_data (display, data, bytes,
                                     actual_type, actual_format);
   
-  /* Use xfree, not XFree, because x_get_window_property
+  /* Use free, not XFree, because x_get_window_property
      calls xmalloc itself.  */
-  xfree ((char *) data);
+  free ((char *) data);
   return val;
 }
 \f
@@ -1509,7 +1514,7 @@ selection_data_to_lisp_data (display, data, size, type, format)
 }
 
 
-/* Use xfree, not XFree, to free the data obtained with this function.  */
+/* Use free, not XFree, to free the data obtained with this function.  */
 
 static void
 lisp_data_to_selection_data (display, obj,
@@ -1996,9 +2001,9 @@ DEFUN ("x-get-cut-buffer-internal", Fx_get_cut_buffer_internal,
                           Fcons (make_number (format), Qnil))));
 
   ret = (bytes ? make_string ((char *) data, bytes) : Qnil);
-  /* Use xfree, not XFree, because x_get_window_property
+  /* Use free, not XFree, because x_get_window_property
      calls xmalloc itself.  */
-  xfree (data);
+  free (data);
   return ret;
 }