Fix byte-compile error
[riece] / lisp / riece-menu.el
index ee47bd1..2b5e699 100644 (file)
@@ -1,4 +1,4 @@
-;;; riece-menu.el --- setup menus
+;;; riece-menu.el --- setup menus -*- lexical-binding: t -*-
 ;; Copyright (C) 1998-2003 Daiki Ueno
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -48,6 +48,7 @@
    (list (riece-mcat "Servers")
         :filter 'riece-menu-create-servers-menu)
    "----"
+   (vector (riece-mcat "Redraw Layout") 'riece-command-configure-windows t)
    (list (riece-mcat "Change Window Layout...")
         :filter 'riece-menu-create-layouts-menu)
    (list (riece-mcat "Toggle...")
@@ -72,6 +73,7 @@
    (vector (riece-mcat "Invite User") 'riece-command-invite
           'riece-current-channel)
    "----"
+   (vector (riece-mcat "Manage Add-ons") 'riece-command-list-addons t)
    (vector (riece-mcat "Version") 'riece-version t)
    (vector (riece-mcat "Submit Bug Report") 'riece-submit-bug-report t)
    "----"
 (defconst riece-menu-description
   "Setup Riece's command menus.")
 
-(defun riece-menu-create-layouts-menu (menu)
+(defun riece-menu-create-layouts-menu (_menu)
   (mapcar (lambda (entry)
            (vector (car entry) (list 'riece-command-change-layout (car entry))
                    t))
          riece-layout-alist))
 
-(defun riece-menu-create-channels-menu (menu)
-  (mapcar (lambda (channel)
-           (list (riece-format-identity channel)
-                 (vector (riece-mcat "Switch To Channel")
-                         (list 'riece-command-switch-to-channel channel) t)
-                 (vector (riece-mcat "Part Channel")
-                         (list 'riece-command-part channel) t)
-                 (vector (riece-mcat "List Channel")
-                         (list 'riece-command-list
-                               (riece-identity-prefix channel)) t)))
-         riece-current-channels))
-
-(defun riece-menu-create-servers-menu (menu)
+(defun riece-menu-create-channels-menu (_menu)
+  (delq nil
+       (mapcar (lambda (channel)
+                 (if channel
+                     (list (riece-format-identity channel)
+                           (vector (riece-mcat "Switch To Channel")
+                                   (list 'riece-command-switch-to-channel
+                                         channel)
+                                   t)
+                           (vector (riece-mcat "Part Channel")
+                                   (list 'riece-command-part channel) t)
+                           (vector (riece-mcat "List Channel")
+                                   (list 'riece-command-list
+                                         (riece-identity-prefix channel)) t))))
+               riece-current-channels)))
+
+(defun riece-menu-create-servers-menu (_menu)
   (mapcar (lambda (entry)
            (list (car entry)
                  (vector (riece-mcat "Open Server")
 
 (defun riece-menu-insinuate ()
   (if (fboundp 'custom-reevaluate-setting)
-      (custom-reevaluate-setting 'riece-menu-items))
+      (custom-reevaluate-setting 'riece-menu-items)
+    ;; We could emulate custom-reevaluate-setting by manually eval the
+    ;; 'standard-value property of 'riece-menu-items.  In that case
+    ;; (i.e. XEmacs 21.4), however, there is no way to render
+    ;; non-ASCII labels in the menu, so give up here.
+    )
   (if riece-command-buffer
       (with-current-buffer riece-command-buffer
        (riece-menu-command-mode-hook)))