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)

Reply via email to