summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-10-11 07:46:50 +0000
committerKarl Heuer <kwzh@gnu.org>1994-10-11 07:46:50 +0000
commit777aaffcb8c82e5b8be598aaec258cff488f3610 (patch)
tree2599a5727076531a737d2ca138f8adecf2793723
parent7f064f5c1a48bd7cb445c72f57ccafa3d2a2a6c9 (diff)
downloademacs-777aaffcb8c82e5b8be598aaec258cff488f3610.tar.gz
(print): Check the substructure.
-rw-r--r--src/print.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/print.c b/src/print.c
index edac49aca97..989ad9f2546 100644
--- a/src/print.c
+++ b/src/print.c
@@ -980,18 +980,26 @@ print (obj, printcharfun, escapeflag)
break;
#endif /* MULTI_FRAME */
- case Lisp_Marker:
- strout ("#<marker ", -1, printcharfun);
- if (!(XMARKER (obj)->buffer))
- strout ("in no buffer", -1, printcharfun);
- else
+ case Lisp_Misc:
+ switch (XMISC (obj)->type)
{
- sprintf (buf, "at %d", marker_position (obj));
- strout (buf, -1, printcharfun);
- strout (" in ", -1, printcharfun);
- print_string (XMARKER (obj)->buffer->name, printcharfun);
+ case Lisp_Misc_Marker:
+ strout ("#<marker ", -1, printcharfun);
+ if (!(XMARKER (obj)->buffer))
+ strout ("in no buffer", -1, printcharfun);
+ else
+ {
+ sprintf (buf, "at %d", marker_position (obj));
+ strout (buf, -1, printcharfun);
+ strout (" in ", -1, printcharfun);
+ print_string (XMARKER (obj)->buffer->name, printcharfun);
+ }
+ PRINTCHAR ('>');
+ break;
+
+ default:
+ abort ();
}
- PRINTCHAR ('>');
break;
case Lisp_Overlay: