print scheme objects unreadably
authorRobin Templeton <robin@terpri.org>
Mon, 22 Sep 2014 14:40:59 +0000 (10:40 -0400)
committerRobin Templeton <robin@terpri.org>
Mon, 20 Apr 2015 04:29:03 +0000 (00:29 -0400)
* src/lread.c (print_object): Print Scheme objects unreadably, instead
  of printing them in Scheme syntax. Thanks to Taylan Ulrich
  Bayırlı/Kammer <taylanbayirli@gmail.com> for the report.

src/print.c

index 05a5dd7..a8bad35 100644 (file)
@@ -2142,11 +2142,16 @@ print_object (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag)
 
     case Lisp_Other:
       {
+        static SCM prefix;
         SCM port = scm_open_output_string ();
+        if (SCM_UNLIKELY (!prefix))
+          prefix = scm_from_latin1_string ("#<scheme ");
+        scm_display (prefix, port);
         if (escapeflag)
           scm_display (obj, port);
         else
           scm_write (obj, port);
+        scm_display (SCM_MAKE_CHAR ('>'), port);
         strout (scm_to_locale_string (scm_get_output_string (port)),
                 -1, -1, printcharfun);
         scm_close_port (port);