summaryrefslogtreecommitdiff
path: root/src/pgtkselect.c
diff options
context:
space:
mode:
authorYuuki Harano <masm+github@masm11.me>2021-03-02 22:44:42 +0900
committerYuuki Harano <masm+github@masm11.me>2021-03-02 22:44:42 +0900
commit565995d408ca65ec9f981f175cca29d2164a5fd0 (patch)
tree8db7aa64cecf8656f59a9e69d7559d61d9939dd4 /src/pgtkselect.c
parent436f21eda127882a8408bdc8ae0d398c2cf5aff2 (diff)
downloademacs-565995d408ca65ec9f981f175cca29d2164a5fd0.tar.gz
emacs-565995d408ca65ec9f981f175cca29d2164a5fd0.tar.bz2
emacs-565995d408ca65ec9f981f175cca29d2164a5fd0.zip
Fix unicode strings can't be pasted correctly
* lisp/select.el (x-select-request-type): Use text/plain;charset=utf-8 instead. (gui--selection-value-internal): same. (gui-get-selection): Treat text/plain;charset=utf-8 as utf-8. * src/pgtkselect.c (Fpgtk_get_selection_internal): Support text/plain;charset=utf-8 as foreign-selection. (syms_of_pgtkselect): Add new symbol.
Diffstat (limited to 'src/pgtkselect.c')
-rw-r--r--src/pgtkselect.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pgtkselect.c b/src/pgtkselect.c
index 469e42f8165..7b7bc69df75 100644
--- a/src/pgtkselect.c
+++ b/src/pgtkselect.c
@@ -576,6 +576,8 @@ On PGTK, TIME-STAMP is unused. */)
lispy_type = QCOMPOUND_TEXT;
else if (sd_type == gdk_atom_intern("UTF8_STRING", false))
lispy_type = QUTF8_STRING;
+ else if (sd_type == gdk_atom_intern("text/plain;charset=utf-8", false))
+ lispy_type = Qtext_plain_charset_utf_8;
else
lispy_type = QSTRING;
Fput_text_property (make_fixnum (0), make_fixnum (sd_len),
@@ -611,6 +613,7 @@ syms_of_pgtkselect (void)
DEFSYM (QUTF8_STRING, "UTF8_STRING");
DEFSYM (QSTRING, "STRING");
DEFSYM (QCOMPOUND_TEXT, "COMPOUND_TEXT");
+ DEFSYM (Qtext_plain_charset_utf_8, "text/plain;charset=utf-8");
defsubr (&Spgtk_disown_selection_internal);
defsubr (&Spgtk_get_selection_internal);