print: avoid triggering deprecation warnings when printing weak vectors.
authorMark H Weaver <mhw@netris.org>
Thu, 24 Apr 2014 21:55:47 +0000 (17:55 -0400)
committerMark H Weaver <mhw@netris.org>
Thu, 24 Apr 2014 22:22:03 +0000 (18:22 -0400)
* libguile/print.c (iprin1): Use 'scm_c_weak_vector_ref' to access
  elements of weak vectors.

libguile/print.c

index 7e27f76..122e035 100644 (file)
@@ -752,7 +752,7 @@ iprin1 (SCM exp, SCM port, scm_print_state *pstate)
                   `SIMPLE_VECTOR_REF ()' macro.  */
                for (i = 0; i < last; ++i)
                  {
-                   scm_iprin1 (scm_c_vector_ref (exp, i),
+                   scm_iprin1 (scm_c_weak_vector_ref (exp, i),
                                port, pstate);
                    scm_putc (' ', port);
                  }
@@ -769,7 +769,10 @@ iprin1 (SCM exp, SCM port, scm_print_state *pstate)
            if (i == last)
              {
                /* CHECK_INTS; */
-               scm_iprin1 (scm_c_vector_ref (exp, i), port, pstate);
+                scm_iprin1 (SCM_I_WVECTP (exp)
+                            ? scm_c_weak_vector_ref (exp, i)
+                            : SCM_SIMPLE_VECTOR_REF (exp, i),
+                            port, pstate);
              }
            if (cutp)
              scm_puts (" ...", port);