Hello @GuangchuangYu,
Please check the logic for https://github.com/YuLab-SMU/ChIPseeker/blob/devel/R/getNearestFeatureIndicesAndDistances.R#L141-L151. Based on my understanding, if ignoreOverlap == FALSE, the code block will always run and override the results from if (overlap = "all") { } block.
Haibo