branch: externals/beardbolt
commit d7acfdd12736070c0033b58474fc059342c0a81c
Author: Jay Kamat <[email protected]>
Commit: Jay Kamat <[email protected]>
Fix rmsbolt temp directory generation being too late
---
rmsbolt.el | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/rmsbolt.el b/rmsbolt.el
index b143deeedc..f4cc254cf3 100644
--- a/rmsbolt.el
+++ b/rmsbolt.el
@@ -653,9 +653,23 @@ Needed as ocaml cannot output asm to a non-hardcoded file"
;;;; Init commands
+(defun rmsbolt--gen-temp ()
+ "Generate rmsbolt temp dir if needed."
+ (unless (and rmsbolt-temp-dir
+ (file-exists-p rmsbolt-temp-dir))
+ (setq rmsbolt-temp-dir
+ (make-temp-file "rmsbolt-" t))
+ (add-hook 'kill-emacs-hook
+ (lambda ()
+ (when (and (boundp 'rmsbolt-temp-dir)
+ rmsbolt-temp-dir
+ (file-directory-p rmsbolt-temp-dir))
+ (delete-directory rmsbolt-temp-dir t))
+ (setq rmsbolt-temp-dir nil)))))
(defun rmsbolt-starter (lang-mode)
"Code for fully setting up a language from LANG-MODE."
+ (rmsbolt--gen-temp)
(let* ((lang-def (rmsbolt--get-lang lang-mode))
(file-name
(expand-file-name (rmsbolt-l-starter-file-name lang-def)
rmsbolt-temp-dir))
@@ -787,18 +801,7 @@ This mode is enabled both in modes to be compiled and
output buffers."
(setq rmsbolt--idle-timer (run-with-idle-timer
rmsbolt-overlay-delay t
#'rmsbolt-move-overlays)))
-
- (unless (and rmsbolt-temp-dir
- (file-exists-p rmsbolt-temp-dir))
- (setq rmsbolt-temp-dir
- (make-temp-file "rmsbolt-" t))
- (add-hook 'kill-emacs-hook
- (lambda ()
- (when (and (boundp 'rmsbolt-temp-dir)
- rmsbolt-temp-dir
- (file-directory-p rmsbolt-temp-dir))
- (delete-directory rmsbolt-temp-dir t))
- (setq rmsbolt-temp-dir nil)))))
+ (rmsbolt--gen-temp))
(provide 'rmsbolt)