]> code.delx.au - gnu-emacs-elpa/commitdiff
fix: please older emacsen, don't use LETREC after all
authorJoão Távora <joaotavora@gmail.com>
Sat, 7 Sep 2013 17:55:37 +0000 (18:55 +0100)
committerJoão Távora <joaotavora@gmail.com>
Sat, 7 Sep 2013 17:55:37 +0000 (18:55 +0100)
also fix some compiler warnings

yasnippet.el

index 6ee8a1998d3d07f4d9f16dfaadd9dd88db8823ad..db529e8628f29c9c108256f86dfd005b888b2f6d 100644 (file)
@@ -657,6 +657,14 @@ snippet itself contains a condition that returns the symbol
 (defvar yas-minor-mode-map (yas--init-minor-keymap)
   "The keymap used when `yas-minor-mode' is active.")
 
+(defvar yas-extra-modes nil
+  "If non-nil, also lookup snippets for this/these modes.
+
+Can be a symbol or a list of symbols.
+
+This variable probably makes more sense as buffer-local, so
+ensure your use `make-local-variable' when you set it.")
+
 (defvar yas--tables (make-hash-table)
   "A hash table of mode symbols to `yas--table' objects.")
 
@@ -696,16 +704,17 @@ defined direct keybindings to the command
 (defun yas--modes-to-activate ()
   "Compute list of mode symbols that are active for `yas-expand'
 and friends."
-  (letrec ((dfs (lambda (mode &optional explored)
-                  (push mode explored)
-                  (cons mode
-                        (loop for neighbour
-                              in (remove nil (cons (get mode
-                                                        'derived-mode-parent)
-                                                   (gethash mode yas--parents)))
-
-                              unless (memq neighbour explored)
-                              append (funcall dfs neighbour explored))))))
+  (let (dfs)
+    (setq dfs (lambda (mode &optional explored)
+                (push mode explored)
+                (cons mode
+                      (loop for neighbour
+                            in (remove nil (cons (get mode
+                                                      'derived-mode-parent)
+                                                 (gethash mode yas--parents)))
+
+                            unless (memq neighbour explored)
+                            append (funcall dfs neighbour explored)))))
     (remove-duplicates (append yas-extra-modes
                                (funcall dfs major-mode)))))
 
@@ -1269,14 +1278,6 @@ return an expression that when evaluated will issue an error."
                 keybinding (error-message-string err))
        nil))))
 
-(defvar yas-extra-modes nil
-  "If non-nil, also lookup snippets for this/these modes.
-
-Can be a symbol or a list of symbols.
-
-This variable probably makes more sense as buffer-local, so
-ensure your use `make-local-variable' when you set it.")
-
 (defun yas--table-get-create (mode)
   "Get or create the snippet table corresponding to MODE."
   (let ((table (gethash mode
@@ -1879,7 +1880,6 @@ loading."
       ;;
       (setq yas--tables (make-hash-table))
       (setq yas--parents (make-hash-table))
-      (setq yas--ancestors (make-hash-table))
 
       ;; Before killing `yas--menu-table' use its keys to cleanup the
       ;; mode menu parts of `yas--minor-mode-menu' (thus also cleaning