* wl-addrmgr.el(wl-addrmgr-mark-write): Use `string-to-char' instead of `? '. Use...
[elisp/wanderlust.git] / wl / wl-mule.el
index 080bb8f..c37c710 100644 (file)
@@ -1,5 +1,4 @@
-;;; wl-mule.el -- Wanderlust modules for Mule compatible Emacsen.
-;;                (Mule2.3@19.28, Mule2.3@19.34, Emacs 20.x)
+;;; wl-mule.el --- Wanderlust modules for Mule compatible Emacsen.
 
 ;; Copyright (C) 1998,1999,2000 Yuuichi Teranishi <teranisi@gohome.org>
 
@@ -25,7 +24,7 @@
 ;;
 
 ;;; Commentary:
-;;
+;; For Mule2.3@19.34, Emacs 20.x
 
 ;;; Code:
 ;;
@@ -58,9 +57,11 @@ Special commands:
          (start (progn (beginning-of-line) (point)))
          (inhibit-read-only t)
          (text-face
-          (cond ((looking-at wl-highlight-folder-opened-regexp)
+          (cond ((and (wl-folder-buffer-group-p)
+                      (looking-at wl-highlight-folder-opened-regexp))
                  'wl-highlight-folder-opened-face)
-                ((looking-at wl-highlight-folder-closed-regexp)
+                ((and (wl-folder-buffer-group-p)
+                      (looking-at wl-highlight-folder-closed-regexp))
                  'wl-highlight-folder-closed-face)
                 (t
                  (if (looking-at (format "^[ \t]*\\(%s\\|%s\\)"
@@ -99,21 +100,26 @@ Special commands:
 (defun wl-plugged-set-folder-icon (folder string)
   string)
 
-(defun wl-message-overload-functions ()
-  (local-set-key "l" 'wl-message-toggle-disp-summary)
-  (local-set-key [mouse-2] 'wl-message-refer-article-or-url)
-  (local-set-key [mouse-4] 'wl-message-wheel-down)
-  (local-set-key [mouse-5] 'wl-message-wheel-up)
-  (local-set-key [S-mouse-4] 'wl-message-wheel-down)
-  (local-set-key [S-mouse-5] 'wl-message-wheel-up)
-  (if (fboundp 'set-keymap-parent)
-      (set-keymap-parent wl-message-button-map (current-local-map)))
-  (define-key wl-message-button-map [mouse-2]
-    'wl-message-button-dispatcher))
+(defun wl-message-define-keymap ()
+  (let ((keymap (make-sparse-keymap)))
+    (define-key keymap "D" 'wl-message-delete-current-part)
+    (define-key keymap "l" 'wl-message-toggle-disp-summary)
+    (define-key keymap "\C-c:d" 'wl-message-decrypt-pgp-nonmime)
+    (define-key keymap "\C-c:v" 'wl-message-verify-pgp-nonmime)
+    (define-key keymap "w" 'wl-draft)
+    (define-key keymap [mouse-4] 'wl-message-wheel-down)
+    (define-key keymap [mouse-5] 'wl-message-wheel-up)
+    (define-key keymap [S-mouse-4] 'wl-message-wheel-down)
+    (define-key keymap [S-mouse-5] 'wl-message-wheel-up)
+    (set-keymap-parent wl-message-button-map keymap)
+    (define-key wl-message-button-map [mouse-2]
+      'wl-message-button-dispatcher)
+    keymap))
 
 (defun wl-message-wheel-up (event)
   (interactive "e")
-  (if (string-match wl-message-buf-name (buffer-name))
+  (if (string-match (regexp-quote wl-message-buffer-name)
+                   (regexp-quote (buffer-name)))
       (wl-message-next-page)
     (let ((cur-buf (current-buffer))
          proceed)
@@ -128,7 +134,8 @@ Special commands:
 
 (defun wl-message-wheel-down (event)
   (interactive "e")
-  (if (string-match wl-message-buf-name (buffer-name))
+  (if (string-match (regexp-quote wl-message-buffer-name)
+                   (regexp-quote (buffer-name)))
       (wl-message-prev-page)
     (let ((cur-buf (current-buffer))
          proceed)
@@ -155,23 +162,40 @@ Special commands:
   (define-key wl-draft-mode-map "\C-c\C-e" 'wl-draft-config-exec)
   (define-key wl-draft-mode-map "\C-c\C-j" 'wl-template-select)
   (define-key wl-draft-mode-map "\C-c\C-p" 'wl-draft-preview-message)
-  (define-key wl-draft-mode-map "\C-x\C-s" 'wl-draft-save)
+;;   (define-key wl-draft-mode-map "\C-x\C-s" 'wl-draft-save)
   (define-key wl-draft-mode-map "\C-c\C-a" 'wl-addrmgr)
-  (define-key wl-draft-mode-map "\C-xk" 'wl-draft-mimic-kill-buffer))
+  (define-key wl-draft-mode-map "\C-xk" 'wl-draft-mimic-kill-buffer)
+  (define-key wl-draft-mode-map "\C-c\C-d" 'wl-draft-elide-region)
+  (define-key wl-draft-mode-map "\C-a" 'wl-draft-beginning-of-line)
+  (define-key wl-draft-mode-map "\M-p" 'wl-draft-previous-history-element)
+  (define-key wl-draft-mode-map "\M-n" 'wl-draft-next-history-element))
 
 (defun wl-draft-overload-menubar ()
-  (local-set-key [menu-bar mail send]
-    '("Send Message" . wl-draft-send-and-exit))
-  (local-set-key [menu-bar mail send-stay]
-    '("Send, Keep Editing" . wl-draft-send))
-  (local-set-key [menu-bar mail cancel]
-    '("Kill Current Draft" . wl-draft-kill))
-  (local-set-key [menu-bar mail yank]
-    '("Cite Message" . wl-draft-yank-original))
-  (local-set-key [menu-bar mail signature]
-    '("Insert Signature" . insert-signature))
-  (local-set-key [menu-bar headers fcc]
-    '("Fcc" . wl-draft-fcc)))
+  (let ((keymap (current-local-map)))
+    (define-key keymap [menu-bar mail send]
+      '("Send Message" . wl-draft-send-and-exit))
+    (define-key keymap [menu-bar mail send-stay]
+      '("Send, Keep Editing" . wl-draft-send))
+    (define-key-after (lookup-key keymap [menu-bar mail])
+      [mail-sep-send] '("--")
+      'send-stay)
+    (define-key keymap [menu-bar mail cancel]
+      '("Kill Current Draft" . wl-draft-kill))
+    (define-key-after (lookup-key keymap [menu-bar mail])
+      [save] '("Save Draft and Exit" . wl-draft-save-and-exit)
+      'cancel)
+    (define-key-after (lookup-key keymap [menu-bar mail])
+      [mail-sep-exit] '("--")
+      'save)
+    (define-key-after (lookup-key keymap [menu-bar mail])
+      [preview] '("Preview Message" . wl-draft-preview-message)
+      'mail-sep-exit)
+    (define-key keymap [menu-bar mail yank]
+      '("Cite Message" . wl-draft-yank-original))
+    (define-key keymap [menu-bar mail signature]
+      '("Insert Signature" . insert-signature))
+    (define-key keymap [menu-bar headers fcc]
+      '("Fcc" . wl-draft-fcc))))
 
 (defun wl-draft-overload-functions ()
   (wl-mode-line-buffer-identification)
@@ -274,14 +298,14 @@ If FRAME is nil, the current FRAME is used."
                            ((eq req 'background)
                             (memq background options))
                            (t
-                            (message (format "\
-Warning: Unknown req `%S' with options `%S'" req options))
+                            (message "\
+Warning: Unknown req `%S' with options `%S'" req options)
                             nil))))
        match)))))
 
-(defun wl-read-event-char ()
+(defun wl-read-event-char (&optional prompt)
   "Get the next event."
-  (let ((event (read-event)))
+  (let ((event (read-event prompt)))
     (cons (and (numberp event) event) event)))
 
 (require 'product)