Thanks for reviewing, again! >> +(put 'beginning-of-buffer 'isearch-match-scroll t) >> +(put 'end-of-buffer 'isearch-match-scroll t) >> +(put 'scroll-up-command 'isearch-match-scroll t) >> +(put 'scroll-down-command 'isearch-match-scroll t) >> + >> +(put 'beginning-of-buffer 'isearch-match-scroll-command 'isearch-beginning-of-buffer) >> +(put 'end-of-buffer 'isearch-match-scroll-command 'isearch-end-of-buffer) >> +(put 'scroll-up-command 'isearch-match-scroll-command 'isearch-scroll-up) >> +(put 'scroll-down-command 'isearch-match-scroll-command 'isearch-scroll-down) > > Why such unnecessary duplication? When 'beginning-of-buffer' has the > property 'isearch-match-scroll-command' this means it has a non-nil > value. There is no need to duplicate this fact with > isearch-match-scroll=t. > Indeed, see the attached simplified patch. >> + :type '(choice (const :tag "Off" nil) >> + (const tag "On" t)) > === > :tag > Fixed.