Correctly restore original Isearch point. (Bug#4994)
* isearch.el (isearch-mode): Move `isearch-push-state' after `(run-hooks 'isearch-mode-hook)'. (isearch-cancel): When `isearch-push-state-function' is defined, let-bind `isearch-cmds' to the first state (the last element of `isearch-cmds') and call `isearch-top-state' (it calls pop-state function and restores the original point). Otherwise, move point to `isearch-opoint'.
Showing with 24 additions and 6 deletions