bug#42654: Using electric-pair-inihibit-predicate won't work for all members of electric-pair-pairs
This is what I understood from testing (Emacs 28.0.50) and the code of electric-pair-mode.
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?
Am I misunderstanding the purpose of these variables?