Subject: bug#25816: Emacs xwidget GC issue with callback

From: Paul Eggert <[email-masked]>
Date: Mon, 20 Feb 2017 13:05:35 -0800

Andreas Schwab wrote:
> When --with-wide-int, EMACS_INT may be wider than a pointer, and this
> discards the type bits.

Thanks, I installed the attached to document this limitation. Fixing the GC bug 
should remove the limitation.
From 57a8346edfbaa7a4002f2ed8cad041588dfcdd9c Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Mon, 20 Feb 2017 13:03:12 -0800
Subject: [PATCH] Verify xwidget USE_LSB_TAG assumption

* src/xwidget.c (Fxwidget_webkit_execute_script):
Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
---
 src/xwidget.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/xwidget.c b/src/xwidget.c
index dc705bb..e6de5da 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -720,6 +720,8 @@ argument procedure FUN.*/)
   GAsyncReadyCallback callback
     = FUNCTIONP (fun) ? webkit_javascript_finished_cb : NULL;
 
+  /* FIXME: The following hack assumes USE_LSB_TAG.  */
+  verify (USE_LSB_TAG);
   /* FIXME: This hack might lead to disaster if FUN is garbage
      collected before store_xwidget_js_callback_event makes it visible
      to Lisp again.  See the FIXME in webkit_javascript_finished_cb.  */
-- 
2.7.4