[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-29 12d7670b90: Fix bug in 'sieve-manage--append-to-log'
From: |
Eli Zaretskii |
Subject: |
emacs-29 12d7670b90: Fix bug in 'sieve-manage--append-to-log' |
Date: |
Thu, 19 Jan 2023 08:42:25 -0500 (EST) |
branch: emacs-29
commit 12d7670b90f66f1d45a8c69d9acfc25238a65b02
Author: Kai Tetzlaff <emacs@tetzco.de>
Commit: Eli Zaretskii <eliz@gnu.org>
Fix bug in 'sieve-manage--append-to-log'
* lisp/net/sieve-manage.el (sieve-manage--append-to-log): Fix
log buffer creation. (Bug#54154) Do not merge to master.
---
lisp/net/sieve-manage.el | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/lisp/net/sieve-manage.el b/lisp/net/sieve-manage.el
index 5bee4f4c4a..4866f788bf 100644
--- a/lisp/net/sieve-manage.el
+++ b/lisp/net/sieve-manage.el
@@ -168,19 +168,25 @@ Valid states are `closed', `initial', `nonauth', and
`auth'.")
;; Internal utility functions
(defun sieve-manage--append-to-log (&rest args)
- "Append ARGS to sieve-manage log buffer.
+ "Append ARGS to `sieve-manage-log' buffer.
ARGS can be a string or a list of strings.
-The buffer to use for logging is specifified via
-`sieve-manage-log'. If it is nil, logging is disabled."
+The buffer to use for logging is specifified via `sieve-manage-log'.
+If it is nil, logging is disabled.
+
+When the `sieve-manage-log' buffer doesn't exist, it gets created (and
+configured with some initial settings)."
(when sieve-manage-log
- (with-current-buffer (or (get-buffer sieve-manage-log)
- (with-current-buffer
- (get-buffer-create sieve-manage-log)
- (set-buffer-multibyte nil)
- (buffer-disable-undo)))
- (goto-char (point-max))
- (apply #'insert args))))
+ (let* ((existing-log-buffer (get-buffer sieve-manage-log))
+ (log-buffer (or existing-log-buffer
+ (get-buffer-create sieve-manage-log))))
+ (with-current-buffer log-buffer
+ (unless existing-log-buffer
+ ;; Do this only once, when creating the log buffer.
+ (set-buffer-multibyte nil)
+ (buffer-disable-undo))
+ (goto-char (point-max))
+ (apply #'insert args)))))
(defun sieve-manage--message (format-string &rest args)
"Wrapper around `message' which also logs to sieve manage log.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emacs-29 12d7670b90: Fix bug in 'sieve-manage--append-to-log',
Eli Zaretskii <=