diff options
| author | Po Lu | 2022-04-18 18:38:35 +0800 |
|---|---|---|
| committer | Po Lu | 2022-04-18 18:39:43 +0800 |
| commit | 89a5aa4ca791b3ffefb0a5d464fa433f310a8398 (patch) | |
| tree | 7a0725b26673e6f94c658cc8decb89e6027d6f08 /src | |
| parent | 2b6a1c98dfba09d6922f1074047853366d26e31e (diff) | |
| download | emacs-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.c | 68 |
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 | |||
| 208 | symbol_to_x_atom (struct x_display_info *dpyinfo, Lisp_Object sym) | 208 | symbol_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 | ||