aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lread.c9
-rw-r--r--src/print.c4
2 files changed, 10 insertions, 3 deletions
diff --git a/src/lread.c b/src/lread.c
index 5450fa30c33..d8912195f83 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -791,6 +791,15 @@ read1 (readcharfun)
791 } 791 }
792 792
793 case '#': 793 case '#':
794 c = READCHAR;
795 if (c == '[')
796 {
797 /* Accept compiled functions at read-time so that we don't have to
798 build them using function calls. */
799 Lisp_Object tmp = read_vector (readcharfun);
800 return Fmake_byte_code (XVECTOR(tmp)->size, XVECTOR (tmp)->contents);
801 }
802 UNREAD (c);
794 return Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#", 1), Qnil)); 803 return Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#", 1), Qnil));
795 804
796 case ';': 805 case ';':
diff --git a/src/print.c b/src/print.c
index 9eff5250e63..3ef76747a91 100644
--- a/src/print.c
+++ b/src/print.c
@@ -805,7 +805,7 @@ print (obj, printcharfun, escapeflag)
805 break; 805 break;
806 806
807 case Lisp_Compiled: 807 case Lisp_Compiled:
808 strout ("#<byte-code ", -1, printcharfun); 808 strout ("#", -1, printcharfun);
809 case Lisp_Vector: 809 case Lisp_Vector:
810 PRINTCHAR ('['); 810 PRINTCHAR ('[');
811 { 811 {
@@ -819,8 +819,6 @@ print (obj, printcharfun, escapeflag)
819 } 819 }
820 } 820 }
821 PRINTCHAR (']'); 821 PRINTCHAR (']');
822 if (XTYPE (obj) == Lisp_Compiled)
823 PRINTCHAR ('>');
824 break; 822 break;
825 823
826#ifndef standalone 824#ifndef standalone