Make "^C<fg>[,<bg>]" ctlseq matching robuster.
[riece] / lisp / riece-menu.el
index ee47bd1..6e6a6c7 100644 (file)
@@ -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)
    "----"
          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))
+  (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)
 
 (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)))