For example, evil is autoload,
Some blogs/threads will use
(require 'evil)
(evil-mode 1)
to enable evil mode.
AFAIK, Elisp is lisp2 and evil-mode
is also a function, so doesn't need setq
.
(defadvice evil-mode (after start-evil activate)
"Enable Evil in Fundamental mode."
(if evil-mode
(progn
(when (eq (default-value 'major-mode) 'fundamental-mode)
;; changed back by `evil-local-mode'
(setq-default major-mode 'turn-on-evil-mode))
(ad-enable-regexp "^evil")
(ad-activate-regexp "^evil")
(with-no-warnings (evil-esc-mode 1)))
(when (eq (default-value 'major-mode) 'turn-on-evil-mode)
(setq-default major-mode 'fundamental-mode))
(ad-disable-regexp "^evil")
(ad-update-regexp "^evil")
(with-no-warnings (evil-esc-mode -1))))
But, because of autoload
,
(evil-mode 1)
Without require
, it also works fine(at least for me)
(If anywhere below is wrong, please correct me, thx)
My question is when must I use require
if the required package is autoloaded