X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e8757f091a502b858912a4c267210e009227d6e6..9075fcc1937a211bc91e8bc49c332bc55ac99e24:/lisp/erc/erc-log.el diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index eefe51ae70..1177cd8ce1 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -1,8 +1,9 @@ ;;; erc-log.el --- Logging facilities for ERC. -;; Copyright (C) 2003-2012 Free Software Foundation, Inc. +;; Copyright (C) 2003-2014 Free Software Foundation, Inc. ;; Author: Lawrence Mitchell +;; Maintainer: emacs-devel@gnu.org ;; Keywords: IRC, chat, client, Internet, logging ;; Created 2003-04-26 @@ -92,9 +93,7 @@ ;;; Code: (require 'erc) -(eval-when-compile - (require 'erc-networks) - (require 'cl)) +(eval-when-compile (require 'erc-networks)) (defgroup erc-log nil "Logging facilities for ERC." @@ -113,11 +112,13 @@ If you want to write logs into different directories, make a custom function which returns the directory part and set `erc-log-channels-directory' to its name." :group 'erc-log - :type '(choice (const :tag "Long style" erc-generate-log-file-name-long) - (const :tag "Long, but with network name rather than server" + :type '(choice (const :tag "#channel!nick@server:port.txt" + erc-generate-log-file-name-long) + (const :tag "#channel!nick@network.txt" erc-generate-log-file-name-network) - (const :tag "Short" erc-generate-log-file-name-short) - (const :tag "With date" erc-generate-log-file-name-with-date) + (const :tag "#channel.txt" erc-generate-log-file-name-short) + (const :tag "#channel@date.txt" + erc-generate-log-file-name-with-date) (function :tag "Other function"))) (defcustom erc-truncate-buffer-on-save nil @@ -201,6 +202,7 @@ If you set this to nil, you may want to enable both This should ideally, be a \"catch-all\" coding system, like `emacs-mule', or `iso-2022-7bit'." + :type 'coding-system :group 'erc-log) (defcustom erc-log-filter-function nil @@ -377,6 +379,8 @@ This function is a possible value for `erc-generate-log-file-name-function'." ;; we need a make-safe-file-name function. (convert-standard-filename file))) +(declare-function erc-network-name "erc-networks" ()) + (defun erc-generate-log-file-name-network (buffer target nick server port) "Generates a log-file name using the network name rather than server name. This results in a file name of the form #channel!nick@network.txt. @@ -426,7 +430,8 @@ You can save every individual message by putting this function on file t 'nomessage)))) (let ((coding-system-for-write coding-system)) (write-region start end file t 'nomessage)))) - (if (and erc-truncate-buffer-on-save (interactive-p)) + (if (and erc-truncate-buffer-on-save + (called-interactively-p 'interactive)) (progn (let ((inhibit-read-only t)) (erase-buffer)) (move-marker erc-last-saved-position (point-max))