読者です 読者をやめる 読者になる 読者になる

yasnippet-0.6.1b(c?)を使うとanything-c-yasnippet.elが動かない

yasnippet-0.6.1b(c?)では、yas/snippet-table-hashのデータ構造とyas/expand-snippetの引数の順番が以前のバージョンとは違うらしい。
以下パッチ

diff --git a/plugins/anything-c-yasnippet.el b/plugins/anything-c-yasnippet.el
index b74c115..79020d9 100644
--- a/plugins/anything-c-yasnippet.el
+++ b/plugins/anything-c-yasnippet.el
@@ -169,8 +169,11 @@ If SNIPPET-FILE does not contain directory, it is placed in default snippet dire
                           collect (yas/snippet-table-hash table))))
         (loop for hash in hashes
               do (maphash (lambda (k v)
-                            (setq hash-value-alist (append v hash-value-alist))
-                            )
+                            (let (a)
+                              (maphash (lambda (n te)
+                                         (setq a (append (list (cons k te)) a)))
+                                       v)
+                              (setq hash-value-alist (append a hash-value-alist))))
                           hash))
         (loop with transformed
               with templates
@@ -306,7 +309,7 @@ space match anyword greedy"
     (candidate-transformer . (lambda (candidates)
                                (anything-c-yas-get-transformed-list anything-c-yas-cur-snippets-alist anything-c-yas-initial-input)))
     (action . (("Insert snippet" . (lambda (template)
-                                     (yas/expand-snippet anything-c-yas-point-start anything-c-yas-point-end template)
+                                     (yas/expand-snippet template anything-c-yas-point-start anything-c-yas-point-end)
                                      (when anything-c-yas-display-msg-after-complete
                                        (message "this snippet is bound to [ %s ]"
                                                 (anything-c-yas-get-key-by-template template anything-c-yas-cur-snippets-alist)))))

ちなみにanything-c-yasnippetのまとめはこちらです。

http://d.hatena.ne.jp/IMAKADO/20080401/1206715770

動かない!!

ちょっと買えた

diff --git a/plugins/anything-c-yasnippet.el b/plugins/anything-c-yasnippet.el
index b74c115..948d627 100644
--- a/plugins/anything-c-yasnippet.el
+++ b/plugins/anything-c-yasnippet.el
@@ -162,15 +162,20 @@ If SNIPPET-FILE does not contain directory, it is placed in default snippet dire
         (yas/choose-tables-first nil)
         (yas/buffer-local-condition 'always))
     (let* ((result-alist '((candidates) (transformed) (template-key-alist)))
-           (hash-value-alist nil)
-           (cur-table (first (yas/get-snippet-tables anything-c-yas-cur-major-mode)))
-           (hash-table (yas/snippet-table-hash cur-table))) ;`yas/snippet-table-hash'
-      (let ((hashes (loop for table in (yas/get-snippet-tables)
+           (cur-tables
+            (if table
+                (list table)
+              (yas/get-snippet-tables anything-c-yas-cur-major-mode)))
+           (hash-value-alist nil))
+      (let ((hashes (loop for table in cur-tables
                           collect (yas/snippet-table-hash table))))
         (loop for hash in hashes
               do (maphash (lambda (k v)
-                            (setq hash-value-alist (append v hash-value-alist))
-                            )
+                            (let (a)
+                              (maphash (lambda (n te)
+                                         (setq a (append (list (cons k te)) a)))
+                                       v)
+                              (setq hash-value-alist (append a hash-value-alist))))
                           hash))
         (loop with transformed
               with templates
@@ -306,7 +311,7 @@ space match anyword greedy"
     (candidate-transformer . (lambda (candidates)
                                (anything-c-yas-get-transformed-list anything-c-yas-cur-snippets-alist anything-c-yas-initial-input)))
     (action . (("Insert snippet" . (lambda (template)
-                                     (yas/expand-snippet anything-c-yas-point-start anything-c-yas-point-end template)
+                                     (yas/expand-snippet template anything-c-yas-point-start anything-c-yas-point-end)
                                      (when anything-c-yas-display-msg-after-complete
                                        (message "this snippet is bound to [ %s ]"
                                                 (anything-c-yas-get-key-by-template template anything-c-yas-cur-snippets-alist)))))