From 628053101d65749aecad5cc59d4dc0d0e7a8098d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 2 May 2016 08:56:02 -0700 Subject: [PATCH] =?utf8?q?Don=E2=80=99t=20electrically=20quote=20=E2=80=98?= =?utf8?q?'=E2=80=99=20in=20Python?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Problem reported by Philipp Stephani (Bug#23387). * lisp/electric.el (electric-quote-post-self-insert-function): Do not requote a string starter or ender. --- lisp/electric.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/electric.el b/lisp/electric.el index ab79943c9d..e289601040 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -444,10 +444,15 @@ This requotes when a quoting key is typed." (let ((start (if (and comment-start comment-use-syntax) (when (or electric-quote-comment electric-quote-string) - (let ((syntax (syntax-ppss))) - (and (or (and electric-quote-comment (nth 4 syntax)) + (let* ((syntax (syntax-ppss)) + (beg (nth 8 syntax))) + (and beg + (or (and electric-quote-comment (nth 4 syntax)) (and electric-quote-string (nth 3 syntax))) - (nth 8 syntax)))) + ;; Do not requote a quote that starts or ends + ;; a comment or string. + (eq beg (nth 8 (save-excursion + (syntax-ppss (1- (point))))))))) (and electric-quote-paragraph (derived-mode-p 'text-mode) (or (eq last-command-event ?\`) -- 2.39.2