emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unicode support for the MS Windows clipboard [new patch]


From: Tak Ota
Subject: Re: Unicode support for the MS Windows clipboard [new patch]
Date: Mon, 15 Nov 2004 13:41:41 -0800 (PST)

Benny,

While using emacs for some time (days) the clipboard operation becomes
unavailable and the following error messages appear in the message
buffer.

Copying from emacs and pasting in another application:
  "Error in delayed clipboard rendering: Text is read-only"

Yanking from clipboard into emacs:
  "w32-get-clipboard-data:(text-read-only)"

After restarting the emacs the problem is gone for a while then it
comes back in later time.  Is there a possibility of leaking memory
handles?

-Tak

Mon, 08 Nov 2004 18:24:44 +0100: Benjamin Riefenstahl <address@hidden> wrote:

> Hi all,
> 
> 
> Now that my papers are in order (;-)), here is a new version of the
> much discussed patch to support the Unicode clipboard on Windows
> (attached).
> 
> Notes:
> 
> - I didn't provide user-level documentation except a short mention in
>   etc/NEWS.  The defaults should work fine and there should be less
>   need to customize this than on X11.
> 
> - There is a short discussion of the use of the customization in
>   comments in the code.  Something similar may be usefull in the ELisp
>   manual, probably in "Window System Selections."
> 
> 
> benny
> 
> 
> 2004-11-08  Benjamin Riefenstahl  <address@hidden>
> 
>       * 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.
> 
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]