Thanks for the bug report and patch, but I ran into a problem with the patch. Suppose I do this: emacs -Q M-x electric-quote-mode M-x customize-variable RET electric-quote-string, set it to t, save M-x python-mode 'abc' That is, I type apostrophe-a-b-c-apostrophe in Python mode. With the patch, the buffer will contain: 'abc’ The opening apostrophe is OK, but the closing apostrophe is considered to be inside a string so it is transmogrified into a right single quotation mark. A Python programmer would want both to be apostrophes. I installed the attached patches into emacs-25 instead, as they should address this problem too. Please give it a try.