From 113ef437f21c6ea1b65abe668feb86f1622a9f2e Mon Sep 17 00:00:00 2001
From: Deniz Dogan <deniz.a.m.dogan@gmail.com>
Date: Mon, 31 Jan 2011 18:11:29 -0500
Subject: [PATCH] Backport Bug#7933 fix from trunk.

* lisp/net/rcirc.el: Clean log filenames (Bug#7933).
(rcirc-log-write): Use convert-standard-filename.
(rcirc-log-filename-function): Documentation updates.
---
 lisp/ChangeLog    |  6 ++++++
 lisp/net/rcirc.el | 11 ++++++++---
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c8e7a3f27bf..ead0456a7b1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2011-01-31  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
+
+	* net/rcirc.el: Clean log filenames (Bug#7933).
+	(rcirc-log-write): Use convert-standard-filename.
+	(rcirc-log-filename-function): Documentation updates.
+
 2011-01-31  Alan Mackenzie  <acm@muc.de>
 
 	* progmodes/cc-cmds.el (c-forward-over-illiterals): Continue
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index b4f97466baa..818128142f8 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -1520,8 +1520,11 @@ return the filename, or nil if no logging is desired for this
 session.
 
 If the returned filename is absolute (`file-name-absolute-p'
-returns true), then it is used as-is, otherwise the resulting
-file is put into `rcirc-log-directory'."
+returns t), then it is used as-is, otherwise the resulting file
+is put into `rcirc-log-directory'.
+
+The filename is then cleaned using `convert-standard-filename' to
+guarantee valid filenames for the current OS."
   :group 'rcirc
   :type 'function)
 
@@ -1546,7 +1549,9 @@ file is put into `rcirc-log-directory'."
 Log data is written to `rcirc-log-directory', except for
 log-files with absolute names (see `rcirc-log-filename-function')."
   (dolist (cell rcirc-log-alist)
-    (let ((filename (expand-file-name (car cell) rcirc-log-directory))
+    (let ((filename (convert-standard-filename
+                     (expand-file-name (car cell)
+                                       rcirc-log-directory)))
 	  (coding-system-for-write 'utf-8))
       (make-directory (file-name-directory filename) t)
       (with-temp-buffer
-- 
2.39.5