X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/42216a6b65dabb543156bc5e52cbf89d8ce96cb9..de92a50b9e157cac071355b9836717e62b9edff1:/src/w32select.c diff --git a/src/w32select.c b/src/w32select.c index d620206aa1..592ed1d05d 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 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 */ @@ -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; } @@ -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)); @@ -515,7 +514,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 +583,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) @@ -705,7 +704,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 +744,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 +753,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; } @@ -885,7 +884,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,7 +1027,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) + (selection) Lisp_Object selection; { CHECK_SYMBOL (selection); @@ -1077,7 +1076,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;