core: Reenable full printing of lists.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 21 Apr 2018 06:54:14 +0000 (08:54 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 21 Apr 2018 06:54:14 +0000 (08:54 +0200)
* src/lib.c (display_helper): Reenable full printing of lists.

src/lib.c

index 44f96f16cf8cd7eee0fa7acec5cdf92bcda9cdcf..d7f1b6419d17a93df6d173f821da98894a4bc8cb 100644 (file)
--- a/src/lib.c
+++ b/src/lib.c
@@ -57,7 +57,7 @@ display_helper (SCM x, int cont, char* sep, int fd, int write_p)
     case TCLOSURE:
       {
         fputs ("#<closure ", fd);
-        //display_helper (CDR (x), cont, "", fd, 0);
+        display_helper (CDR (x), cont, "", fd, 0);
         fputs (">", fd);
         break;
       }
@@ -100,22 +100,15 @@ display_helper (SCM x, int cont, char* sep, int fd, int write_p)
       {
         if (!cont)
           fputs ("(", fd);
-        if (CAR (x) == cell_closure)
-          fputs ("*closure* ", fd);
-        else
-        if (CAAR (x) == cell_closure)
-          fputs ("(*closure* ...) ", fd);
-        else
-        if (CAR (x) == cell_circular)
+        if (CAR (x) == cell_circular
+            && CADR (x) != cell_closure)
           {
             fputs ("(*circ* . ", fd);
             int i = 0;
             x = CDR (x);
             while (x != cell_nil && i++ < 10)
               {
-                g_depth = 1;
-                display_helper (CAAR (x), 0, "", fd, write_p); fputs (" ", fd);
-                //fdisplay_ (CAAR (x), fd, write_p); fputs (" ", fd);
+                fdisplay_ (CAAR (x), fd, write_p); fputs (" ", fd);
                 x = CDR (x);
               }
             fputs (" ...)", fd);