aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-04-18 18:38:35 +0800
committerPo Lu2022-04-18 18:39:43 +0800
commit89a5aa4ca791b3ffefb0a5d464fa433f310a8398 (patch)
tree7a0725b26673e6f94c658cc8decb89e6027d6f08 /src
parent2b6a1c98dfba09d6922f1074047853366d26e31e (diff)
downloademacs-89a5aa4ca791b3ffefb0a5d464fa433f310a8398.tar.gz
emacs-89a5aa4ca791b3ffefb0a5d464fa433f310a8398.zip
Add missing Motif atoms
* src/xselect.c (symbol_to_x_atom): (x_atom_to_symbol): (syms_of_xselect): Optimize for XmTRANSFER_SUCCESS and XmTRANSFER_FAILURE as well.
Diffstat (limited to 'src')
-rw-r--r--src/xselect.c68
1 files changed, 50 insertions, 18 deletions
diff --git a/src/xselect.c b/src/xselect.c
index f855980a300..6d167c0b6f8 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -208,24 +208,49 @@ static Atom
208symbol_to_x_atom (struct x_display_info *dpyinfo, Lisp_Object sym) 208symbol_to_x_atom (struct x_display_info *dpyinfo, Lisp_Object sym)
209{ 209{
210 Atom val; 210 Atom val;
211 if (NILP (sym)) return 0; 211 if (NILP (sym))
212 if (EQ (sym, QPRIMARY)) return XA_PRIMARY; 212 return 0;
213 if (EQ (sym, QSECONDARY)) return XA_SECONDARY; 213 if (EQ (sym, QPRIMARY))
214 if (EQ (sym, QSTRING)) return XA_STRING; 214 return XA_PRIMARY;
215 if (EQ (sym, QINTEGER)) return XA_INTEGER; 215 if (EQ (sym, QSECONDARY))
216 if (EQ (sym, QATOM)) return XA_ATOM; 216 return XA_SECONDARY;
217 if (EQ (sym, QCLIPBOARD)) return dpyinfo->Xatom_CLIPBOARD; 217 if (EQ (sym, QSTRING))
218 if (EQ (sym, QTIMESTAMP)) return dpyinfo->Xatom_TIMESTAMP; 218 return XA_STRING;
219 if (EQ (sym, QTEXT)) return dpyinfo->Xatom_TEXT; 219 if (EQ (sym, QINTEGER))
220 if (EQ (sym, QCOMPOUND_TEXT)) return dpyinfo->Xatom_COMPOUND_TEXT; 220 return XA_INTEGER;
221 if (EQ (sym, QUTF8_STRING)) return dpyinfo->Xatom_UTF8_STRING; 221 if (EQ (sym, QATOM))
222 if (EQ (sym, QDELETE)) return dpyinfo->Xatom_DELETE; 222 return XA_ATOM;
223 if (EQ (sym, QMULTIPLE)) return dpyinfo->Xatom_MULTIPLE; 223 if (EQ (sym, QCLIPBOARD))
224 if (EQ (sym, QINCR)) return dpyinfo->Xatom_INCR; 224 return dpyinfo->Xatom_CLIPBOARD;
225 if (EQ (sym, Q_EMACS_TMP_)) return dpyinfo->Xatom_EMACS_TMP; 225 if (EQ (sym, QTIMESTAMP))
226 if (EQ (sym, QTARGETS)) return dpyinfo->Xatom_TARGETS; 226 return dpyinfo->Xatom_TIMESTAMP;
227 if (EQ (sym, QNULL)) return dpyinfo->Xatom_NULL; 227 if (EQ (sym, QTEXT))
228 if (!SYMBOLP (sym)) emacs_abort (); 228 return dpyinfo->Xatom_TEXT;
229 if (EQ (sym, QCOMPOUND_TEXT))
230 return dpyinfo->Xatom_COMPOUND_TEXT;
231 if (EQ (sym, QUTF8_STRING))
232 return dpyinfo->Xatom_UTF8_STRING;
233 if (EQ (sym, QDELETE))
234 return dpyinfo->Xatom_DELETE;
235 if (EQ (sym, QMULTIPLE))
236 return dpyinfo->Xatom_MULTIPLE;
237 if (EQ (sym, QINCR))
238 return dpyinfo->Xatom_INCR;
239 if (EQ (sym, Q_EMACS_TMP_))
240 return dpyinfo->Xatom_EMACS_TMP;
241 if (EQ (sym, QTARGETS))
242 return dpyinfo->Xatom_TARGETS;
243 if (EQ (sym, QNULL))
244 return dpyinfo->Xatom_NULL;
245 if (EQ (sym, QXdndSelection))
246 return dpyinfo->Xatom_XdndSelection;
247 if (EQ (sym, QXmTRANSFER_SUCCESS))
248 return dpyinfo->Xatom_XmTRANSFER_SUCCESS;
249 if (EQ (sym, QXmTRANSFER_FAILURE))
250 return dpyinfo->Xatom_XmTRANSFER_FAILURE;
251
252 if (!SYMBOLP (sym))
253 emacs_abort ();
229 254
230 TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym))); 255 TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym)));
231 block_input (); 256 block_input ();
@@ -287,6 +312,10 @@ x_atom_to_symbol (struct x_display_info *dpyinfo, Atom atom)
287 return QNULL; 312 return QNULL;
288 if (atom == dpyinfo->Xatom_XdndSelection) 313 if (atom == dpyinfo->Xatom_XdndSelection)
289 return QXdndSelection; 314 return QXdndSelection;
315 if (atom == dpyinfo->Xatom_XmTRANSFER_SUCCESS)
316 return QXmTRANSFER_SUCCESS;
317 if (atom == dpyinfo->Xatom_XmTRANSFER_FAILURE)
318 return QXmTRANSFER_FAILURE;
290 319
291 block_input (); 320 block_input ();
292 x_catch_errors (dpyinfo->display); 321 x_catch_errors (dpyinfo->display);
@@ -2793,6 +2822,9 @@ A value of 0 means wait as long as necessary. This is initialized from the
2793 DEFSYM (Qx_lost_selection_functions, "x-lost-selection-functions"); 2822 DEFSYM (Qx_lost_selection_functions, "x-lost-selection-functions");
2794 DEFSYM (Qx_sent_selection_functions, "x-sent-selection-functions"); 2823 DEFSYM (Qx_sent_selection_functions, "x-sent-selection-functions");
2795 2824
2825 DEFSYM (QXmTRANSFER_SUCCESS, "XmTRANSFER_SUCCESS");
2826 DEFSYM (QXmTRANSFER_FAILURE, "XmTRANSFER_FAILURE");
2827
2796 pdumper_do_now_and_after_load (syms_of_xselect_for_pdumper); 2828 pdumper_do_now_and_after_load (syms_of_xselect_for_pdumper);
2797} 2829}
2798 2830