Mercurial > hg > xemacs-beta
diff src/select-msw.c @ 416:ebe98a74bd68 r21-2-16
Import from CVS: tag r21-2-16
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:22:23 +0200 |
parents | da8ed4261e83 |
children |
line wrap: on
line diff
--- a/src/select-msw.c Mon Aug 13 11:21:40 2007 +0200 +++ b/src/select-msw.c Mon Aug 13 11:22:23 2007 +0200 @@ -101,7 +101,10 @@ Lisp_Object converted_value = get_local_selection (selection_name, QSTRING); if (!NILP (converted_value) && CONSP (converted_value) && - EQ (XCAR (converted_value), QSTRING)) + EQ (XCAR (converted_value), QSTRING) && + /* pure mswindows behaviour only says we can own the selection + if it is the clipboard */ + EQ (selection_name, QCLIPBOARD)) Fmswindows_set_clipboard (XCDR (converted_value)); return Qnil; @@ -162,7 +165,10 @@ static Lisp_Object mswindows_get_foreign_selection (Lisp_Object selection_symbol, Lisp_Object target_type) { - return Fmswindows_get_clipboard (); + if (EQ (selection_symbol, QCLIPBOARD)) + return Fmswindows_get_clipboard (); + else + return Qnil; } DEFUN ("mswindows-selection-exists-p", Fmswindows_selection_exists_p, 0, 0, 0, /* @@ -184,7 +190,8 @@ static void mswindows_disown_selection (Lisp_Object selection, Lisp_Object timeval) { - Fmswindows_delete_selection (); + if (EQ (selection, QCLIPBOARD)) + Fmswindows_delete_selection (); }