]> git.eshelyaron.com Git - emacs.git/commitdiff
Normalize the code emitted by :mode, :interpreter, :magic, etc
authorJohn Wiegley <johnw@newartisans.com>
Mon, 4 Dec 2017 07:05:43 +0000 (23:05 -0800)
committerJohn Wiegley <johnw@newartisans.com>
Mon, 4 Dec 2017 07:06:10 +0000 (23:06 -0800)
up-core.el
up-tests.el

index 1476f7568895bb510a635bfadae020db89611f69..f4d9d0b3a813ed96e14d6a371d0149a4dacc63d2 100644 (file)
@@ -973,21 +973,20 @@ deferred until the prefix key sequence is pressed."
 
 (defun use-package-handler/:bind-keymap
     (name keyword arg rest state &optional override)
-  (let ((form
-         (mapcar
-          #'(lambda (binding)
-              `(,(if override
-                     'bind-key*
-                   'bind-key)
-                ,(car binding)
-                #'(lambda ()
-                    (interactive)
-                    (use-package-autoload-keymap
-                     ',(cdr binding) ',(use-package-as-symbol name)
-                     ,override)))) arg)))
-    (use-package-concat
-     (use-package-process-keywords name rest state)
-     `((ignore ,@form)))))
+  (use-package-concat
+   (use-package-process-keywords name rest state)
+   `((ignore
+      ,@(mapcar
+         #'(lambda (binding)
+             `(,(if override
+                    'bind-key*
+                  'bind-key)
+               ,(car binding)
+               #'(lambda ()
+                   (interactive)
+                   (use-package-autoload-keymap
+                    ',(cdr binding) ',(use-package-as-symbol name)
+                    ,override)))) arg)))))
 
 (defun use-package-handler/:bind-keymap* (name keyword arg rest state)
   (use-package-handler/:bind-keymap name keyword arg rest state t))
@@ -999,17 +998,18 @@ deferred until the prefix key sequence is pressed."
   (cl-destructuring-bind (nargs . commands)
       (use-package-normalize-commands args)
     (use-package-concat
-     (mapcar
-      #'(lambda (thing)
-          `(add-to-list
-            ',alist
-            ',(cons (use-package-normalize-regex (car thing))
-                    (cdr thing))))
-      nargs)
      (use-package-process-keywords name
        (use-package-sort-keywords
         (use-package-plist-append rest :commands commands))
-       state))))
+       state)
+     `((ignore
+        ,@(mapcar
+           #'(lambda (thing)
+               `(add-to-list
+                 ',alist
+                 ',(cons (use-package-normalize-regex (car thing))
+                         (cdr thing))))
+           nargs))))))
 
 (defalias 'use-package-normalize/:interpreter 'use-package-normalize-mode)
 
@@ -1064,21 +1064,22 @@ deferred until the prefix key sequence is pressed."
   (cl-destructuring-bind (nargs . commands)
       (use-package-normalize-commands args)
     (use-package-concat
-     (cl-mapcan
-      #'(lambda (def)
-          (let ((syms (car def))
-                (fun (cdr def)))
-            (when fun
-              (mapcar
-               #'(lambda (sym)
-                   `(add-hook (quote ,(intern (format "%s-hook" sym)))
-                              (function ,fun)))
-               (if (use-package-non-nil-symbolp syms) (list syms) syms)))))
-      nargs)
      (use-package-process-keywords name
        (use-package-sort-keywords
         (use-package-plist-append rest :commands commands))
-       state))))
+       state)
+     `((ignore
+        ,@(cl-mapcan
+           #'(lambda (def)
+               (let ((syms (car def))
+                     (fun (cdr def)))
+                 (when fun
+                   (mapcar
+                    #'(lambda (sym)
+                        `(add-hook (quote ,(intern (format "%s-hook" sym)))
+                                   (function ,fun)))
+                    (if (use-package-non-nil-symbolp syms) (list syms) syms)))))
+           nargs))))))
 
 ;;;; :commands
 
