Thanks. I have no better ideas, so this will have to do. Does anyone
else have any opinions?
which introduce input_was_pending, read_char became to redisplay always
after processing special event.
```
input_was_pending = input_pending;
```
is a way to prevent redisplay. The same code is placed at end of read_char.
Emacs at current emacs-27 branch cannot use isearch with macOS native
input method (I checked with macOS Japanese input method and get
```
ns-delete-working-text: Wrong type argument: arrayp, nil
```
). This is worse situation for macOS native input method users.
Even if modifying keyboard.c is not acceptable, I think reverting the position of
```
if (workingText != nil)
[self deleteWorkingText];
```
in insertText should be done.
If the patch I sent before is acceptable, I have two patch for improvement.
0001-proper-selection-window-position-for-isearch.patch
This is to show candidate window for IM at proper position when isearch.