refactor(lib): move doom-log to doom-lib

This is such an essential macro that it should be universally available,
and not stowed away in the print library.
This commit is contained in:
Henrik Lissner 2022-09-06 23:46:42 +02:00
parent 3ae8c520d5
commit 0a51fdff53
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
2 changed files with 18 additions and 34 deletions

View file

@ -167,38 +167,6 @@ Returns OUTPUT."
(if newline (terpri stream))
output)))
;;;###autoload
(progn
;; Autoload whole definition, so its buried uses don't pull in this whole file
;; with them at expansion time.
(defmacro doom-log (output &rest args)
"Log a message in *Messages*.
Does not emit the message in the echo area. This is a macro instead of a
function to prevent the potentially expensive execution of its arguments when
debug mode is off."
`(when (or init-file-debug noninteractive)
(let ((inhibit-message t))
(message
"%s" (propertize
(doom-print--format
(format
"* [%s] %s"
,(let ((time `(format "%.06f" (float-time (time-subtract (current-time) before-init-time)))))
(cond (noninteractive time)
((bound-and-true-p doom--current-module)
(format "[:%s %s] "
(doom-keyword-name (car doom--current-module))
(cdr doom--current-module)))
((when-let (file (ignore-errors (file!)))
(format "[%s] "
(file-relative-name
file (expand-file-name "../" (file-name-directory file))))))
(time)))
,output)
,@args)
'face 'font-lock-doc-face))))))
;;;###autoload
(defmacro format! (message &rest args)
"An alternative to `format' that understands (color ...) and converts them