From 5c54168155c5f65992add0c09581b97e7f8f1fa3 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 22 Aug 2023 19:44:27 -0700 Subject: load-args-process: bugfix: :compile action must load. * stdlib/load-args.tl (load-args-process): When compile-update-file doesn't do anything due to the compiled file being up-to-date, the file must be loaded, so that the effect is similar to compiling. Otherwise subsequent files may fail to compile due to missing definitions such as packages. * txr.1: Documented. --- stdlib/load-args.tl | 2 +- txr.1 | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/stdlib/load-args.tl b/stdlib/load-args.tl index 7877f24f..a1c2d7eb 100644 --- a/stdlib/load-args.tl +++ b/stdlib/load-args.tl @@ -41,7 +41,7 @@ `@name.tlo.gz`) lp name lp))) (compile-update-file self)) - [mapdo compile-update-file files]) + (mapdo [orf compile-update-file load] files)) ((:clean) (clean-file (base-name *load-path*)) [mapdo clean-file files]) diff --git a/txr.1 b/txr.1 index 6e61c412..5c381ea2 100644 --- a/txr.1 +++ b/txr.1 @@ -81236,10 +81236,19 @@ If there is exactly one argument in the function responds to the following values of that argument: .RS .coIP :compile -The current file in +First, the current file in .code *load-path* -as well as the files passed as arguments, are compiled with +is processed with +.codn compile-update-file . +Then each file in the argument list is also processed with .codn compile-update-file . +Whenever that function returns +.code nil +for any file, that file is loaded with +.codn load . +No additional arguments are passed to this +.code load +invocation. .coIP :clean The current file in .code *load-path* -- cgit v1.2.3