summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2002-05-07 05:46:35 +0000
committerEli Zaretskii <eliz@gnu.org>2002-05-07 05:46:35 +0000
commit7b9ae523c5a3dca44fbaf64920062b236cc50e50 (patch)
treeca7cd430ead7948cc3075a7560e50ba180895e19 /src
parentef93458b2f8ae0e15c8e85656d68e22bb4f230b3 (diff)
downloademacs-7b9ae523c5a3dca44fbaf64920062b236cc50e50.tar.gz
(lisp_data_to_selection_data): Don't set selection
type if comes from the Lisp object's car. If the selection contains a pure ASCII text, always return QSTRING as its type.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/xselect.c15
2 files changed, 16 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 4f37ed65ac7..d8c725c7333 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * xselect.c (lisp_data_to_selection_data): Don't set selection
+ type if comes from the Lisp object's car. If the selection
+ contains a pure ASCII text, always return QSTRING as its type.
+
2002-05-06 Pavel Jan,Bm(Bk <Pavel@Janik.cz>
* mac.c (mac-cut-function): Doc fix.
diff --git a/src/xselect.c b/src/xselect.c
index 03580b782fe..c95cc211c1d 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -1765,11 +1765,16 @@ lisp_data_to_selection_data (display, obj,
*data_ret = x_encode_text (obj, Vnext_selection_coding_system, 1,
(int *) size_ret, &stringp);
*nofree_ret = (*data_ret == XSTRING (obj)->data);
- if (EQ (Vnext_selection_coding_system,
- Qcompound_text_with_extensions))
- type = QCOMPOUND_TEXT;
- else if (NILP (type))
- type = (stringp ? QSTRING : QCOMPOUND_TEXT);
+ if (NILP (type))
+ {
+ if (stringp && *nofree_ret)
+ type = QSTRING;
+ else if (EQ (Vnext_selection_coding_system,
+ Qcompound_text_with_extensions))
+ type = QCOMPOUND_TEXT;
+ else
+ type = (stringp ? QSTRING : QCOMPOUND_TEXT);
+ }
Vlast_coding_system_used = (*nofree_ret
? Qraw_text
: Vnext_selection_coding_system);