branch: externals/xelb commit bb3f395ec12f612e15177e4a452e4bbf501d0cec Author: Chris Feng <chris.w.f...@gmail.com> Commit: Chris Feng <chris.w.f...@gmail.com>
Fix freezing on loading keymap * xcb.el (xcb:-connection-filter): Disable GC on receiving replies/events. This approximately makes handling keymap changes 10x faster. --- xcb.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xcb.el b/xcb.el index 90dcdad..128bdf8 100644 --- a/xcb.el +++ b/xcb.el @@ -289,6 +289,9 @@ The result would be 29 or 61 bits, depending on the machine." Concurrency is disabled as it breaks the orders of errors, replies and events." (let* ((connection (plist-get (process-plist process) 'connection)) + ;; Temporarily disable GC here as typically it's about to do + ;; lots of marshaling/unmarshaling. + (gc-cons-threshold most-positive-fixnum) (cache (vconcat (slot-value connection 'message-cache) message)) (cache-length (length cache))) (setf (slot-value connection 'message-cache) cache)