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.
This commit is contained in:
Alex Bennée 2020-07-06 20:32:27 +01:00
parent 8bc622ff09
commit 5040d52b46
1 changed files with 15 additions and 14 deletions

View File

@ -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,