]> git.eshelyaron.com Git - emacs.git/commitdiff
Make erc-current-logfile work with explicit parameter
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 14 Apr 2018 19:18:51 +0000 (21:18 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 14 Apr 2018 19:18:51 +0000 (21:18 +0200)
* 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).

lisp/erc/erc-log.el

index 1dd2e0aba493ff3d96c6bd5e48e018f88eef14d9..584f566f049fb1e5532ab66f5e0c932e03f30a16 100644 (file)
@@ -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.