diff options
| author | Po Lu | 2022-06-09 09:52:21 +0800 |
|---|---|---|
| committer | Po Lu | 2022-06-09 09:52:21 +0800 |
| commit | dcb45946eee85dd8217fdfc4b728db1e24b16ebe (patch) | |
| tree | 8c0ccad8f79568b5f0f862313ba989d08ef9fcd6 /src/xselect.c | |
| parent | c754f277a67549bb8346c77a4962bcbf03590ece (diff) | |
| download | emacs-dcb45946eee85dd8217fdfc4b728db1e24b16ebe.tar.gz emacs-dcb45946eee85dd8217fdfc4b728db1e24b16ebe.zip | |
Make use of faster atom intern functions in xselect.c
* src/xselect.c (symbol_to_x_atom):
(x_atom_to_symbol): Use x_get_atom_name and
x_intern_cached_atom.
Diffstat (limited to 'src/xselect.c')
| -rw-r--r-- | src/xselect.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/xselect.c b/src/xselect.c index a234c7188f3..17fe7403b24 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -170,7 +170,7 @@ symbol_to_x_atom (struct x_display_info *dpyinfo, Lisp_Object sym) | |||
| 170 | 170 | ||
| 171 | TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym))); | 171 | TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym))); |
| 172 | block_input (); | 172 | block_input (); |
| 173 | val = XInternAtom (dpyinfo->display, SSDATA (SYMBOL_NAME (sym)), False); | 173 | val = x_intern_cached_atom (dpyinfo, SSDATA (SYMBOL_NAME (sym)), false); |
| 174 | unblock_input (); | 174 | unblock_input (); |
| 175 | return val; | 175 | return val; |
| 176 | } | 176 | } |
| @@ -233,18 +233,17 @@ x_atom_to_symbol (struct x_display_info *dpyinfo, Atom atom) | |||
| 233 | if (atom == dpyinfo->Xatom_XmTRANSFER_FAILURE) | 233 | if (atom == dpyinfo->Xatom_XmTRANSFER_FAILURE) |
| 234 | return QXmTRANSFER_FAILURE; | 234 | return QXmTRANSFER_FAILURE; |
| 235 | 235 | ||
| 236 | block_input (); | ||
| 237 | x_catch_errors (dpyinfo->display); | 236 | x_catch_errors (dpyinfo->display); |
| 238 | str = XGetAtomName (dpyinfo->display, atom); | 237 | str = x_get_atom_name (dpyinfo, atom, NULL); |
| 239 | x_uncatch_errors (); | 238 | x_uncatch_errors (); |
| 240 | unblock_input (); | 239 | |
| 240 | TRACE0 ("XGetAtomName --> NULL"); | ||
| 241 | if (!str) | ||
| 242 | return Qnil; | ||
| 241 | TRACE1 ("XGetAtomName --> %s", str); | 243 | TRACE1 ("XGetAtomName --> %s", str); |
| 242 | if (! str) return Qnil; | 244 | |
| 243 | val = intern (str); | 245 | val = intern (str); |
| 244 | block_input (); | 246 | xfree (str); |
| 245 | /* This was allocated by Xlib, so use XFree. */ | ||
| 246 | XFree (str); | ||
| 247 | unblock_input (); | ||
| 248 | return val; | 247 | return val; |
| 249 | } | 248 | } |
| 250 | 249 | ||