X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/7105c8cbf3a3226701e4d2ecb0b9c2d207648a98..49cdacdad393e2b9282a19a963030dfbe1a738ab:/src/w32select.c
diff --git a/src/w32select.c b/src/w32select.c
index 11c68c9c61..1b10c74cfe 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -75,12 +75,18 @@ along with GNU Emacs. If not, see . */
#include
#include "lisp.h"
#include "w32term.h" /* for all of the w32 includes */
-#include "w32heap.h" /* os_subtype */
+#include "w32common.h" /* os_subtype */
+#include "keyboard.h"
#include "blockinput.h"
#include "charset.h"
#include "coding.h"
#include "composite.h"
+#ifdef CYGWIN
+#include
+#include
+#define _memccpy memccpy
+#endif
static HGLOBAL convert_to_handle_as_ascii (void);
static HGLOBAL convert_to_handle_as_coded (Lisp_Object coding_system);
@@ -388,10 +394,9 @@ run_protected (Lisp_Object (*code) (Lisp_Object), Lisp_Object arg)
with global variables and calling strange looking functions. Is
this really the right way to run Lisp callbacks? */
- extern int waiting_for_input; /* from keyboard.c */
int owfi;
- BLOCK_INPUT;
+ block_input ();
/* Fsignal calls emacs_abort () if it sees that waiting_for_input is
set. */
@@ -402,7 +407,7 @@ run_protected (Lisp_Object (*code) (Lisp_Object), Lisp_Object arg)
waiting_for_input = owfi;
- UNBLOCK_INPUT;
+ unblock_input ();
}
static Lisp_Object
@@ -474,7 +479,10 @@ term_w32select (void)
{
/* This is needed to trigger WM_RENDERALLFORMATS. */
if (clipboard_owner != NULL)
- DestroyWindow (clipboard_owner);
+ {
+ DestroyWindow (clipboard_owner);
+ clipboard_owner = NULL;
+ }
}
static void
@@ -694,7 +702,7 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
current_num_nls = 0;
current_requires_encoding = 0;
- BLOCK_INPUT;
+ block_input ();
/* Check for non-ASCII characters. While we are at it, count the
number of LFs, so we know how many CRs we will have to add later
@@ -782,7 +790,7 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
current_coding_system = Qnil;
done:
- UNBLOCK_INPUT;
+ unblock_input ();
return (ok ? string : Qnil);
}
@@ -810,7 +818,7 @@ DEFUN ("w32-get-clipboard-data", Fw32_get_clipboard_data,
setup_config ();
actual_clipboard_type = cfg_clipboard_type;
- BLOCK_INPUT;
+ block_input ();
if (!OpenClipboard (clipboard_owner))
goto done;
@@ -1000,7 +1008,7 @@ DEFUN ("w32-get-clipboard-data", Fw32_get_clipboard_data,
CloseClipboard ();
done:
- UNBLOCK_INPUT;
+ unblock_input ();
return (ret);
}