Return trick with g_signal_emit_by_name() back to FmPathEntry, it does not harm.
New API fm_file_info_new_from_native_file()

This API does "fast setup", it does not access file contents to find its
mime type and/or icon. It is useful for fast folder loading.
Use fm_file_info_new_from_native_file() to speed up folder loading.

The commit changes behavior of FmDirListJob - it loads contents of the local
folder but does not read any files in it to determine their content type.
Therefore FmFolder schedules file updates immediately after folder is loaded.
This makes loading of local folders two-stage operation - first stage just
loads estimation and second stage checks content type. It really slows full
loading of folder a bit but it allows show folder content faster, that may
give better results on big folders such as /usr/bin for example.
Handle symlinks correctly in fm_file_info_set_from_native_file()

When we test if file is a directory we should not test file itself but
symlink target instead. It was incorrect and commit fixes that.
Implementation for FM_FILE_INFO_JOB_EMIT_FOR_EACH_FILE flag.

This flag affects info retrieval: if it set then "got-info" signal will
be sent in the main thread for each file successfully inspected.
Show "application-x-executable" icon for executables on first stage of folder loading.
New API fm_dir_list_job_new2() with extended flags.

The fm_dir_list_job_new has only one flag dir_only which isn't sufficient.
New API has a bit extended second argument - FmDirListJobFlags.
With flag FM_DIR_LIST_JOB_DETAILED does I/O to check content type of native
files but without this flag it will not do I/O except for reading directory.
Make the deferred MIME type test optional, with config option.