(defun migemo-backward (word &optional bound noerror count)
(interactive "sSearch backward: \nP\nP")
(if (delq 'ascii (find-charset-string word))
(setq migemo-search-pattern word)
(setq migemo-search-pattern (migemo-search-pattern-get word)))
(if (null migemo-do-isearch)
(search-backward-regexp migemo-search-pattern bound noerror count)
(or (and (not (eq this-command 'isearch-repeat-backward))
(not (get-char-property (point) 'invisible (current-buffer)))
(or (and (looking-at migemo-search-pattern)
(match-beginning 0))
(and (not (eq (point) (point-min)))
(progn (forward-char -1)
(and (looking-at migemo-search-pattern)
(match-beginning 0))))))
(search-backward-regexp migemo-search-pattern bound noerror count))))
search-backward() をエミュレーションする関数なのに、looking-at() の戻り値 t をそのまま返すときがあったのが敗因。今まで大丈夫だったんだけど、今回の半田さんの変更で、戻り値の point を使うようになっていた。
△ maru [え?ほんと? そんなことなど、まったく聞いたことがない福岡育ち。]
△ なおと [昨日、全然違う方面からも同じ話を聞きました。ヤー! そういえば、長野では掃除は無言でするそうです。 「こっちはやった..]