From 8bc622ff09f3265fcbde75fdc35858e6cd6a8201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Mon, 6 Jul 2020 20:26:02 +0100 Subject: [PATCH] mu4e/mu4e-utils: refactor mu4e-log buffer creation Move all the one time setup for mu4e-log into its own private section. --- mu4e/mu4e-utils.el | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/mu4e/mu4e-utils.el b/mu4e/mu4e-utils.el index f909217b..55ede545 100644 --- a/mu4e/mu4e-utils.el +++ b/mu4e/mu4e-utils.el @@ -1000,11 +1000,10 @@ in the background; otherwise, pop up a window." "Max number of characters to keep around in the log buffer.") (defconst mu4e~log-buffer-name "*mu4e-log*" "*internal* Name of the logging buffer.") -(defun mu4e-log (type frm &rest args) - "Write a message of TYPE with format-string FRM and ARGS in -*mu4e-log* buffer, if the variable mu4e-debug is non-nil. Type is -either 'to-server, 'from-server or 'misc. This function is meant for debugging." - (when mu4e-debug + +(defun mu4e~get-log-buffer () + "Fetch (and maybe create) the log buffer." + (unless (get-buffer mu4e~log-buffer-name) (with-current-buffer (get-buffer-create mu4e~log-buffer-name) (view-mode) @@ -1012,7 +1011,15 @@ either 'to-server, 'from-server or 'misc. This function is meant for debugging." (unless (eq major-mode 'so-long-mode) (eval '(so-long-mode)))) - (setq buffer-undo-list t) + (setq buffer-undo-list t))) + mu4e~log-buffer-name) + +(defun mu4e-log (type frm &rest args) + "Write a message of TYPE with format-string FRM and ARGS in +*mu4e-log* buffer, if the variable mu4e-debug is non-nil. Type is +either 'to-server, 'from-server or 'misc. This function is meant for debugging." + (when mu4e-debug + (with-current-buffer (mu4e~get-log-buffer) (let* ((inhibit-read-only t) (tstamp (propertize (format-time-string "%Y-%m-%d %T.%3N" (current-time))