aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Allred <code@seanallred.com>2014-11-16 09:18:26 -0500
committerSean Allred <code@seanallred.com>2014-11-16 09:18:26 -0500
commitabb70f545aa7594a7c37e8335614c23a692b8a03 (patch)
tree2234420e54df3c3ee94840f8b9d4a5278988d1e4
parent4715d7e9e4c3bc4f4488f2a09c285171b245296d (diff)
parent14409012011d389c70ff79baf6dc3e228b08584c (diff)
Merge pull request #65 from vermiculus/intialize-on-list-questions
Intialize on list questions
-rw-r--r--sx-question-list.el1
-rw-r--r--sx.el17
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*")))
diff --git a/sx.el b/sx.el
index 53aae84..64c555c 100644
--- a/sx.el
+++ b/sx.el
@@ -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