Prevent an args-out-of-range error during login/out
[riece] / lisp / riece-unread.el
index f0355a9..18e7d3c 100644 (file)
@@ -1,4 +1,4 @@
-;;; riece-unread.el --- mark channels where new messages arrived
+;;; riece-unread.el --- mark channels where new messages arrived -*- lexical-binding: t -*-
 ;; Copyright (C) 1998-2003 Daiki Ueno
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -18,8 +18,8 @@
 
 ;; 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:
 
 (defvar riece-channel-list-unread-face 'riece-channel-list-unread-face)
 
 (unless (riece-facep 'riece-modeline-unread-face)
-  (make-face 'riece-modeline-unread-face
-            "Face used for displaying unread channels in modeline.")
+  ;; In Emacs, set-face-doc-string is an alias to
+  ;; set-face-documentation, but we use the former since it is
+  ;; available in both Emacs and XEmacs.
+  (make-face 'riece-modeline-unread-face)
+  (set-face-doc-string
+   'riece-modeline-unread-face
+   "Face used for displaying unread channels in modeline.")
   (if (featurep 'xemacs)
       (set-face-parent 'riece-modeline-unread-face 'modeline))
   (set-face-foreground 'riece-modeline-unread-face
@@ -84,7 +89,7 @@
          (setq riece-unread-channels (cons target riece-unread-channels))
          (riece-emit-signal 'channel-list-changed)))))
 
-(defun riece-unread-after-switch-to-channel-function (last)
+(defun riece-unread-after-switch-to-channel-function (_last)
   (if (get 'riece-unread 'riece-addon-enabled)
       (setq riece-unread-channels
            (delq (car (riece-identity-member riece-current-channel
   (let (requires)
     (if (memq 'riece-highlight riece-addons)
        (setq requires (cons 'riece-highlight requires)))
+    ;; To override riece-history's channel mark in the channel list buffer.
+    (if (memq 'riece-history riece-addons)
+       (setq requires (cons 'riece-history requires)))
 ;;;    (if (memq 'riece-guess riece-addons)
 ;;;    (setq requires (cons 'riece-guess requires)))
     requires))