 ;; Profile Properties:
 ;;  - External:
 ;;  - Internal:
-;; :root-dir :project-name :inited :init
+;; :root-dir :project-name :inited :initfun
 ;; :remote-prefix :remote-host :root-stem
 
 ;; hooks
-(defvar prof-on-profile-inited '()
-  "Hooks run when a profile is first loaded.
+(defvar prof-on-profile-pre-init '()
+  "Hooks run just before a profile is first initialized.
+Hook functions are called with one parameter, the new profile.")
+(defvar prof-on-profile-post-init '()
+  "Hooks run just after a profile is first initialized.
 Hook functions are called with one parameter, the new profile.")
 (defvar prof-on-profile-loaded '()
   "Hooks run whenever a profile becomes active.

   (or filename (buffer-file-name) (buffer-name))
   prof-path-alist 'string-match))

(defun prof--safe-funcall (prof property &rest rem)
  "Call a function from profile PROF stored in its PROPERTY tag.
The function is called with arguments REM.  The function must
exist and be bound."
  (let ((func (intern-soft
               (prof-get prof property))))
    (and func (fboundp func) (funcall func rem))))

;; Author: Dan Harms <enniomore@icloud.com>
;; Created: Thursday, November  3, 2016
;; Version: 1.0
;; Modified Time-stamp: <2017-01-16 08:41:48 dharms>
;; Modified by: Dan Harms
;; Keywords: profiles project

