[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16111: (erc-current-logfile buf) behavior differs to with-current-bu
From: |
Ivan Shmakov |
Subject: |
bug#16111: (erc-current-logfile buf) behavior differs to with-current-buffer buf |
Date: |
Wed, 11 Dec 2013 13:41:18 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Package: emacs
Severity: minor
My guess is that the results of (erc-current-logfile buffer) and
(with-current-buffer buffer (erc-current-logfile)) were intended
to be the same. However, as the function references the session
buffer-local variables (erc-session-server, erc-session-port,
and, indirectly, erc-server-current-nick and erc-server-process)
/without/ switching to the buffer given, the results are
somewhat undefined.
(defun erc-current-logfile (&optional buffer)
"Return the logfile to use for BUFFER.
If BUFFER is nil, the value of `current-buffer' is used.
This is determined by `erc-generate-log-file-name-function'.
The result is converted to lowercase, as IRC is case-insensitive"
(unless buffer (setq buffer (current-buffer)))
(let ((target (or (buffer-name buffer) (erc-default-target)))
(nick (erc-current-nick))
(server erc-session-server)
(port erc-session-port))
…))
(There, it may make sense to enclose the most part of the code
within a with-current-buffer form.)
This may show no symptoms as long as erc-save-buffer-in-logs is
called in either of the buffers belonging to the same session,
but I’m in doubt that erc-log-save-all-buffers (which may run as
part of kill-emacs-hook) will behave sensible in general.
--
FSF associate member #7257
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#16111: (erc-current-logfile buf) behavior differs to with-current-buffer buf,
Ivan Shmakov <=