emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 2bf7bc4: Merge from origin/emacs-25


From: Paul Eggert
Subject: [Emacs-diffs] master 2bf7bc4: Merge from origin/emacs-25
Date: Mon, 02 May 2016 17:50:48 +0000

branch: master
commit 2bf7bc4161a3b3e1eceaf8422773de87ae233ea3
Merge: d05806f bf21c84
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Merge from origin/emacs-25
    
    bf21c84 Fix quoting problem in cc-engine debug message
    8f36614 Add electric-quote-string unit test
    6280531 Don’t electrically quote ‘'’ in Python
    fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
---
 lisp/electric.el            |   11 ++++++++---
 lisp/progmodes/cc-engine.el |    2 +-
 lisp/progmodes/xref.el      |    2 +-
 test/lisp/electric-tests.el |    8 ++++++++
 4 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/lisp/electric.el b/lisp/electric.el
index ab79943..e289601 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 ?\`)
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 76a0b20..d19d2da 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -3527,7 +3527,7 @@ comment at the start of cc-engine.el for more info."
           c-state-old-cpp-end
           c-parse-state-point))))
 (defun c-replay-parse-state-state ()
-  (message
+  (message "%s"
    (concat "(setq "
     (mapconcat
      (lambda (arg)
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index f674c70..b5632af 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -902,7 +902,7 @@ IGNORES is a list of glob patterns."
                     (match-string 1)
                     (buffer-substring-no-properties (point) 
(line-end-position)))
               hits)))
-    (xref--convert-hits hits regexp)))
+    (xref--convert-hits (nreverse hits) regexp)))
 
 (defun xref--rgrep-command (regexp files dir ignores)
   (require 'find-dired)      ; for `find-name-arg'
diff --git a/test/lisp/electric-tests.el b/test/lisp/electric-tests.el
index 107b2e7..afd7076 100644
--- a/test/lisp/electric-tests.el
+++ b/test/lisp/electric-tests.el
@@ -584,5 +584,13 @@ baz\"\""
                   (skip-chars-backward "\"")
                   (mark-sexp -1)))
 
+
+;;; Electric quotes
+(define-electric-pair-test electric-quote-string
+  "" "'" :expected-string "'" :expected-point 2
+  :fixture-fn #'electric-quote-local-mode
+  :bindings '((electric-quote-string . t))
+  :test-in-comments nil :test-in-strings nil)
+
 (provide 'electric-tests)
 ;;; electric-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]