aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYuuki Harano2021-03-02 22:44:42 +0900
committerYuuki Harano2021-03-02 22:44:42 +0900
commit565995d408ca65ec9f981f175cca29d2164a5fd0 (patch)
tree8db7aa64cecf8656f59a9e69d7559d61d9939dd4 /src
parent436f21eda127882a8408bdc8ae0d398c2cf5aff2 (diff)
downloademacs-565995d408ca65ec9f981f175cca29d2164a5fd0.tar.gz
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')
-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. */)
576 lispy_type = QCOMPOUND_TEXT; 576 lispy_type = QCOMPOUND_TEXT;
577 else if (sd_type == gdk_atom_intern("UTF8_STRING", false)) 577 else if (sd_type == gdk_atom_intern("UTF8_STRING", false))
578 lispy_type = QUTF8_STRING; 578 lispy_type = QUTF8_STRING;
579 else if (sd_type == gdk_atom_intern("text/plain;charset=utf-8", false))
580 lispy_type = Qtext_plain_charset_utf_8;
579 else 581 else
580 lispy_type = QSTRING; 582 lispy_type = QSTRING;
581 Fput_text_property (make_fixnum (0), make_fixnum (sd_len), 583 Fput_text_property (make_fixnum (0), make_fixnum (sd_len),
@@ -611,6 +613,7 @@ syms_of_pgtkselect (void)
611 DEFSYM (QUTF8_STRING, "UTF8_STRING"); 613 DEFSYM (QUTF8_STRING, "UTF8_STRING");
612 DEFSYM (QSTRING, "STRING"); 614 DEFSYM (QSTRING, "STRING");
613 DEFSYM (QCOMPOUND_TEXT, "COMPOUND_TEXT"); 615 DEFSYM (QCOMPOUND_TEXT, "COMPOUND_TEXT");
616 DEFSYM (Qtext_plain_charset_utf_8, "text/plain;charset=utf-8");
614 617
615 defsubr (&Spgtk_disown_selection_internal); 618 defsubr (&Spgtk_disown_selection_internal);
616 defsubr (&Spgtk_get_selection_internal); 619 defsubr (&Spgtk_get_selection_internal);