diff src/nsselect.m @ 109825:a2dc02f10ab3

Use CLIPBOARD and PRIMARY on NS (Bug#6677). * lisp/term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard): Use QCLIPBOARD instead of QPRIMARY (Bug#6677). * src/nsselect.m (QCLIPBOARD, NXPrimaryPboard): Define. (symbol_to_nsstring): Map QCLIPBOARD => NSGeneralPboard, QPRIMARY => NXPrimaryPboard. (ns_string_to_symbol): NSGeneralPboard => QCLIPBOARD, NXPrimaryPboard => QPRIMARY. (nxatoms_of_nsselect): NXPrimaryPboard = PrimarySelection, NXSecondaryPboard = SecondarySelection. (syms_of_nsselect): Intern QCLIPBOARD (Bug#6677).
author Jan D <jan.h.d@swipnet.se>
date Wed, 18 Aug 2010 08:16:55 +0200
parents e4d8eb8030c0
children 637005c4c3ca
line wrap: on
line diff
--- a/src/nsselect.m	Tue Aug 17 19:48:28 2010 -0700
+++ b/src/nsselect.m	Wed Aug 18 08:16:55 2010 +0200
@@ -37,7 +37,7 @@
 
 #define CUT_BUFFER_SUPPORT
 
-Lisp_Object QSECONDARY, QTEXT, QFILE_NAME;
+Lisp_Object QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME;
 
 static Lisp_Object Vns_sent_selection_hooks;
 static Lisp_Object Vns_lost_selection_hooks;
@@ -46,6 +46,8 @@
 
 static Lisp_Object Qforeign_selection;
 
+/* NSGeneralPboard is pretty much analogous to X11 CLIPBOARD */
+NSString *NXPrimaryPboard;
 NSString *NXSecondaryPboard;
 
 
@@ -61,7 +63,8 @@
 symbol_to_nsstring (Lisp_Object sym)
 {
   CHECK_SYMBOL (sym);
-  if (EQ (sym, QPRIMARY))     return NSGeneralPboard;
+  if (EQ (sym, QCLIPBOARD))     return NSGeneralPboard;
+  if (EQ (sym, QPRIMARY))     return NXPrimaryPboard;
   if (EQ (sym, QSECONDARY))   return NXSecondaryPboard;
   if (EQ (sym, QTEXT))        return NSStringPboardType;
   return [NSString stringWithUTF8String: SDATA (XSYMBOL (sym)->xname)];
@@ -72,6 +75,8 @@
 ns_string_to_symbol (NSString *t)
 {
   if ([t isEqualToString: NSGeneralPboard])
+    return QCLIPBOARD;
+  if ([t isEqualToString: NXPrimaryPboard])
     return QPRIMARY;
   if ([t isEqualToString: NXSecondaryPboard])
     return QSECONDARY;
@@ -537,12 +542,14 @@
 void
 nxatoms_of_nsselect (void)
 {
-  NXSecondaryPboard = @"Selection";
+  NXPrimaryPboard = @"PrimarySelection";
+  NXSecondaryPboard = @"SecondarySelection";
 }
 
 void
 syms_of_nsselect (void)
 {
+  QCLIPBOARD = intern ("CLIPBOARD");	staticpro (&QCLIPBOARD);
   QSECONDARY = intern ("SECONDARY");	staticpro (&QSECONDARY);
   QTEXT      = intern ("TEXT"); 	staticpro (&QTEXT);
   QFILE_NAME = intern ("FILE_NAME"); 	staticpro (&QFILE_NAME);