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

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

[elpa] master 70151f4 152/177: Closes #525, closes #526: Prevent some ke


From: João Távora
Subject: [elpa] master 70151f4 152/177: Closes #525, closes #526: Prevent some keybinding fallback loops
Date: Sat, 28 Mar 2015 15:41:36 +0000

branch: master
commit 70151f4f1e56fdf18d9e2b9dff9dec7a769e0a05
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>

    Closes #525, closes #526: Prevent some keybinding fallback loops
    
    * yasnippet.el (yas--keybinding-beyond-yasnippet): Add docstring.
    (yas--fallback): Also let-bind `yas-minor-mode' to nil when
    falling back.
---
 yasnippet.el |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/yasnippet.el b/yasnippet.el
index 75f0ad4..a64230b 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -2254,6 +2254,12 @@ Common gateway for `yas-expand-from-trigger-key' and
                         "outside of the `yas-minor-mode-map'.")))
         ((eq yas-fallback-behavior 'call-other-command)
          (let* ((yas-fallback-behavior 'yas--fallback)
+                ;; Also bind `yas-minor-mode' to prevent fallback
+                ;; loops when other extensions use mechanisms similar
+                ;; to `yas--keybinding-beyond-yasnippet'. (github #525
+                ;; and #526)
+                ;; 
+                (yas-minor-mode nil)
                 (beyond-yasnippet (yas--keybinding-beyond-yasnippet)))
            (yas--message 4 "Falling back to %s"  beyond-yasnippet)
            (assert (or (null beyond-yasnippet) (commandp beyond-yasnippet)))
@@ -2263,7 +2269,8 @@ Common gateway for `yas-expand-from-trigger-key' and
         ((and (listp yas-fallback-behavior)
               (cdr yas-fallback-behavior)
               (eq 'apply (car yas-fallback-behavior)))
-         (let ((yas-fallback-behavior 'yas--fallback))
+         (let ((yas-fallback-behavior 'yas--fallback)
+               (yas-minor-mode nil))
            (if (cddr yas-fallback-behavior)
                (apply (cadr yas-fallback-behavior)
                       (cddr yas-fallback-behavior))
@@ -2275,7 +2282,7 @@ Common gateway for `yas-expand-from-trigger-key' and
          nil)))
 
 (defun yas--keybinding-beyond-yasnippet ()
-  "Return the ??"
+  "Get current keys's binding as if YASsnippet didn't exist."
   (let* ((yas-minor-mode nil)
          (yas--direct-keymaps nil)
          (keys (this-single-command-keys)))



reply via email to

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