diff options
Diffstat (limited to 'elpa/req-package-20180605.1141/req-package-hooks.el')
-rw-r--r-- | elpa/req-package-20180605.1141/req-package-hooks.el | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/elpa/req-package-20180605.1141/req-package-hooks.el b/elpa/req-package-20180605.1141/req-package-hooks.el new file mode 100644 index 0000000..b12d2c3 --- /dev/null +++ b/elpa/req-package-20180605.1141/req-package-hooks.el @@ -0,0 +1,26 @@ +;;; req-package-hooks.el --- summary: +;;; commentary: +;;; code: + +(defun req-package-hooks-mode-loaded-p (mode) + "Return true if MODE is loaded now." + (or (assoc mode minor-mode-list) (equal major-mode mode))) + +(defun req-package-hooks-add-execute-impl (m h f) + "Add function F to hook H and execute it if mode M is already activated" + (add-hook h f) + (if (req-package-hooks-mode-loaded-p m) + (funcall f))) + +(defun req-package-hooks-add-execute (m f) + "Add function F to mode M and execute it if already activated" + (let ((h (intern (concat (symbol-name m) "-hook")))) + (req-package-hooks-add-execute-impl m h f))) + +(defun add-hook-exec (m f &optional ff) + (if ff + (req-package-hooks-add-execute-impl m f ff) + (req-package-hooks-add-execute m f))) + +(provide 'req-package-hooks) +;;; req-package-hooks ends here |