fix error autocompiling parts of the compiler; make check works
authorAndy Wingo <wingo@pobox.com>
Wed, 3 Jun 2009 21:59:58 +0000 (23:59 +0200)
committerAndy Wingo <wingo@pobox.com>
Wed, 3 Jun 2009 21:59:58 +0000 (23:59 +0200)
* libguile/load.c (scm_try_autocompile): Punt if compiled-file-name does
  not resolve, which would indicate that the file in question is part of
  the compiler itself.

* test-suite/tests/elisp.test: Today I was an evil one -- disable
  autocompilation for the elisp tests, as they are meant only for the
  memoizer's eyes. Hopefully Daniel will fix this :-)

libguile/load.c
test-suite/tests/elisp.test

index ac9cc7d..4e127d6 100644 (file)
@@ -641,7 +641,19 @@ scm_try_autocompile (SCM source, SCM stale_compiled)
     }
 
   comp_mod = scm_c_resolve_module ("system base compile");
-  compiled_file_name = scm_c_module_lookup (comp_mod, "compiled-file-name");
+  compiled_file_name =
+    scm_module_variable (comp_mod,
+                         scm_from_locale_symbol ("compiled-file-name"));
+
+  if (scm_is_false (compiled_file_name))
+    {
+      scm_puts (";;; it seems ", scm_current_error_port ());
+      scm_display (source, scm_current_error_port ());
+      scm_puts ("\n;;; is part of the compiler; skipping autocompilation\n",
+                scm_current_error_port ());
+      return SCM_BOOL_F;
+    }
+  
   new_compiled = scm_call_1 (scm_variable_ref (compiled_file_name), source);
 
   if (scm_is_false (new_compiled))
index eaf6dbb..9e09970 100644 (file)
@@ -23,6 +23,9 @@
 (if *old-stack-level*
     (debug-set! stack (* 2 *old-stack-level*)))
 
+(define *old-%load-should-autocompile* %load-should-autocompile)
+(set! %load-should-autocompile #f)
+
 ;;;
 ;;; elisp
 ;;;
 
       ))
 
+(set! %load-should-autocompile *old-%load-should-autocompile*)
 (debug-set! stack *old-stack-level*)
 
 ;;; elisp.test ends here