diff options
-rw-r--r-- | lisp/ChangeLog | 4 | ||||
-rw-r--r-- | lisp/select.el | 5 |
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)) |