# HG changeset patch # User Richard M. Stallman # Date 866796337 0 # Node ID 913d2cc5a6aafbabbadada7a7575082a85aadf12 # Parent 33e78cc7f0589251ad5e8085f049f7c44bb9bb6a (Ferror_message_string): Optimize (error STRING) case. diff -r 33e78cc7f058 -r 913d2cc5a6aa src/print.c --- a/src/print.c Fri Jun 20 06:30:29 1997 +0000 +++ b/src/print.c Fri Jun 20 08:45:37 1997 +0000 @@ -727,6 +727,15 @@ Lisp_Object original, printcharfun, value; struct gcpro gcpro1; + /* If OBJ is (error STRING), just return STRING. + That is not only faster, it also avoids the need to allocate + space here when the error is due to memory full. */ + if (CONSP (obj) && EQ (XCONS (obj)->car, Qerror) + && CONSP (XCONS (obj)->cdr) + && STRINGP (XCONS (XCONS (obj)->cdr)->car) + && NILP (XCONS (XCONS (obj)->cdr)->cdr)) + return XCONS (XCONS (obj)->cdr)->car; + print_error_message (obj, Vprin1_to_string_buffer, NULL); set_buffer_internal (XBUFFER (Vprin1_to_string_buffer));