From 5040d52b46ca7f112c1df92396e0851911f6f4b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Mon, 6 Jul 2020 20:32:27 +0100 Subject: [PATCH] mu4e/mu4e-utils: save-excursion before updating the log buffer If the user is scrolling and searching through the log buffer to see what went wrong it gets very annoying having an update change things. To avoid this wrap all buffer updating code in a save-excursion so point is preserved. --- mu4e/mu4e-utils.el | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/mu4e/mu4e-utils.el b/mu4e/mu4e-utils.el index 55ede545..d81a1415 100644 --- a/mu4e/mu4e-utils.el +++ b/mu4e/mu4e-utils.el @@ -1032,21 +1032,22 @@ either 'to-server, 'from-server or 'misc. This function is meant for debugging." (error 'font-lock-warning-face) (otherwise (mu4e-error "Unsupported log type")))) (msg (propertize (apply 'format frm args) 'face msg-face))) - (goto-char (point-max)) - (insert tstamp - (cl-case type - (from-server " <- ") - (to-server " -> ") - (error " !! ") - (otherwise " ")) - msg "\n") + (save-excursion + (goto-char (point-max)) + (insert tstamp + (cl-case type + (from-server " <- ") + (to-server " -> ") + (error " !! ") + (otherwise " ")) + msg "\n") - ;; if `mu4e-log-max-lines is specified and exceeded, clearest the oldest - ;; lines - (when (> (buffer-size) mu4e~log-max-size) - (goto-char (- (buffer-size) mu4e~log-max-size)) - (beginning-of-line) - (delete-region (point-min) (point))))))) + ;; if `mu4e-log-max-lines is specified and exceeded, clearest the oldest + ;; lines + (when (> (buffer-size) mu4e~log-max-size) + (goto-char (- (buffer-size) mu4e~log-max-size)) + (beginning-of-line) + (delete-region (point-min) (point)))))))) (defun mu4e-toggle-logging () "Toggle between enabling/disabling debug-mode (in debug-mode,