From: Lars Ingebrigtsen Date: Sat, 14 Apr 2018 19:18:51 +0000 (+0200) Subject: Make erc-current-logfile work with explicit parameter X-Git-Tag: emacs-27.0.90~5212 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=94b9fe59986c368ac2bb1024d3487dea73658788;p=emacs.git Make erc-current-logfile work with explicit parameter * lisp/erc/erc-log.el (erc-current-logfile): This function apparently refers to buffer-local variables, so switch to the buffer given before calculating the file name (bug#16111). --- diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index 1dd2e0aba49..584f566f049 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -344,18 +344,19 @@ 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)) - (expand-file-name - (erc-log-standardize-name - (funcall erc-generate-log-file-name-function - buffer target nick server port)) - (if (functionp erc-log-channels-directory) - (funcall erc-log-channels-directory - buffer target nick server port) - erc-log-channels-directory)))) + (with-current-buffer buffer + (let ((target (or (buffer-name buffer) (erc-default-target))) + (nick (erc-current-nick)) + (server erc-session-server) + (port erc-session-port)) + (expand-file-name + (erc-log-standardize-name + (funcall erc-generate-log-file-name-function + buffer target nick server port)) + (if (functionp erc-log-channels-directory) + (funcall erc-log-channels-directory + buffer target nick server port) + erc-log-channels-directory))))) (defun erc-generate-log-file-name-with-date (buffer &rest ignore) "This function computes a short log file name.