Problem: `(bufferp "*Warnings*")` always returns `nil` because it expects a buffer object. Thankfully I wrote a function called `buffer-exists?`, which is a more DWIM alternative of `bufferp`. Hopefully now CI should fail!
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
| ;; 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 'prelude)
 | |
| (require 'f)
 | |
| (require 'dash)
 | |
| (require 'buffer)
 | |
| 
 | |
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | |
| ;; Script
 | |
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | |
| 
 | |
| (defvar init-el-path (-last-item argv)
 | |
|   "Path to the init.el file that this script attempts to load.")
 | |
| 
 | |
| (prelude-assert (f-exists? init-el-path))
 | |
| 
 | |
| (condition-case err
 | |
|     (load init-el-path)
 | |
|   (error
 | |
|    (message "Encountered an error while attempting to load init.el: %s" err)
 | |
|    (kill-emacs 1)))
 | |
| 
 | |
| (when (buffer-exists? "*Errors*")
 | |
|   (progn
 | |
|     (with-current-buffer "*Errors*"
 | |
|       (message "Encountered errors in *Errors* buffer: %s" (buffer-string)))
 | |
|     (kill-emacs 1)))
 | |
| 
 | |
| (when (buffer-exists? "*Warnings*")
 | |
|   (progn
 | |
|     (with-current-buffer "*Warnings*"
 | |
|       (message "Encountered warnings in *Warnings* buffer: %s" (buffer-string)))
 | |
|     (kill-emacs 1)))
 | |
| 
 | |
| (message "Successfully init'd Emacs without encountering errors or warnings!")
 | |
| (kill-emacs 0)
 |