README.org: Use a more principled hack to make emphasis work.
[runlisp] / dump-runlisp-image.c
index 9dc6a2a..9ed578d 100644 (file)
@@ -547,6 +547,7 @@ static void notice_filename(const char *p, size_t sz)
   if (!node) {
     node = xmalloc(sizeof(*node));
     treap_insert(&good, &path, node, p, sz);
+    if (verbose >= 3) moan("noticed non-junk file `%.*s'", (int)sz, p);
   }
 }
 
@@ -918,7 +919,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) {
 
@@ -996,6 +997,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;