diff --git a/core/lib/defuns-compile.el b/core/lib/defuns-compile.el index 8b6fd01eb..a1f20224a 100644 --- a/core/lib/defuns-compile.el +++ b/core/lib/defuns-compile.el @@ -1,41 +1,33 @@ ;;; defuns-compile.el -(eval-when-compile (require 'f)) - -(defun narf--compile-important-dirs () - (append (list narf-core-dir narf-contrib-dir) - (list (concat narf-modules-dir "lib/") - (concat narf-core-dir "lib/")) - (list narf-modules-dir narf-private-dir))) +;; (eval-when-compile (require 'core)) ;;;###autoload (defun narf/is-compilable-p () (let ((file-name (buffer-file-name))) - (--any? (f-child-of? file-name it) (narf--compile-important-dirs)))) + ;; TODO Detect init.el and init-load-path.el + (--any? (f-child-of? file-name it) + (append (list narf-core-dir narf-contrib-dir) + (list (concat narf-modules-dir "lib/") + (concat narf-core-dir "lib/")) + (list narf-modules-dir narf-private-dir))))) ;;;###autoload (autoload 'narf:compile-el "defuns-compile" nil t) (evil-define-command narf:compile-el (&optional bang) :repeat nil (interactive "") - (when (eq major-mode 'emacs-lisp-mode) - (byte-recompile-file (f-expand "core.el" narf-core-dir) t 0) - (byte-recompile-file (f-expand "core-vars.el" narf-core-dir) t 0) - (byte-recompile-file (f-expand "core-defuns.el" narf-core-dir) t 0) - (if (not bang) - (byte-recompile-file (buffer-file-name) t 0) - (byte-recompile-file (f-expand "init-load-path.el" narf-emacs-dir) nil 0) - (byte-recompile-file (f-expand "init.el" narf-emacs-dir) nil 0) - (dolist (dir (narf--compile-important-dirs)) - (byte-recompile-directory dir 0 nil))))) + (byte-recompile-file (f-expand "init.el" narf-emacs-dir) nil 0) + (byte-recompile-file (f-expand "init-load-path.el" narf-emacs-dir) nil 0) + (byte-recompile-file (f-expand "core.el" narf-core-dir) t 0) + (if (and (eq major-mode 'emacs-lisp-mode) (not bang)) + (byte-recompile-file (buffer-file-name) t 0) + (load (concat narf-script-dir "byte-compile.el")))) ;;;###autoload (autoload 'narf:compile-autoloads "defuns-compile" nil t) (evil-define-command narf:compile-autoloads (&optional bang) :repeat nil (interactive "") - (defvar generated-autoload-file (expand-file-name "autoloads.el" narf-core-dir)) - (when (and bang (file-exists-p generated-autoload-file)) - (delete-file generated-autoload-file)) - (apply #'update-directory-autoloads (narf--compile-important-dirs))) + (load (concat narf-script-dir "generate-autoloads.el"))) (provide 'defuns-compile) ;;; defuns-compile.el ends here