emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 4d1968b4c9: Print dead xwidgets specially


From: Po Lu
Subject: master 4d1968b4c9: Print dead xwidgets specially
Date: Fri, 31 Dec 2021 19:55:53 -0500 (EST)

branch: master
commit 4d1968b4c9eb1d42c125b4536e3b4543b91f3634
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Print dead xwidgets specially
    
    * src/print.c (print_vectorlike) <PVEC_XWIDGET>: Print "killed
    xwidget" for dead xwidgets.
---
 src/print.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/print.c b/src/print.c
index 214f1d12c1..9f3d8317ae 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1524,16 +1524,21 @@ print_vectorlike (Lisp_Object obj, Lisp_Object 
printcharfun, bool escapeflag,
     case PVEC_XWIDGET:
 #ifdef HAVE_XWIDGETS
       {
+       if (NILP (XXWIDGET (obj)->buffer))
+         print_c_string ("#<killed xwidget>", printcharfun);
+       else
+         {
 #ifdef USE_GTK
-       int len = sprintf (buf, "#<xwidget %u %p>",
-                          XXWIDGET (obj)->xwidget_id,
-                          XXWIDGET (obj)->widget_osr);
+           int len = sprintf (buf, "#<xwidget %u %p>",
+                              XXWIDGET (obj)->xwidget_id,
+                              XXWIDGET (obj)->widget_osr);
 #else
-       int len = sprintf (buf, "#<xwidget %u %p>",
-                          XXWIDGET (obj)->xwidget_id,
-                          XXWIDGET (obj)->xwWidget);
+           int len = sprintf (buf, "#<xwidget %u %p>",
+                              XXWIDGET (obj)->xwidget_id,
+                              XXWIDGET (obj)->xwWidget);
 #endif
-       strout (buf, len, len, printcharfun);
+           strout (buf, len, len, printcharfun);
+         }
        break;
       }
 #else



reply via email to

[Prev in Thread] Current Thread [Next in Thread]