emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] master 763f5fa 122/177: Closes #474: fix more cc-mode font-lock c


From: João Távora
Subject: [elpa] master 763f5fa 122/177: Closes #474: fix more cc-mode font-lock conflicts
Date: Sat, 28 Mar 2015 15:41:22 +0000

branch: master
commit 763f5faa14614b207d65e03594b80ba662f47efc
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Closes #474: fix more cc-mode font-lock conflicts
    
    * yasnippet-tests.el (example-for-issue-474): Don't call insert from
      within backquotes, it's redundant and prevents proper testing of
      backquote expansion.
    
    * yasnippet.el (yas--restore-backquotes, yas--save-backquotes): Ensure
      the buffer isn't narrowed while modifying it to avoid conflicting with
      cc-mode fontification.
---
 yasnippet-tests.el |    2 +-
 yasnippet.el       |   16 ++++++++++------
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/yasnippet-tests.el b/yasnippet-tests.el
index f87b3d4..c6b878d 100644
--- a/yasnippet-tests.el
+++ b/yasnippet-tests.el
@@ -229,7 +229,7 @@
     (c-mode)
     (yas-minor-mode 1)
     (insert "#include <foo>\n")
-    (let ((yas-good-grace nil)) (yas-expand-snippet "`(insert \"TODO: \")`"))
+    (let ((yas-good-grace nil)) (yas-expand-snippet "`\"TODO: \"`"))
     (should (string= (yas--buffer-contents) "#include <foo>\nTODO: "))))
 
 (ert-deftest example-for-issue-404 ()
diff --git a/yasnippet.el b/yasnippet.el
index 43564ff..b4432b8 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -3911,9 +3911,11 @@ with their evaluated value into 
`yas--backquote-markers-and-strings'."
       (goto-char (match-beginning 0))
       (when transformed
         (let ((marker (make-marker)))
-          (insert "Y") ;; quite horrendous, I love it :)
-          (set-marker marker (point))
-          (insert "Y")
+          (save-restriction
+            (widen)
+            (insert "Y") ;; quite horrendous, I love it :)
+            (set-marker marker (point))
+            (insert "Y"))
           (push (cons marker transformed) 
yas--backquote-markers-and-strings))))))
 
 (defun yas--restore-backquotes ()
@@ -3924,9 +3926,11 @@ with their evaluated value into 
`yas--backquote-markers-and-strings'."
            (string (cdr marker-and-string)))
       (save-excursion
         (goto-char marker)
-        (delete-char -1)
-        (insert string)
-        (delete-char 1)
+        (save-restriction
+          (widen)
+          (delete-char -1)
+          (insert string)
+          (delete-char 1))
         (set-marker marker nil)))))
 
 (defun yas--scan-sexps (from count)



reply via email to

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