emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/erc/erc-log.el,v


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/erc/erc-log.el,v
Date: Mon, 07 Aug 2006 07:43:26 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Miles Bader <miles>     06/08/07 07:43:26

Index: erc-log.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/erc/erc-log.el,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- erc-log.el  3 Aug 2006 05:10:38 -0000       1.4
+++ erc-log.el  7 Aug 2006 07:43:25 -0000       1.5
@@ -71,8 +71,6 @@
 ;; markers.
 
 ;;; TODO:
-;; * Erc needs a generalised make-safe-file-name function, so that
-;;   generated file names don't contain any invalid file characters.
 ;;
 ;; * Really, we need to lock the logfiles somehow, so that if a user
 ;;   is running multiple emacsen and/or on the same channel as more
@@ -293,13 +291,23 @@
           (funcall erc-enable-logging (or buffer (current-buffer)))
         erc-enable-logging)))
 
+(defun erc-log-standardize-name (filename)
+  "Make FILENAME safe to use as the name of an ERC log.
+This will not work with full paths, only names.
+
+Any unsafe characters in the name are replaced with \"!\".  The
+filename is downcased."
+  (downcase (erc-replace-regexp-in-string
+            "[/\\]" "!" (convert-standard-filename filename))))
+
 (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"
   (expand-file-name
-   (downcase (funcall erc-generate-log-file-name-function
+   (erc-log-standardize-name
+    (funcall erc-generate-log-file-name-function
                      (or buffer (current-buffer))
                      (or (erc-default-target) (buffer-name buffer))
                      (erc-current-nick)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]