I sent a patch for Bug#23412 and the patch was already merged. (http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-27&id=ba042176d8931cdf9441b3b4919ec74b75019494) Unfortunately, the patch breaks isearch with macOS native input method. I tried to modify ns-echo-working-text function and ns-delete-working-text function, but I cannot do it. This is because input-pending-p now returns t after pressing RET to confirm the conversion. (isearch-update function uses input-pending-p) The following patch treats ns-unput-working-text event by deleteWorkingText specially in read_char(). This solve the problem.