diff options
author | Sean Allred <code@seanallred.com> | 2014-11-16 09:18:26 -0500 |
---|---|---|
committer | Sean Allred <code@seanallred.com> | 2014-11-16 09:18:26 -0500 |
commit | abb70f545aa7594a7c37e8335614c23a692b8a03 (patch) | |
tree | 2234420e54df3c3ee94840f8b9d4a5278988d1e4 | |
parent | 4715d7e9e4c3bc4f4488f2a09c285171b245296d (diff) | |
parent | 14409012011d389c70ff79baf6dc3e228b08584c (diff) |
Merge pull request #65 from vermiculus/intialize-on-list-questions
Intialize on list questions
-rw-r--r-- | sx-question-list.el | 1 | ||||
-rw-r--r-- | sx.el | 17 |
2 files changed, 14 insertions, 4 deletions
diff --git a/sx-question-list.el b/sx-question-list.el index b220097..72eabd3 100644 --- a/sx-question-list.el +++ b/sx-question-list.el @@ -323,6 +323,7 @@ focus the relevant window." (defun list-questions (no-update) "Display a list of StackExchange questions." (interactive "P") + (sx-initialize) (unless (buffer-live-p sx-question-list--buffer) (setq sx-question-list--buffer (generate-new-buffer "*question-list*"))) @@ -143,10 +143,19 @@ SETTER should be a function of two arguments. If SETTER is nil, (,(or setter #'setq) ,variable ,value)))) nil) -(defun stack-initialize () - (run-hooks - 'sx-init--internal-hook - 'sx-init-hook)) +(defvar sx-initialized nil + "Nil if sx hasn't been initialized yet. +If it has, holds the time at which initialization happened.") + +(defun sx-initialize (&optional force) + "Run initialization hooks if they haven't been run yet. +These are `sx-init--internal-hook' and `sx-init-hook'. +If FORCE is non-nil, run them even if they've already been run." + (when (or force (not sx-initialized)) + (prog1 + (run-hooks 'sx-init--internal-hook + 'sx-init-hook) + (setq sx-initialized (current-time))))) (provide 'sx) ;;; sx.el ends here |