Browse Source

Add after-first-visit-hook

master
10sr 4 years ago
parent
commit
d43f5f9e89
Signed by: 10sr GPG Key ID: 7BEC428194130EB2
1 changed files with 16 additions and 0 deletions
  1. +16
    -0
      emacs.el

+ 16
- 0
emacs.el View File

@@ -23,6 +23,22 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Some macros for internals

(defvar after-first-visit-hook nil
"Run only once at the first visit of file.")

(defvar after-first-visit-hook--done nil
"Non-nil when `after-first-visit-hook' has already been called.")

(defun after-first-visit-hook-run ()
"Run `after-first-visit-hook' and clear its config."
(when (not after-first-visit-hook--done)
(run-hooks 'after-first-visit-hook))
(setq after-first-visit-hook--done t)
(remove-hook 'find-file-hook
'after-first-visit-hook-run))
(add-hook 'find-file-hook
'after-first-visit-hook-run)

(defmacro eval-after-init (&rest body)
"If `after-init-hook' has been run, run BODY immediately.
Otherwize hook it."


Loading…
Cancel
Save