GNU bug report logs -
#44466
27.1; quail input fails at read-only boundary
Previous Next
Reported by: dick <dick.r.chiang <at> gmail.com>
Date: Thu, 5 Nov 2020 13:49:01 UTC
Severity: normal
Found in version 27.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> 8 нояб. 2020 г., в 19:02, Eli Zaretskii <eliz <at> gnu.org> написал(а):
>
>
>>
>> From: Evgeny Zajcev <lg.zevlg <at> gmail.com>
>> Date: Sun, 8 Nov 2020 09:42:23 +0300
>> Cc: dick.r.chiang <at> gmail.com, 44466 <at> debbugs.gnu.org
>>
>>> When an input method is used in a read-only buffer, Emacs barfs
>>> because it doesn't allow inserting text into such a buffer. It
>>> doesn't insert the untranslated character, as what your patch did.
>>>
>>>> Possible we need to check front-stickyness of the char at point along with 'read-only property:
>>>>
>>>> ..
>>>> (and (get-char-property (point) 'read-only)
>>>> (get-char-property (point) 'front-sticky)))
>>>
>>> Does this solve the problem in this case?
>>
>> Yes, because this mimics what is done in
>> verify_interval_modification() function from textprop.c.
>
> Any reason why pressing a key on a button should disregard the active
> input method? What if the button needs the user to type the character
> which the input method would produce? AFAIU, the patch we installed a
> year ago makes this impossible.
The reason is the same as for read-only buffers, making single char bindings work. For example if you change input method in image-mode and press “q” key this will kill buffer, because correct command is executed.
Writable buffer might have read-only region with local-keymap installed with single char binding. If input method is applied, then instead of executing corresponding command you will get “text is read-only” error, because self-insert command is executed.
>
>> Possibly the best solution would be to make
>> verify_interval_modification() visible from elisp side and use it in
>> quail-input-method to check for writability at point.
>
> I think this would be overkill.
—
lg
This bug report was last modified 4 years and 245 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.