From 83d4c4d622b406ec0bc9d8139ec8182fa72b5720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 22 Nov 2017 16:04:24 +0100 Subject: [PATCH] Honor '%fresh-auto-compile'. Fixes . * libguile/load.c (scm_primitive_load_path): Set 'compiled_thunk' to SCM_BOOL_F when *scm_loc_fresh_auto_compile is true. * module/ice-9/boot-9.scm (load-in-vicinity)[load-absolute]: Call 'pre-compiled' only when %FRESH-AUTO-COMPILE is false. --- libguile/load.c | 11 +++++++---- module/ice-9/boot-9.scm | 5 ++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libguile/load.c b/libguile/load.c index 7b8136af8..3747dd9ad 100644 --- a/libguile/load.c +++ b/libguile/load.c @@ -1,5 +1,5 @@ /* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2004, 2006, 2008, - * 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. + * 2009, 2010, 2011, 2012, 2013, 2014, 2017 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -1195,13 +1195,16 @@ SCM_DEFINE (scm_primitive_load_path, "primitive-load-path", 0, 0, 1, *scm_loc_load_extensions, SCM_BOOL_F, &stat_source); - compiled_thunk = load_thunk_from_path (filename, full_filename, &stat_source, - &found_stale_compiled_file); + if (scm_is_false (*scm_loc_fresh_auto_compile)) + compiled_thunk = load_thunk_from_path (filename, full_filename, + &stat_source, + &found_stale_compiled_file); + else + compiled_thunk = SCM_BOOL_F; if (scm_is_false (compiled_thunk) && scm_is_true (full_filename) && scm_is_true (*scm_loc_compile_fallback_path) - && scm_is_false (*scm_loc_fresh_auto_compile) && scm_is_pair (*scm_loc_load_compiled_extensions) && scm_is_string (scm_car (*scm_loc_load_compiled_extensions))) { diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm index 4e51e9281..751a3bcd1 100644 --- a/module/ice-9/boot-9.scm +++ b/module/ice-9/boot-9.scm @@ -3811,7 +3811,10 @@ when none is available, reading FILE-NAME with READER." scmstat go-file-name)))))) - (let ((compiled (and scmstat (or (pre-compiled) (fallback))))) + (let ((compiled (and scmstat + (or (and (not %fresh-auto-compile) + (pre-compiled)) + (fallback))))) (if compiled (begin (if %load-hook