Author: allison
Date: Sat May 12 12:50:21 2007
New Revision: 18519

Modified:
   trunk/src/library.c

Log:
Reverting r18482 applying RT #42898. Feature pending design review.


Modified: trunk/src/library.c
==============================================================================
--- trunk/src/library.c (original)
+++ trunk/src/library.c Sat May 12 12:50:21 2007
@@ -24,53 +24,6 @@
 #include "library.str"
 
 /*
-  load_prefer is a toggle to prefer either the most low level form of a module
-  (compiled) or the highest level form of a module.
-
-  Users will typically want the compiled versions. This is also the perl5
-  behavior as well.
-
-  Developers who don't like to run a clean target inbetween changes can set the
-  environment variable PARROT_PREFER_SOURCE (value does not matter).
-
-  If a value for PARROT_PREFER_SOURCE is honored it should be a path spec of
-  directories for which source will be loaded over compiled objects.
- */
-
-#define COMPILE_FIRST 0
-#define SOURCE_FIRST 1
-
-static int load_prefer = COMPILE_FIRST;
-
-static int
-query_load_prefer ( Interp* interp ) {
-    int free_it;
-    char *env;
-
-    env = Parrot_getenv("PARROT_PREFER_SOURCE", &free_it);
-
-    if (env) {
-        if (free_it)
-            free(env);
-
-        return 1;
-    }
-
-    return 0;
-}
-
-/*
-  extension guessing init to catch a ride with
-  parrot_init_library_paths on the init path.
- */
-
-static void
-init_extension_guessing(Interp* interp) {
-    if( query_load_prefer(interp) )
-        load_prefer = SOURCE_FIRST;
-}
-
-/*
 
 =item C<void parrot_init_library_paths(Interp *)>
 
@@ -106,8 +59,6 @@
     PMC *iglobals, *lib_paths, *paths;
     STRING *entry;
 
-    init_extension_guessing(interp);
-
     iglobals = interp->iglobals;
     /* create the lib_paths array */
     lib_paths = pmc_new(interp, enum_class_FixedPMCArray);
@@ -362,30 +313,18 @@
         return result;
 
     /*
-      Start guessing now. With load_prefer defaulting to COMPILE_FIRST
-      it tries the most compiled form first. With load_prefer set to
-      SOURCE_FIRST it will try the highest level source first.
+      start guessing now. this version tries to find the lowest form of the
+      code, starting with bytecode and working up to PIR. note the atypical
+      loop control. This is so the array can easily be processed in reverse.
      */
 
-    if ( COMPILE_FIRST == load_prefer ) {
-        for( guess = 0 ; guess <= LOAD_EXT_CODE_LAST ; guess++ ) {
-            with_ext = string_copy(interp, path);
-            with_ext = string_append(interp,
-                                     with_ext, const_string(interp, 
load_ext_code[guess]));
-
-            if ( (result = try_load_path(interp, with_ext)) )
-                return result;
-        }
-    }
-    else {
-        for( guess = LOAD_EXT_CODE_LAST ; guess >= 0 ; guess-- ) {
-            with_ext = string_copy(interp, path);
-            with_ext = string_append(interp,
-                                     with_ext, const_string(interp, 
load_ext_code[guess]));
+    for( guess = 0 ; guess <= LOAD_EXT_CODE_LAST ; guess++ ) {
+        with_ext = string_copy(interp, path);
+        with_ext = string_append(interp,
+                                 with_ext, const_string(interp, 
load_ext_code[guess]));
 
-            if ( (result = try_load_path(interp, with_ext)) )
-                return result;
-        }
+        if ( (result = try_load_path(interp, with_ext)) )
+            return result;
     }
 
     return NULL;

Reply via email to