> But users should preferably not need to worry > about variable interactions. The doc for a given > variable should make clear just what it does, and > each variable should preferably have one behavior > (per value chosen). I agree that it's better to make it clear in the docstring. Fixed in a new patch below. > I'm guessing that nil `search-exit-option' does > not just have "the same effect". But (see above) > even if it does, that doesn't mean that option > `search-exit-option' has the same effect, because > setting it to non-nil, ONLY to NOT have the > effect of `unlimited' `isearch-allow-scroll', > would presumably also have some other effect > unrelated to allowing scrolling. I agree that `search-exit-option' is too confusing variable for such features. So we have to offload it from all unrelated features. As the first step, I moved the recently added shift-select feature from `search-exit-option' to its own clearly named customizable variable `isearch-allow-shift-select'. For the same reason, unlimited scrolling was moved to the new option `unlimited' of `isearch-allow-scroll'. Now finally everything looks right. Please try a new patch: