summaryrefslogtreecommitdiff
path: root/src/print.c
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-01-01 08:54:51 +0800
committerPo Lu <luangruo@yahoo.com>2022-01-01 08:54:51 +0800
commit4d1968b4c9eb1d42c125b4536e3b4543b91f3634 (patch)
tree0216df11d751d8a93235b124e8e62d2ba398c19d /src/print.c
parent4521a3a19c123c43f4bb7ad21a94456434ef81f4 (diff)
downloademacs-4d1968b4c9eb1d42c125b4536e3b4543b91f3634.tar.gz
emacs-4d1968b4c9eb1d42c125b4536e3b4543b91f3634.tar.bz2
emacs-4d1968b4c9eb1d42c125b4536e3b4543b91f3634.zip
Print dead xwidgets specially
* src/print.c (print_vectorlike) <PVEC_XWIDGET>: Print "killed xwidget" for dead xwidgets.
Diffstat (limited to 'src/print.c')
-rw-r--r--src/print.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/print.c b/src/print.c
index 214f1d12c11..9f3d8317ae3 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