Commit 52c7f9ee authored by Jason Rumney's avatar Jason Rumney

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.
parent d02d0705
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))))
......
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
......
......@@ -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 */
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment