Index: trunk/src/sch-rnd/conf_core.h =================================================================== --- trunk/src/sch-rnd/conf_core.h (revision 10228) +++ trunk/src/sch-rnd/conf_core.h (revision 10229) @@ -9,6 +9,7 @@ RND_CFT_REAL file_changed_interval; /* how often to check if the file has changed on the disk (in seconds); 0 or negative means no check at all */ RND_CFT_INTEGER backup_interval; /* time between two backups in seconds; 0 means disabled (no backups) */ RND_CFT_LIST library_search_paths; /* ordered list of paths that are each recursively searched for symbol files */ + RND_CFT_LIST hlibrary_search_paths; /* ordered list of paths that are each recursively searched for external hierarchic child sheets */ RND_CFT_STRING emergency_name; /* file name template for emergency save anonymous .sch files (when sch-rnd crashes); optional field: first %ld --> pid, second %ld --> sheet uid; must be shorter than 240 characters. Don't do emergency save if this item is empty. */ RND_CFT_STRING backup_name; /* file name template for periodic backup of board files; optional fields (the usual % substitutions work) */ Index: trunk/src/sch-rnd/main_act.c =================================================================== --- trunk/src/sch-rnd/main_act.c (revision 10228) +++ trunk/src/sch-rnd/main_act.c (revision 10229) @@ -233,6 +233,7 @@ } printf("rc/font_dirs ="); print_list(&conf_core.rc.font_dirs); printf("rc/library_search_paths ="); print_list(&conf_core.rc.library_search_paths); + printf("rc/hlibrary_search_paths ="); print_list(&conf_core.rc.hlibrary_search_paths); RND_ACT_IRES(0); return 0; Index: trunk/src/sch-rnd/sch-rnd-conf.lht =================================================================== --- trunk/src/sch-rnd/sch-rnd-conf.lht (revision 10228) +++ trunk/src/sch-rnd/sch-rnd-conf.lht (revision 10229) @@ -10,6 +10,12 @@ ?~/.sch-rnd/symbol/ $(rc.path.share)/symbol } + li:hlibrary_search_paths = { + ?../../library/hlibrary + ?$(rc.path.design)/hlibrary + ?~/.sch-rnd/hlibrary/ + $(rc.path.share)/hlibrary + } li:default_sheet_file = { {./default-sheet.lht} {$(rc.path.share)/default-sheet.lht} Index: trunk/src/sch-rnd/sheet.c =================================================================== --- trunk/src/sch-rnd/sheet.c (revision 10228) +++ trunk/src/sch-rnd/sheet.c (revision 10229) @@ -127,6 +127,7 @@ /* This works from load only because the conf state is already set up for the new sheet, even tho librnd's current sheet is not yet set */ csch_lib_add_all(sheet, csch_lib_get_master("symbol", 1), &conf_core.rc.library_search_paths, 0); + csch_lib_add_all(sheet, csch_lib_get_master("hlibrary", 1), &conf_core.rc.hlibrary_search_paths, 0); } if (sheet->is_symbol)