X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/341dd15a7bd9d0b4adff846e94289b3e1877eed1..220d91b834f7f7252b9953460422151b86b3520c:/src/w32select.c
diff --git a/src/w32select.c b/src/w32select.c
index e436e09de8..f9bab38406 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -1,13 +1,13 @@
/* Selection processing for Emacs on the Microsoft W32 API.
Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-GNU Emacs is free software; you can redistribute it and/or modify
+GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,9 +15,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA. */
+along with GNU Emacs. If not, see . */
/* Written by Kevin Gallo, Benjamin Riefenstahl */
@@ -32,7 +30,7 @@ Boston, MA 02110-1301, USA. */
* (CF_UNICODETEXT), when a well-known console codepage is given, they
* apply to the console version of the clipboard data (CF_OEMTEXT),
* else they apply to the normal 8-bit text clipboard (CF_TEXT).
- *
+ *
* When pasting (getting data from the OS), the clipboard format that
* matches the {next-}selection-coding-system is retrieved. If
* Unicode is requested, but not available, 8-bit text (CF_TEXT) is
@@ -47,13 +45,13 @@ Boston, MA 02110-1301, USA. */
*
* Scenarios to use the facilities for customizing the selection
* coding system are:
- *
+ *
* ;; Generally use KOI8-R instead of the russian MS codepage for
* ;; the 8-bit clipboard.
* (set-selection-coding-system 'koi8-r-dos)
- *
+ *
* Or
- *
+ *
* ;; Create a special clipboard copy function that uses codepage
* ;; 1253 (Greek) to copy Greek text to a specific non-Unicode
* ;; application.
@@ -73,8 +71,9 @@ Boston, MA 02110-1301, USA. */
* types should be supported is also moved to Lisp, functionality
* could be expanded to CF_HTML, CF_RTF and maybe other types.
*/
-
+
#include
+#include
#include "lisp.h"
#include "w32term.h" /* for all of the w32 includes */
#include "w32heap.h" /* os_subtype */
@@ -90,8 +89,8 @@ static HGLOBAL convert_to_handle_as_ascii (void);
static HGLOBAL convert_to_handle_as_coded (Lisp_Object coding_system);
static Lisp_Object render (Lisp_Object oformat);
static Lisp_Object render_locale (void);
-static Lisp_Object render_all (void);
-static void run_protected (Lisp_Object (*code) (), Lisp_Object arg);
+static Lisp_Object render_all (Lisp_Object ignore);
+static void run_protected (Lisp_Object (*code) (Lisp_Object), Lisp_Object arg);
static Lisp_Object lisp_error_handler (Lisp_Object error);
static LRESULT CALLBACK owner_callback (HWND win, UINT msg,
WPARAM wp, LPARAM lp);
@@ -221,11 +220,11 @@ convert_to_handle_as_coded (Lisp_Object coding_system)
unsigned char *dst = NULL;
struct coding_system coding;
- ONTRACE (fprintf (stderr, "convert_to_handle_as_coded: %s\n",
+ ONTRACE (fprintf (stderr, "convert_to_handle_as_coded: %s\n",
SDATA (SYMBOL_NAME (coding_system))));
setup_windows_coding_system (coding_system, &coding);
- coding.dst_bytes = SBYTES(current_text) * 2;
+ coding.dst_bytes = SBYTES (current_text) * 2;
coding.destination = (unsigned char *) xmalloc (coding.dst_bytes);
encode_coding_object (&coding, current_text, 0, 0,
SCHARS (current_text), SBYTES (current_text), Qnil);
@@ -291,7 +290,7 @@ render (Lisp_Object oformat)
if (SetClipboardData (format, htext) == NULL)
{
- GlobalFree(htext);
+ GlobalFree (htext);
return Qnil;
}
@@ -315,7 +314,7 @@ render_locale (void)
if ((lcid_ptr = (LCID *) GlobalLock (hlocale)) == NULL)
{
- GlobalFree(hlocale);
+ GlobalFree (hlocale);
return Qnil;
}
@@ -324,7 +323,7 @@ render_locale (void)
if (SetClipboardData (CF_LOCALE, hlocale) == NULL)
{
- GlobalFree(hlocale);
+ GlobalFree (hlocale);
return Qnil;
}
@@ -335,7 +334,7 @@ render_locale (void)
data survives us. This code will do that. */
static Lisp_Object
-render_all (void)
+render_all (Lisp_Object ignore)
{
ONTRACE (fprintf (stderr, "render_all\n"));
@@ -381,7 +380,7 @@ render_all (void)
automatic conversions anywhere else, so to get consistent
results, we probably don't want to rely on it here either. */
- render_locale();
+ render_locale ();
if (current_clipboard_type == CF_UNICODETEXT)
render (make_number (CF_TEXT));
@@ -393,13 +392,12 @@ render_all (void)
}
static void
-run_protected (Lisp_Object (*code) (), Lisp_Object arg)
+run_protected (Lisp_Object (*code) (Lisp_Object), Lisp_Object arg)
{
/* FIXME: This works but it doesn't feel right. Too much fiddling
with global variables and calling strange looking functions. Is
this really the right way to run Lisp callbacks? */
- extern int waiting_for_input;
int owfi;
BLOCK_INPUT;
@@ -515,7 +513,7 @@ setup_config (void)
&& EQ (cfg_coding_system, dos_coding_system))
return;
cfg_coding_system = dos_coding_system;
-
+
/* Set some sensible fallbacks */
cfg_codepage = ANSICP;
cfg_lcid = LOCALE_NEUTRAL;
@@ -584,7 +582,7 @@ enum_locale_callback (/*const*/ char* loc_string)
cfg_clipboard_type = CF_TEXT;
return FALSE; /* Stop enumeration */
}
-
+
/* Is the wanted codepage the OEM codepage for this locale? */
codepage = cp_from_locale (lcid, CF_OEMTEXT);
if (codepage == cfg_codepage)
@@ -682,8 +680,7 @@ setup_windows_coding_system (Lisp_Object coding_system,
DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
Sw32_set_clipboard_data, 1, 2, 0,
doc: /* This sets the clipboard data to the given text. */)
- (string, ignored)
- Lisp_Object string, ignored;
+ (Lisp_Object string, Lisp_Object ignored)
{
BOOL ok = TRUE;
int nbytes;
@@ -705,7 +702,7 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
current_lcid = cfg_lcid;
current_num_nls = 0;
current_requires_encoding = 0;
-
+
BLOCK_INPUT;
/* Check for non-ASCII characters. While we are at it, count the
@@ -745,7 +742,7 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
/* If we have something non-ASCII we may want to set a locale. We
do that directly (non-delayed), as it's just a small bit. */
if (ok)
- ok = !NILP(render_locale());
+ ok = !NILP (render_locale ());
if (ok)
{
@@ -754,7 +751,7 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
/* If for some reason we don't have a clipboard_owner, we
just set the text format as chosen by the configuration
and than forget about the whole thing. */
- ok = !NILP(render (make_number (current_clipboard_type)));
+ ok = !NILP (render (make_number (current_clipboard_type)));
current_text = Qnil;
current_coding_system = Qnil;
}
@@ -803,8 +800,7 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
DEFUN ("w32-get-clipboard-data", Fw32_get_clipboard_data,
Sw32_get_clipboard_data, 0, 1, 0,
doc: /* This gets the clipboard data in text format. */)
- (ignored)
- Lisp_Object ignored;
+ (Lisp_Object ignored)
{
HGLOBAL htext;
Lisp_Object ret = Qnil;
@@ -885,7 +881,7 @@ DEFUN ("w32-get-clipboard-data", Fw32_get_clipboard_data,
struct coding_system coding;
Lisp_Object coding_system = Qnil;
Lisp_Object dos_coding_system;
-
+
/* `next-selection-coding-system' should override everything,
even when the locale passed by the system disagrees. The
only exception is when `next-selection-coding-system'
@@ -1028,8 +1024,7 @@ the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
\(Those are literal upper-case symbol names, since that's what X expects.)
For convenience, the symbol nil is the same as `PRIMARY',
and t is the same as `SECONDARY'. */)
- (selection)
- Lisp_Object selection;
+ (Lisp_Object selection)
{
CHECK_SYMBOL (selection);
@@ -1066,7 +1061,7 @@ and t is the same as `SECONDARY'. */)
dumped version. */
void
-syms_of_w32select ()
+syms_of_w32select (void)
{
defsubr (&Sw32_set_clipboard_data);
defsubr (&Sw32_get_clipboard_data);
@@ -1077,7 +1072,7 @@ syms_of_w32select ()
When sending or receiving text via cut_buffer, selection, and
clipboard, the text is encoded or decoded by this coding system.
The default value is the current system default encoding on 9x/Me and
-`utf-16le-dos' (Unicode) on NT/W2K/XP. */);
+`utf-16le-dos' (Unicode) on NT/W2K/XP. */);
/* The actual value is set dynamically in the dumped Emacs, see
below. */
Vselection_coding_system = Qnil;
@@ -1105,7 +1100,7 @@ set to nil. */);
un-dumped version. */
void
-globals_of_w32select ()
+globals_of_w32select (void)
{
DEFAULT_LCID = GetUserDefaultLCID ();
/* Drop the sort order from the LCID, so we can compare this with