about summary refs log tree commit diff
path: root/ci/pipelines/script.el
diff options
context:
space:
mode:
Diffstat (limited to 'ci/pipelines/script.el')
-rw-r--r--ci/pipelines/script.el28
1 files changed, 28 insertions, 0 deletions
diff --git a/ci/pipelines/script.el b/ci/pipelines/script.el
new file mode 100644
index 000000000000..45b5ea688500
--- /dev/null
+++ b/ci/pipelines/script.el
@@ -0,0 +1,28 @@
+;; This script initializes Emacs and exits with either a zero or non-zero status
+;; depending on whether or not Emacs initialized without logging warnings or
+;; encountering errors.
+;;
+;; This script reads the location of init.el as the last argument in `argv'.
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Dependencies
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(require 'dash)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Script
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(condition-case err
+    (load (-last-item argv))
+  (error
+   (message "Encountered an error while attempting to load init.el: %s" err)
+   (kill-emacs 1)))
+
+(if (bufferp "*Warnings*")
+    (progn
+      (with-current-buffer "*Warnings*"
+        (message "Encountered warnings in *Warnings* buffer: %s" (buffer-string)))
+      (kill-emacs 1))
+  (kill-emacs 0))