diff --git a/libguile/filesys.c b/libguile/filesys.c index a4a493ec0..58b009138 100644 --- a/libguile/filesys.c +++ b/libguile/filesys.c @@ -651,12 +651,14 @@ scm_closedir (port) static int scm_dir_print SCM_P ((SCM sexp, SCM port, scm_print_state *pstate)); static int -scm_dir_print (sexp, port, pstate) - SCM sexp; - SCM port; - scm_print_state *pstate; +scm_dir_print (SCM exp, SCM port, scm_print_state *pstate) { - scm_prinport (sexp, port, "directory"); + scm_puts ("#<", port); + if (SCM_CLOSEDP (exp)) + scm_puts ("closed: ", port); + scm_puts ("directory ", port); + scm_intprint (SCM_CDR (exp), 16, port); + scm_putc ('>', port); return 1; }