* wl-draft.el (wl-message-mail-p): Test resent-to: field.
[elisp/wanderlust.git] / wl / wl-nemacs.el
1 ;;; wl-nemacs.el -- Wanderlust modules for Nemacs.
2
3 ;; Copyright (C) 1998,1999,2000 Yuuichi Teranishi <teranisi@gohome.org>
4
5 ;; Author: Yuuichi Teranishi <teranisi@gohome.org>
6 ;; Keywords: mail, net news
7
8 ;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen).
9
10 ;; This program is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
13 ;; any later version.
14 ;;
15 ;; This program is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ;; GNU General Public License for more details.
19 ;;
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 ;; Boston, MA 02111-1307, USA.
24 ;;
25
26 ;;; Commentary:
27 ;;
28
29 ;;; Code:
30 ;;
31
32 (defun wl-message-overload-functions ()
33   (local-set-key "l" 'wl-message-toggle-disp-summary))
34
35 (defun wl-message-wheel-up (event)
36   (interactive "e"))
37 (defun wl-message-wheel-down (event)
38   (interactive "e"))
39
40 (defun wl-highlight-folder-current-line (&optional numbers))
41 (defun wl-highlight-folder-path (folder-path))
42 (defun wl-highlight-summary (start end))
43 (defun wl-highlight-folder-group-line (numbers))
44 (defun wl-highlight-summary-line-string (line mark indent before-indent))
45 (defun wl-highlight-body-region (beg end))
46 (defun wl-highlight-message (start end hack-sig &optional body-only))
47 (defun wl-highlight-summary-current-line (&optional smark regexp temp-too))
48
49 (defun wl-highlight-plugged-current-line ())
50 (defun wl-plugged-set-folder-icon (folder string)
51   string)
52
53 (defmacro wl-defface (face spec doc &rest args)
54   (` (defvar (, face) (, spec) (, doc))))
55
56 (defun wl-draft-mode-setup ()
57   (defalias 'wl-draft-mode 'mail-mode))
58 (defun wl-draft-key-setup ())
59
60 ;; ???
61 (defvar mime-article/kanji-code-alist
62   (list (cons t (mime-charset-to-coding-system default-mime-charset))))
63
64 (defun wl-draft-overload-functions ()
65   (wl-mode-line-buffer-identification)
66   (local-set-key "\C-c\C-y" 'wl-draft-yank-original)
67   (local-set-key "\C-c\C-s" 'wl-draft-send)
68   (local-set-key "\C-c\C-a" 'wl-draft-insert-x-face-field)
69   (local-set-key "\C-c\C-c" 'wl-draft-send-and-exit)
70   (local-set-key "\C-c\C-z" 'wl-draft-save-and-exit)
71   (local-set-key "\C-c\C-k" 'wl-draft-kill)
72   (local-set-key "\C-l"     'wl-draft-highlight-and-recenter)
73   (local-set-key "\C-i"     'wl-complete-field-body-or-tab)
74   (local-set-key "\C-c\C-r" 'wl-draft-caesar-region)
75   (local-set-key "\M-t"     'wl-toggle-plugged)
76   (local-set-key "\C-c\C-o" 'wl-jump-to-draft-buffer)
77   (local-set-key "\C-c\C-e" 'wl-draft-config-exec)
78   (local-set-key "\C-c\C-j" 'wl-template-select)
79   (local-set-key "\C-c\C-p" 'wl-draft-preview-message)
80   (local-set-key "\C-x\C-s" 'wl-draft-save)
81   (local-set-key "\C-xk"    'wl-draft-mimic-kill-buffer))
82
83 ;;; Emulations.
84
85 (defvar-maybe user-mail-address nil)
86 (defvar-maybe mail-send-actions nil)
87 (defvar-maybe mail-default-headers nil)
88 (defvar-maybe mail-citation-hook nil)
89 (defvar-maybe mail-yank-hooks nil)
90 (defvar-maybe mail-mailer-swallows-blank-line nil)
91
92 (defvar mail-send-actions nil)
93
94 (defun-maybe mail-indent-citation ()
95   "Modify text just inserted from a message to be cited.
96 The inserted text should be the region.
97 When this function returns, the region is again around the modified text.
98
99 Normally, indent each nonblank line `mail-indentation-spaces' spaces.
100 However, if `mail-yank-prefix' is non-nil, insert that prefix on each line."
101   (let ((start (point)))
102     (mail-yank-clear-headers start (mark t))
103     (if (null mail-yank-prefix)
104         (indent-rigidly start (mark t) mail-indentation-spaces)
105       (save-excursion
106         (goto-char start)
107         (while (< (point) (mark t))
108           (insert mail-yank-prefix)
109           (forward-line 1))))))
110
111 (defun-maybe mail-yank-clear-headers (start end)
112   (save-excursion
113     (goto-char start)
114     (if (search-forward "\n\n" end t)
115         (save-restriction
116           (narrow-to-region start (point))
117           (goto-char start)
118           (while (let ((case-fold-search t))
119                    (re-search-forward mail-yank-ignored-headers nil t))
120             (beginning-of-line)
121             (delete-region (point)
122                            (progn (re-search-forward "\n[^ \t]")
123                                   (forward-char -1)
124                                   (point))))))))
125
126 (defun wl-read-event-char ()
127   "Get the next event."
128   ;; Nemacs does not have read-char-exclusive().
129   (let ((event (read-char)))
130     (cons (and (numberp event) event) event)))
131
132 (defun-maybe find-file-name-handler (filename operation))
133
134 (defmacro easy-menu-define (a b c d)
135   (` (defvar (, a) nil (, c))))
136 (defmacro easy-menu-add (a)
137   (` nil))
138
139 (defun copy-face (a b))
140 (defun make-face (a))
141 (defun set-face-foreground (a b))
142 (defun set-face-background (a b))
143 (defun set-face-underline-p (a b))
144 (defun set-face-font (a b))
145
146 ;;; XXX cl's member() brings evil upon MIME-View.
147 ;; cl is always called after poe-18, so `(require 'poe-18)' is
148 ;; a dead duck... We MUST re-load it certainly.
149 (load-library "poe-18")
150
151 (require 'product)
152 (product-provide (provide 'wl-nemacs) (require 'wl-version))
153
154 ;;; wl-nemacs.el ends here