branch: externals/yasnippet
commit e23a80177a9c434174ed8a5955c296d7828a1060
Author: Vito Van <[email protected]>
Commit: Vito Van <[email protected]>

    (yas--all-parents): delete-dups for fundamental-mode
    
    Before this commit,
    
    (yas--all-parents 'lisp-mode) would return:
    
    `(lisp-mode lisp-data-mode prog-mode fundamental-mode fundamental-mode)`
    
    which would cause duplicated entries when prompting,
    if the snippet were for fundamental-mode.
---
 yasnippet.el | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/yasnippet.el b/yasnippet.el
index fa36be7089..0d52a96ecc 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -848,18 +848,19 @@ which decides on the snippet to expand.")
                             (cons (if (eq mode 'fundamental-mode) ()
                                     (append (cdr ap) '(fundamental-mode)))
                                   extras))))
-                 (cons mode
-                       (yas--merge-ordered-lists
-                        (mapcar #'yas--all-parents
-                                (remq nil
-                                      `(,(or (get mode 'derived-mode-parent)
-                                             ;; Consider `fundamental-mode'
-                                             ;; as ultimate ancestor.
-                                             'fundamental-mode)
-                                        ,(let ((alias (symbol-function mode)))
-                                           (when (symbolp alias) alias))
-                                        ,@(get mode 
'derived-mode-extra-parents)
-                                        ,@(gethash mode yas--parents)))))))))
+                 (delete-dups
+                  (cons mode
+                        (yas--merge-ordered-lists
+                         (mapcar #'yas--all-parents
+                                 (remq nil
+                                       `(,(or (get mode 'derived-mode-parent)
+                                              ;; Consider `fundamental-mode'
+                                              ;; as ultimate ancestor.
+                                              'fundamental-mode)
+                                         ,(let ((alias (symbol-function mode)))
+                                            (when (symbolp alias) alias))
+                                         ,@(get mode 
'derived-mode-extra-parents)
+                                         ,@(gethash mode yas--parents))))))))))
           (dolist (parent all-parents)
             (cl-pushnew mode (get parent 'yas--cached-children)))
           (put mode 'yas--all-parents all-parents)))))

Reply via email to