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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Emacs - Bugs mailing list
Hello,

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?

Thank you.