index 7f0dfe3dd732e71a1a592f8f53dd38b54fa33c90..8de058c4512a80a70d0cb76e40666d1a21db93c7 100644 (file)
   (match-expansion
    (use-package foo :interpreter "interp")
    `(progn
-      (add-to-list 'interpreter-mode-alist '("interp" . foo))
       (unless (fboundp 'foo)
-        (autoload #'foo "foo" nil t)))))
+        (autoload #'foo "foo" nil t))
+      (ignore
+       (add-to-list 'interpreter-mode-alist '("interp" . foo))))))
 
 (ert-deftest use-package-test/:interpreter-2 ()
   (match-expansion
    (use-package foo :interpreter ("interp" . fun))
    `(progn
-      (add-to-list 'interpreter-mode-alist '("interp" . fun))
       (unless (fboundp 'fun)
-        (autoload #'fun "foo" nil t)))))
+        (autoload #'fun "foo" nil t))
+      (ignore
+       (add-to-list 'interpreter-mode-alist '("interp" . fun))))))
 
 (ert-deftest use-package-test-normalize/:mode ()
   (flet ((norm (&rest args)
   (match-expansion
    (use-package foo :mode "interp")
    `(progn
-      (add-to-list 'auto-mode-alist '("interp" . foo))
       (unless (fboundp 'foo)
-        (autoload #'foo "foo" nil t)))))
+        (autoload #'foo "foo" nil t))
+      (ignore
+       (add-to-list 'auto-mode-alist '("interp" . foo))))))
 
 (ert-deftest use-package-test/:mode-2 ()
   (match-expansion
    (use-package foo :mode ("interp" . fun))
    `(progn
-      (add-to-list 'auto-mode-alist '("interp" . fun))
       (unless (fboundp 'fun)
-        (autoload #'fun "foo" nil t)))))
+        (autoload #'fun "foo" nil t))
+      (ignore
+       (add-to-list 'auto-mode-alist '("interp" . fun))))))
 
 (ert-deftest use-package-test/:magic-1 ()
   (match-expansion
    (use-package foo :magic "interp")
    `(progn
-      (add-to-list 'magic-mode-alist '("interp" . foo))
       (unless (fboundp 'foo)
-        (autoload #'foo "foo" nil t)))))
+        (autoload #'foo "foo" nil t))
+      (ignore
+       (add-to-list 'magic-mode-alist '("interp" . foo))))))
 
 (ert-deftest use-package-test/:magic-2 ()
   (match-expansion
    (use-package foo :magic ("interp" . fun))
    `(progn
-      (add-to-list 'magic-mode-alist '("interp" . fun))
       (unless (fboundp 'fun)
-        (autoload #'fun "foo" nil t)))))
+        (autoload #'fun "foo" nil t))
+      (ignore
+       (add-to-list 'magic-mode-alist '("interp" . fun))))))
 
 (ert-deftest use-package-test/:magic-fallback-1 ()
   (match-expansion
    (use-package foo :magic-fallback "interp")
    `(progn
-      (add-to-list 'magic-fallback-mode-alist '("interp" . foo))
       (unless (fboundp 'foo)
-        (autoload #'foo "foo" nil t)))))
+        (autoload #'foo "foo" nil t))
+      (ignore
+       (add-to-list 'magic-fallback-mode-alist '("interp" . foo))))))
 
 (ert-deftest use-package-test/:magic-fallback-2 ()
   (match-expansion
    (use-package foo :magic-fallback ("interp" . fun))
    `(progn
-      (add-to-list 'magic-fallback-mode-alist '("interp" . fun))
       (unless (fboundp 'fun)
-        (autoload #'fun "foo" nil t)))))
+        (autoload #'fun "foo" nil t))
+      (ignore
+       (add-to-list 'magic-fallback-mode-alist '("interp" . fun))))))
 
 (ert-deftest use-package-test/:commands-1 ()
   (match-expansion
              (with-demoted-errors
                  "Cannot load foo: %S" nil
                  (load "foo" nil t))))
-         (add-hook 'hook-hook #'fun)
          (unless (fboundp 'fun)
            (autoload #'fun "foo" nil t))
          (eval-when-compile
            (autoload #'key "foo" nil t))
          (eval-when-compile
            (declare-function key "foo"))
+         (ignore
+          (add-hook 'hook-hook #'fun))
          (ignore
           (bind-keys :package foo ("C-a" . key))))))))