;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
(require 'riece-message)
(require 'riece-button)
+(require 'riece-mcat)
(defgroup riece-log nil
"Save IRC logs."
(defconst riece-log-file-name-regexp
(concat (riece-make-interval-regexp "[0-9]" 8) "\\.txt\\(\\.\\(.*\\)\\)?$"))
-(defvar riece-log-enabled nil)
-
(defconst riece-log-description
"Save IRC logs.")
(defun riece-log-display-message-function (message)
- (if riece-log-enabled
+ (if (get 'riece-log 'riece-addon-enabled)
(let* ((coding-system-for-write
(if (featurep 'mule)
(or riece-log-coding-system
(when riece-log-flashback
(riece-insert-info (current-buffer)
(if (eq riece-log-flashback t)
- "Recent messages of the day:\n"
- (format "Recent messages up to %d lines:\n"
+ (riece-mcat "Recent messages of the day:\n")
+ (format (riece-mcat
+ "Recent messages up to %d lines:\n")
riece-log-flashback)))
(let (buffer-read-only
(point (goto-char (point-max))))
(add-hook 'riece-channel-buffer-create-functions
'riece-log-flashback))
+(defun riece-log-uninstall ()
+ (setq riece-log-lock-file nil)
+ (remove-hook 'riece-after-display-message-functions
+ 'riece-log-display-message-function)
+ (remove-hook 'riece-channel-buffer-create-functions
+ 'riece-log-flashback))
+
(defvar riece-command-mode-map)
(defun riece-log-enable ()
- (define-key riece-command-mode-map "\C-cd" 'riece-log-dired)
- (setq riece-log-enabled t))
+ (define-key riece-command-mode-map "\C-cd" 'riece-log-dired))
(defun riece-log-disable ()
- (define-key riece-command-mode-map "\C-cd" nil)
- (setq riece-log-enabled nil))
+ (define-key riece-command-mode-map "\C-cd" nil))
(provide 'riece-log)