Subject: Re: bug#1453: 23.0.60; Dead keys do not work in dired and similar modes in Cocoa port

From: Alan Third <[email-masked]>
Date: Sun, 22 Dec 2019 11:56:17 +0000

Alan Third <[email-masked]> writes:

> Wolfgang Lux <[email-masked]> writes:
>
>> Dired mode binds ~ to dired-flag-backup-files. When one attempts
>> entering
>> ~ via the dead-key combination Alt-n (assuming the Alt key is not used
>> as
>> a modifier key and Command is interpreted as Meta key), Emacs first
>> reports
>> an error message "Buffer is read-only: #<buffer ~>" followed by an error
>> message "Wrong type argument: overlayp, nil" upon the next event.
>
> This is still sort of an issue in Emacs 25. As far as I can tell Emacs
> still gives the "buffer is read-only" message, but as soon as another
> key is hit actually executes dired-flag-backup-files.
>
> I also suspect this won't be limited to the NS port, but will be an
> issue anywhere you can use dead-keys in a read-only buffer.
>
> I can't think of any reason to try and display the partially complete
> input when the buffer's read-only, but I can't see where this dead-key
> entry code is located to see if it's possible to do a check.

The fix for bug#23412 fixes this. It inserts the working text into the
buffer so you can see what's being typed, but once it completes it
deletes it and dired takes its action. It maybe looks a little weird,
but it works and I'm not sure what else we would do other than just not
display the working text at all.
-- 
Alan Third