:type 'directory
:group 'riece-log)
+(defcustom riece-log-lock-directory
+ (expand-file-name "=lock" riece-log-directory)
+ "*Lock directory for riece-log.
+It is created if there is at least one instance of Emacs running riece-log."
+ :type 'directory
+ :group 'riece-log)
+
(defcustom riece-log-directory-map nil
"*The map of channel name and directory name."
:type '(repeat (cons (string :tag "Channel name")
"Insert logs for IDENTITY at most LINES.
If LINES is t, insert today's logs entirely."
(if (eq lines t)
- (let ((file (riece-log-get-file identity)))
+ (let* (file-name-coding-system
+ default-file-name-coding-system
+ (file (riece-log-get-file identity)))
(if (file-exists-p file)
(insert-file-contents file)))
- (let ((files (riece-log-get-files identity))
- (lines (- lines))
- name date point)
+ (let* (file-name-coding-system
+ default-file-name-coding-system
+ (files (riece-log-get-files identity))
+ (lines (- lines))
+ name date point)
(while (and (< lines 0) files)
(if (and (file-exists-p (car files))
(string-match (concat (riece-make-interval-regexp "[0-9]" 8)
(defvar riece-command-mode-map)
(defun riece-log-enable ()
(define-key riece-command-mode-map "\C-cd" 'riece-log-open-directory)
- (setq riece-log-enabled t))
+ (make-directory riece-log-directory t)
+ (condition-case nil
+ (progn
+ (make-directory riece-log-lock-directory)
+ (add-hook 'riece-exit-hook
+ (lambda ()
+ (condition-case nil
+ (delete-directory riece-log-lock-directory)
+ (error))))
+ (setq riece-log-enabled t))
+ (error)))
(defun riece-log-disable ()
(define-key riece-command-mode-map "\C-cd" nil)