Subject: bug#42654: Using electric-pair-inihibit-predicate won't work for all members of electric-pair-pairs

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 06 Jun 2022 17:28:33 +0200

[email-masked] writes:

> * More pairs can be defined by adding to electric-pair-pairs.
> * To use electric-pair-inhibit-predicate, the syntax of the character must be one of '
>  (?\( ?\" ?\$).
> * In Org mode, it is convenient to have pairs for "~", "+", "_", and "/". These
>  characters are not in the syntax classes required to run the inhibition function.
> * The syntax class of the characters can be modified, such as with
>  (modify-syntax-entry ?* "$").
> * Once the syntax class is modified, the characters are automatically paired by
>  electric-pair-mode. This means that the characters then do no need to be added to
>  electric-pair-pairs.
>
> I think it is a bug that electric-pair-inhibit-predicate won't be run when checking
> members of electric-pair-pairs. Yes, the syntax can be modified, but that makes the
> adding of the pair to electric-pair-pairs redundant, no?

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

Looking at the code, I'm not quite sure I understand your point here.
Perhaps it would be easier if you had a simple test case, and you could
explain what you see happening, and what you want to have happen?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no