mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-07 08:00:48 -08:00
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.
This commit is contained in:
parent
d02d0705b3
commit
52c7f9eea2
8 changed files with 940 additions and 282 deletions
|
|
@ -1,3 +1,8 @@
|
|||
2005-02-15 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
|
||||
|
||||
* international/mule-cmds.el (set-locale-environment): Remove call
|
||||
to set-selection-coding-system on Windows.
|
||||
|
||||
2005-02-15 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc/calc-alg.el: Add simplification rules for calcFunc-sec,
|
||||
|
|
|
|||
|
|
@ -2421,13 +2421,13 @@ See also `locale-charset-language-names', `locale-language-names',
|
|||
(prefer-coding-system coding-system)
|
||||
(setq locale-coding-system coding-system))))
|
||||
|
||||
;; On Windows, override locale-coding-system, keyboard-coding-system,
|
||||
;; selection-coding-system with system codepage.
|
||||
;; On Windows, override locale-coding-system,
|
||||
;; keyboard-coding-system with system codepage. Note:
|
||||
;; selection-coding-system is already set in w32select.c.
|
||||
(when (boundp 'w32-ansi-code-page)
|
||||
(let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page))))
|
||||
(when (coding-system-p code-page-coding)
|
||||
(setq locale-coding-system code-page-coding)
|
||||
(set-selection-coding-system code-page-coding)
|
||||
(set-keyboard-coding-system code-page-coding)
|
||||
(set-terminal-coding-system code-page-coding))))
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,50 @@
|
|||
2004-02-15 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.
|
||||
|
||||
* s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef.
|
||||
|
||||
2005-02-16 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xdisp.c (BUFFER_POS_REACHED_P): Return true if pos reached and
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#ifdef WINDOWSNT
|
||||
#include <fcntl.h>
|
||||
#include <windows.h> /* just for w32.h */
|
||||
#include "w32.h"
|
||||
#endif
|
||||
|
||||
#include "lisp.h"
|
||||
|
|
@ -1654,6 +1656,7 @@ main (argc, argv
|
|||
#ifdef HAVE_NTGUI
|
||||
globals_of_w32fns ();
|
||||
globals_of_w32menu ();
|
||||
globals_of_w32select ();
|
||||
#endif /* HAVE_NTGUI */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -477,8 +477,10 @@ extern char *get_emacs_configuration_options (void);
|
|||
must include config.h to pick up this pragma. */
|
||||
|
||||
/* Names must be < 8 bytes */
|
||||
#ifdef _MSC_VER
|
||||
#pragma data_seg("EMDATA")
|
||||
#pragma bss_seg("EMBSS")
|
||||
#endif
|
||||
|
||||
/* #define FULL_DEBUG */
|
||||
/* #define EMACSDEBUG */
|
||||
|
|
|
|||
|
|
@ -3884,6 +3884,8 @@ term_ntproc ()
|
|||
/* shutdown the socket interface if necessary */
|
||||
term_winsock ();
|
||||
#endif
|
||||
|
||||
term_w32select ();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
22
src/w32.h
22
src/w32.h
|
|
@ -122,16 +122,18 @@ extern void reset_standard_handles (int in, int out,
|
|||
/* Return the string resource associated with KEY of type TYPE. */
|
||||
extern LPBYTE w32_get_resource (char * key, LPDWORD type);
|
||||
|
||||
extern void init_ntproc ();
|
||||
extern void term_ntproc ();
|
||||
extern void globals_of_w32 ();
|
||||
extern void syms_of_w32term ();
|
||||
extern void syms_of_w32fns ();
|
||||
extern void globals_of_w32fns ();
|
||||
extern void syms_of_w32select ();
|
||||
extern void syms_of_w32menu ();
|
||||
extern void globals_of_w32menu ();
|
||||
extern void syms_of_fontset ();
|
||||
extern void init_ntproc (void);
|
||||
extern void term_ntproc (void);
|
||||
extern void globals_of_w32 (void);
|
||||
extern void syms_of_w32term (void);
|
||||
extern void syms_of_w32fns (void);
|
||||
extern void globals_of_w32fns (void);
|
||||
extern void syms_of_w32select (void);
|
||||
extern void globals_of_w32select (void);
|
||||
extern void term_w32select (void);
|
||||
extern void syms_of_w32menu (void);
|
||||
extern void globals_of_w32menu (void);
|
||||
extern void syms_of_fontset (void);
|
||||
|
||||
#endif /* EMACS_W32_H */
|
||||
|
||||
|
|
|
|||
1135
src/w32select.c
1135
src/w32select.c
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue