X-Git-Url: https://git.distorted.org.uk/~mdw/runlisp/blobdiff_plain/164c2063204d266072153bfaf499540d0df2c647..cf51f4b4b4e376229851b142411b81f7b0fd8877:/dump-runlisp-image.c diff --git a/dump-runlisp-image.c b/dump-runlisp-image.c index 7d1d88f..836dc54 100644 --- a/dump-runlisp-image.c +++ b/dump-runlisp-image.c @@ -702,7 +702,10 @@ static void add_job(unsigned f, struct config_section *sect) config_subst_split_var(&config, sect, runvar, &av_version); if (!av_version.n) lose("empty `run-script' command for Lisp implementation `%s'", name); - argv_append(&av_version, xstrdup("?(lisp-implementation-version)")); + argv_append(&av_version, + config_subst_string_alloc + (&config, sect, "", + "?${lisp-version?(lisp-implementation-version)}")); config_subst_split_var(&config, sect, dumpvar, &av_dump); if (!av_dump.n) lose("empty `dump-image' command for Lisp implementation `%s'", name); @@ -915,7 +918,7 @@ static void finish_job(struct job *job) job->exit); /* What happens next depends on the state of the job. This is the main - * place which advanced the job state machine. + * place which advances the job state machine. */ if (ok) switch (job->st) { @@ -993,6 +996,12 @@ static void finish_job(struct job *job) ok = 0; break; } + /* Notice the image so that it doesn't get junked. */ + if (flags&AF_JUNK) { + p = strrchr(job->imghash, '/'); if (p) p++; else p = job->imghash; + notice_filename(p, strlen(p)); + } + /* Determine the basename of the final image. */ p = strrchr(job->imghash, '/'); if (p) p++; else p = job->imghash;