Index: file.c =================================================================== --- file.c (revision 25225) +++ file.c (revision 25226) @@ -1167,7 +1167,7 @@ * the program.*/ void pcb_tmp_data_save(void) { - char *fn = pcb_build_fn(conf_core.rc.emergency_name); + char *fn = pcb_build_fn(&PCB->hidlib, conf_core.rc.emergency_name); pcb_write_pcb_file(fn, pcb_true, NULL, pcb_true, pcb_false); if (TMPFilename != NULL) free(TMPFilename); Index: parse_l.c =================================================================== --- parse_l.c (revision 25225) +++ parse_l.c (revision 25226) @@ -2396,6 +2396,7 @@ memset(&p, 0, sizeof(p)); p.params['p' - 'a'] = Path; p.params['f' - 'a'] = Filename; + p.hidlib = &PCB->hidlib; command = pcb_build_argfn(Executable, &p); /* open pipe to stdout of command */ if (*command == '\0' || (pcb_in = pcb_popen(command, "r")) == NULL) { Index: parse_l.l =================================================================== --- parse_l.l (revision 25225) +++ parse_l.l (revision 25226) @@ -253,6 +253,7 @@ memset(&p, 0, sizeof(p)); p.params['p' - 'a'] = Path; p.params['f' - 'a'] = Filename; + p.hidlib = &PCB->hidlib; command = pcb_build_argfn(Executable, &p); /* open pipe to stdout of command */ if (*command == '\0' || (yyin = pcb_popen(command, "r")) == NULL) {