From mboxrd@z Thu Jan 1 00:00:00 1970
Path: news.gmane.org!.POSTED!not-for-mail
From: Philipp Stephani
Newsgroups: gmane.emacs.devel
Subject: [PATCH] Fix a small bug in electric quoting.
Date: Sun, 31 Dec 2017 18:06:52 +0100
Message-ID: <20171231170652.69358-1-phst@google.com>
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: blaine.gmane.org 1514739934 13657 195.159.176.226 (31 Dec 2017 17:05:34 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sun, 31 Dec 2017 17:05:34 +0000 (UTC)
Cc: Philipp Stephani
To: emacs-devel@gnu.org
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Dec 31 18:05:29 2017
Return-path:
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([208.118.235.17])
by blaine.gmane.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1eVh30-0002dG-S2
for ged-emacs-devel@m.gmane.org; Sun, 31 Dec 2017 18:05:19 +0100
Original-Received: from localhost ([::1]:45551 helo=lists.gnu.org)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from )
id 1eVh4z-0007vE-Qo
for ged-emacs-devel@m.gmane.org; Sun, 31 Dec 2017 12:07:21 -0500
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58226)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from ) id 1eVh4t-0007v7-Ti
for emacs-devel@gnu.org; Sun, 31 Dec 2017 12:07:16 -0500
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1eVh4o-0004yF-VH
for emacs-devel@gnu.org; Sun, 31 Dec 2017 12:07:15 -0500
Original-Received: from mail-wm0-x235.google.com ([2a00:1450:400c:c09::235]:44245)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
(Exim 4.71) (envelope-from )
id 1eVh4o-0004xk-PA
for emacs-devel@gnu.org; Sun, 31 Dec 2017 12:07:10 -0500
Original-Received: by mail-wm0-x235.google.com with SMTP id t8so55231979wmc.3
for ; Sun, 31 Dec 2017 09:07:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=from:to:cc:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=TPnpAONt82XdfL+FZcE7pPXrnb3q7uZ7aBTgr2kLlzI=;
b=cKO4qSJV9387roZvRs+rjcTyf6r2rHedMOevZfT8eMP8u+EV1ao5+cy/Ry7LNfb7dj
z9zP+pTLc6mBdIgLf9vfbk4ijnj34HuOaRvrytz+BdNr9/XDDPR+LQZi9iNsuy7STKVo
TNv4hSdKNm3BIHspoY18s6BZ7TfapOpT2SDYJyBe60zkh+pQ3Hu4UIzS3RQ5P+IoUZDJ
gndVWGLZm+zg5EeGch+RlFJccUtJ/6d+EN1KezdSLDCiqMaRwMIwkdpfmKDfw9tkx3cQ
feGp7s4UwDVsMPqaWr2tIfbkjemMrREPeJsvrQlg1kl/UDBf1ps1fMCqx0mjOF1WTRqv
QqXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=TPnpAONt82XdfL+FZcE7pPXrnb3q7uZ7aBTgr2kLlzI=;
b=KHmLHMhLRdo61vdO1W98Usy5m4MwOhvyOh6dd2eoNCR1XRO04vTkdukaVCCLsMm+G5
Psn8ytyHnPYDGV/Z1SU+5aGdKwjp9ZQTaMypoUjF0uZCMvQbu/s9fXcW714NL17DizDA
at3wcqE1fEVm3sj09DuU11Cz64msYvLZzQciuhHFou21+AzKJP1OUlz5JOLL8Yx46Ikj
TnonrGqKKnYmP72ignKtOGWVuWOtZ1Z5I9CjBSSjy2fWrBAmSVjOSw9NNCVNTyoq7oeJ
7hcf3YVeys6ScYg5xeeTmsCVwbRV6VaZW0SF/O0/LP7zi5AdHBVGRfedfRwUPUEdkB7N
74kA==
X-Gm-Message-State: AKGB3mKatACYZq4Q7DF7NrYc68AdAu4Xt1TDqP9VW/4Qpz4i1YVkq90f
SRgVPkg/KG/1dyz43rWZZ107bWm/
X-Google-Smtp-Source: ACJfBouR6Nx6c/fu8ycqprDIjSP6a2zF0cfPzMORSKaNFDtOo3j9RxdZzfQWWrXNgacg4ALNLg+J0g==
X-Received: by 10.28.106.6 with SMTP id f6mr31312543wmc.111.1514740029534;
Sun, 31 Dec 2017 09:07:09 -0800 (PST)
Original-Received: from p.fritz.box (p57AAFA54.dip0.t-ipconnect.de. [87.170.250.84])
by smtp.gmail.com with ESMTPSA id
d7sm50993543wrd.54.2017.12.31.09.07.08
(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
Sun, 31 Dec 2017 09:07:09 -0800 (PST)
X-Google-Original-From: Philipp Stephani
X-Mailer: git-send-email 2.15.1
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-Received-From: 2a00:1450:400c:c09::235
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: "Emacs development discussions."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Original-Sender: "Emacs-devel"
Xref: news.gmane.org gmane.emacs.devel:221489
Archived-At:
Before this commit, if 'electric-quote-replace-double' is non-nil,
typing " '" turned into " ‘" even if
'electric-quote-context-sensitive' was nil.
* lisp/electric.el (electric-quote-post-self-insert-function): Insert
context-sensitive double quote only if the last character is actually
a double quote character.
* test/lisp/electric-tests.el
(electric-quote-replace-double-no-context-single): New unit test.
---
lisp/electric.el | 3 ++-
test/lisp/electric-tests.el | 7 +++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/lisp/electric.el b/lisp/electric.el
index cee3562139..e277e2963d 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -501,7 +501,8 @@ electric-quote-post-self-insert-function
(let ((backtick ?\`))
(if (or (eq last-command-event ?\`)
(and (or electric-quote-context-sensitive
- electric-quote-replace-double)
+ (and electric-quote-replace-double
+ (eq last-command-event ?\")))
(save-excursion
(backward-char)
(or (bobp) (bolp)
diff --git a/test/lisp/electric-tests.el b/test/lisp/electric-tests.el
index 7df2449b9e..a8d3688a6d 100644
--- a/test/lisp/electric-tests.el
+++ b/test/lisp/electric-tests.el
@@ -735,6 +735,13 @@ electric-quote-replace-double-after-paren
:bindings '((electric-quote-replace-double . t))
:test-in-comments nil :test-in-strings nil)
+(define-electric-pair-test electric-quote-replace-double-no-context-single
+ " " "-'" :expected-string " ’" :expected-point 3
+ :modes '(text-mode)
+ :fixture-fn #'electric-quote-local-mode
+ :bindings '((electric-quote-replace-double . t))
+ :test-in-comments nil :test-in-strings nil)
+
;; Simulate ‘markdown-mode’: it sets both ‘comment-start’ and
;; ‘comment-use-syntax’, but derives from ‘text-mode’.
(define-electric-pair-test electric-quote-markdown-in-text
--
2.15.1