From f90a0447aada3ad2fa114210c62b855a3e60cb1d Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Mon, 16 Jan 2017 10:31:56 +0000 Subject: 40353 with tweaks to whence -v: extend directory cache use. Now used for all autoloaded functions after load, including those where the file was found along fpath, reducing duplication of directory names. --- Src/signals.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'Src/signals.c') diff --git a/Src/signals.c b/Src/signals.c index 2de57434a..a7176771a 100644 --- a/Src/signals.c +++ b/Src/signals.c @@ -811,8 +811,11 @@ dosavetrap(int sig, int level) newshf->node.nam = ztrdup(shf->node.nam); newshf->node.flags = shf->node.flags; newshf->funcdef = dupeprog(shf->funcdef, 0); - /* Assume this is a real filename, don't use dircache */ - newshf->filename = ztrdup(shf->filename); + if (shf->node.flags & PM_LOADDIR) { + dircache_set(&newshf->filename, shf->filename); + } else { + newshf->filename = ztrdup(shf->filename); + } if (shf->sticky) { newshf->sticky = sticky_emulation_dup(shf->sticky, 0); } else -- cgit 1.4.1