comparison src/bytecode.c @ 382:064ab7fed2e0 r21-2-6

Import from CVS: tag r21-2-6
author cvs
date Mon, 13 Aug 2007 11:07:39 +0200
parents 8626e4521993
children aabb7f5b1c81
comparison
equal deleted inserted replaced
381:908a86f940e6 382:064ab7fed2e0
2334 f = XCOMPILED_FUNCTION (function); 2334 f = XCOMPILED_FUNCTION (function);
2335 2335
2336 if (OPAQUEP (f->instructions) || STRINGP (f->instructions)) 2336 if (OPAQUEP (f->instructions) || STRINGP (f->instructions))
2337 return function; 2337 return function;
2338 2338
2339 if (CONSP (XCOMPILED_FUNCTION (function)->instructions)) 2339 if (CONSP (f->instructions))
2340 { 2340 {
2341 Lisp_Object tem = read_doc_string (f->instructions); 2341 Lisp_Object tem = read_doc_string (f->instructions);
2342 if (!CONSP (tem)) 2342 if (!CONSP (tem))
2343 signal_simple_error ("Invalid lazy-loaded byte code", tem); 2343 signal_simple_error ("Invalid lazy-loaded byte code", tem);
2344 /* v18 or v19 bytecode file. Need to Ebolify. */ 2344 /* v18 or v19 bytecode file. Need to Ebolify. */
2345 if (f->flags.ebolified && VECTORP (XCDR (tem))) 2345 if (f->flags.ebolified && VECTORP (XCDR (tem)))
2346 ebolify_bytecode_constants (XCDR (tem)); 2346 ebolify_bytecode_constants (XCDR (tem));
2347 /* VERY IMPORTANT to purecopy here!!!!! 2347 /* VERY IMPORTANT to purecopy here!!!!!
2348 See load_force_doc_string_unwind. */ 2348 See load_force_doc_string_unwind. */
2349 /* f->instructions = Fpurecopy (XCAR (tem)); */ 2349 f->instructions = Fpurecopy (XCAR (tem));
2350 f->constants = Fpurecopy (XCDR (tem)); 2350 f->constants = Fpurecopy (XCDR (tem));
2351 return function; 2351 return function;
2352 } 2352 }
2353 abort (); 2353 abort ();
2354 return Qnil; /* not reached */ 2354 return Qnil; /* not reached */
2355 } 2355 }