Mercurial > emacs
view lisp/w32-vars.el @ 60092:04686828d0da
2004-11-08 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
* w32select.c: Summary: Thorough rework to implement Unicode
clipboard operations and delayed rendering.
Drop last_clipboard_text and related code, keep track of
ownership via clipboard_owner instead. Drop old #if0
sections.
(DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP)
(clipboard_owner, modifying_clipboard, cfg_coding_system)
(cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text)
(current_coding_system, current_requires_encoding)
(current_num_nls, current_clipboard_type, current_lcid): New
static variables.
(convert_to_handle_as_ascii, convert_to_handle_as_coded)
(render, render_all, run_protected, lisp_error_handler)
(owner_callback, create_owner, setup_config)
(enum_locale_callback, cp_from_locale, coding_from_cp): New
local functions.
(term_w32select, globals_of_w32select): New global functions.
(Fw32_set_clipboard_data): Ignore parameter FRAME, use
clipboard_owner instead. Use delayed rendering and provide
all text formats. Provide CF_LOCALE if necessary.
(Fw32_get_clipboard_data): Handle CF_UNICODETEXT and
CF_LOCALE. Fall back to CF_TEXT, if CF_UNICODETEXT is not
available. Force DOS line-ends for decoding.
(Fx_selection_exists_p): Handle CF_UNICODETEXT.
(syms_of_w32select): Init and register new variables.
* w32.h: Add prototypes for globals_of_w32select and
term_w32select. Make the neighboring K&R declarations into
prototypes, too.
* emacs.c: Include w32.h to get function prototypes.
(main): Call globals_of_w32select.
* w32.c (term_ntproc): Call term_w32select.
* mule-cmds.el (set-locale-environment): Remove call to
set-selection-coding-system on Windows.
* s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Tue, 15 Feb 2005 23:19:26 +0000 |
parents | aac0a33f5772 |
children | c905fcf5e3d9 3ebd9bdb4fe5 |
line wrap: on
line source
;;; w32-vars.el --- MS-Windows specific user options ;; Copyright (C) 2002 Free Software Foundation, Inc. ;; Author: Jason Rumney <jasonr@gnu.org> ;; Keywords: internal ;; This file is part of GNU Emacs. ;; 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 2, 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 ;; 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., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;;; Code: ;; Custom group for w32 specific settings (defgroup w32 nil "MS-Windows specific features" :group 'environment :version "22.1" :prefix "w32") ;; Redefine the font selection to use the standard W32 dialog (defcustom w32-use-w32-font-dialog t "*Use the standard font dialog. If nil, pop up a menu of a fixed set of fonts including fontsets, like X does. See `w32-fixed-font-alist' for the font menu definition." :type 'boolean :group 'w32) (defcustom w32-list-proportional-fonts nil "*Include proportional fonts in the default font dialog." :type 'boolean :group 'w32) (defcustom w32-allow-system-shell nil "*Disable startup warning when using \"system\" shells." :type 'boolean :group 'w32) (defcustom w32-system-shells '("cmd" "cmd.exe" "command" "command.com" "4nt" "4nt.exe" "4dos" "4dos.exe" "ndos" "ndos.exe") "*List of strings recognized as Windows NT/9X system shells." :type '(repeat string) :group 'w32) ;; Want "menu" custom type for this. (defcustom w32-fixed-font-alist '("Font menu" ("Misc" ;; For these, we specify the pixel height and width. ("fixed" "Fixedsys") ("") ("Terminal 5x4" "-*-Terminal-normal-r-*-*-*-45-*-*-c-40-*-oem") ("Terminal 6x8" "-*-Terminal-normal-r-*-*-*-60-*-*-c-80-*-oem") ("Terminal 9x5" "-*-Terminal-normal-r-*-*-*-90-*-*-c-50-*-oem") ("Terminal 9x7" "-*-Terminal-normal-r-*-*-*-90-*-*-c-70-*-oem") ("Terminal 9x8" "-*-Terminal-normal-r-*-*-*-90-*-*-c-80-*-oem") ("Terminal 12x12" "-*-Terminal-normal-r-*-*-*-120-*-*-c-120-*-oem") ("Terminal 14x10" "-*-Terminal-normal-r-*-*-*-135-*-*-c-100-*-oem") ("Terminal 6x6 Bold" "-*-Terminal-bold-r-*-*-*-60-*-*-c-60-*-oem") ("") ("Lucida Sans Typewriter.8" "-*-Lucida Sans Typewriter-normal-r-*-*-11-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.9" "-*-Lucida Sans Typewriter-normal-r-*-*-12-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.10" "-*-Lucida Sans Typewriter-normal-r-*-*-13-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.11" "-*-Lucida Sans Typewriter-normal-r-*-*-15-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.12" "-*-Lucida Sans Typewriter-normal-r-*-*-16-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.8 Bold" "-*-Lucida Sans Typewriter-semibold-r-*-*-11-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.9 Bold" "-*-Lucida Sans Typewriter-semibold-r-*-*-12-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.10 Bold" "-*-Lucida Sans Typewriter-semibold-r-*-*-13-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.11 Bold" "-*-Lucida Sans Typewriter-semibold-r-*-*-15-*-*-*-c-*-iso8859-1") ("Lucida Sans Typewriter.12 Bold" "-*-Lucida Sans Typewriter-semibold-r-*-*-16-*-*-*-c-*-iso8859-1")) ("Courier" ("Courier 10x8" "-*-Courier-*normal-r-*-*-*-97-*-*-c-80-iso8859-1") ("Courier 12x9" "-*-Courier-*normal-r-*-*-*-120-*-*-c-90-iso8859-1") ("Courier 15x12" "-*-Courier-*normal-r-*-*-*-150-*-*-c-120-iso8859-1") ;; For these, we specify the point height. ("") ("8" "-*-Courier New-normal-r-*-*-11-*-*-*-c-*-iso8859-1") ("9" "-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-1") ("10" "-*-Courier New-normal-r-*-*-13-*-*-*-c-*-iso8859-1") ("11" "-*-Courier New-normal-r-*-*-15-*-*-*-c-*-iso8859-1") ("12" "-*-Courier New-normal-r-*-*-16-*-*-*-c-*-iso8859-1") ("8 bold" "-*-Courier New-bold-r-*-*-11-*-*-*-c-*-iso8859-1") ("9 bold" "-*-Courier New-bold-r-*-*-12-*-*-*-c-*-iso8859-1") ("10 bold" "-*-Courier New-bold-r-*-*-13-*-*-*-c-*-iso8859-1") ("11 bold" "-*-Courier New-bold-r-*-*-15-*-*-*-c-*-iso8859-1") ("12 bold" "-*-Courier New-bold-r-*-*-16-*-*-*-c-*-iso8859-1") ("8 italic" "-*-Courier New-normal-i-*-*-11-*-*-*-c-*-iso8859-1") ("9 italic" "-*-Courier New-normal-i-*-*-12-*-*-*-c-*-iso8859-1") ("10 italic" "-*-Courier New-normal-i-*-*-13-*-*-*-c-*-iso8859-1") ("11 italic" "-*-Courier New-normal-i-*-*-15-*-*-*-c-*-iso8859-1") ("12 italic" "-*-Courier New-normal-i-*-*-16-*-*-*-c-*-iso8859-1") ("8 bold italic" "-*-Courier New-bold-i-*-*-11-*-*-*-c-*-iso8859-1") ("9 bold italic" "-*-Courier New-bold-i-*-*-12-*-*-*-c-*-iso8859-1") ("10 bold italic" "-*-Courier New-bold-i-*-*-13-*-*-*-c-*-iso8859-1") ("11 bold italic" "-*-Courier New-bold-i-*-*-15-*-*-*-c-*-iso8859-1") ("12 bold italic" "-*-Courier New-bold-i-*-*-16-*-*-*-c-*-iso8859-1") )) "*Fonts suitable for use in Emacs. Initially this is a list of some fixed width fonts that most people will have like Terminal and Courier. These fonts are used in the font menu if the variable `w32-use-w32-font-dialog' is nil." :type '(list (string :tag "Menu Title") (repeat :inline t (list :tag "Submenu" (string :tag "Title") (repeat :inline t (choice :tag "" (const :tag "Seperator" ("")) (list :tag "Font Entry" (string :tag "Menu text") (string :tag "Font")))))))) (defcustom x-select-enable-clipboard t "*Non-nil means cutting and pasting uses the clipboard. This is in addition to the primary selection." :type 'boolean :group 'killing) ;;; arch-tag: ee2394fb-9db7-4c15-a8f0-66b47f4a2bb1 ;;; w32-vars.el ends here