aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/select.el5
2 files changed, 9 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e99856fe5f..25e0f80134 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2004-10-25 Kenichi Handa <[email protected]>
+
+ * select.el (x-set-cut-buffer): Encode STRING if necessary.
+
2004-10-24 Luc Teirlinck <[email protected]>
* indent.el (set-left-margin, set-right-margin): Delete redundant
diff --git a/lisp/select.el b/lisp/select.el
index 565ddd7d22..bca19a5cd6 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -144,6 +144,11 @@ Cut buffers are considered obsolete; you should use selections instead."
(or (stringp string) (signal 'wrong-type-argument (list 'string string)))
(if push
(x-rotate-cut-buffers-internal 1))
+ (if (> (string-bytes string) (length string))
+ ;; STRING is a multibyte string contains non-ASCII characters.
+ (if locale-coding-system
+ (setq string (encode-coding-string string locale-coding-system))
+ (setq string (string-make-unibyte string))))
(x-store-cut-buffer-internal 'CUT_BUFFER0 string))