use dir_name_full when no block