(nth 2 when))))))))
(eq w d)))
+;;;----- Mail and news hacking ----------------------------------------------
+
+(define-derived-mode mdwmail-mode mail-mode "[mdw] mail"
+ "Major mode for editing news and mail messages from external programs
+Not much right now. Just support for doing MailCrypt stuff."
+ :syntax-table nil
+ :abbrev-table nil
+ (run-hooks 'mail-setup-hook))
+
+(define-key mdwmail-mode-map [?\C-c ?\C-c] 'disabled-operation)
+
+(add-hook 'mdwail-mode-hook
+ (lambda ()
+ (set-buffer-file-coding-system 'utf-8)
+ (make-local-variable 'paragraph-separate)
+ (make-local-variable 'paragraph-start)
+ (setq paragraph-start
+ (concat "[ \t]*[-_][-_][-_]+$\\|^-- \\|-----\\|"
+ paragraph-start))
+ (setq paragraph-separate
+ (concat "[ \t]*[-_][-_][-_]+$\\|^-- \\|-----\\|"
+ paragraph-separate))))
+
+;; --- How to encrypt in mdwmail ---
+
+(defun mdwmail-mc-encrypt (&optional recip scm start end from sign)
+ (or start
+ (setq start (save-excursion
+ (goto-char (point-min))
+ (or (search-forward "\n\n" nil t) (point-min)))))
+ (or end
+ (setq end (point-max)))
+ (mc-encrypt-generic recip scm start end from sign))
+
+;; --- How to sign in mdwmail ---
+
+(defun mdwmail-mc-sign (key scm start end uclr)
+ (or start
+ (setq start (save-excursion
+ (goto-char (point-min))
+ (or (search-forward "\n\n" nil t) (point-min)))))
+ (or end
+ (setq end (point-max)))
+ (mc-sign-generic key scm start end uclr))
+
+;; --- Some signature mangling ---
+
+(defun mdwmail-mangle-signature ()
+ (save-excursion
+ (goto-char (point-min))
+ (perform-replace "\n-- \n" "\n-- " nil nil nil)))
+(add-hook 'mail-setup-hook 'mdwmail-mangle-signature)
+(add-hook 'message-setup-hook 'mdwmail-mangle-signature)
+
+;; --- Insert my login name into message-ids, so I can score replies ---
+
+(defadvice message-unique-id (after mdw-user-name last activate compile)
+ "Ensure that the user's name appears at the end of the message-id string,
+so that it can be used for convenient filtering."
+ (setq ad-return-value (concat ad-return-value "." (user-login-name))))
+
+;; --- Tell my movemail hack where movemail is ---
+;;
+;; This is needed to shup up warnings about LD_PRELOAD.
+
+(let ((path exec-path))
+ (while path
+ (let ((try (expand-file-name "movemail" (car path))))
+ (if (file-executable-p try)
+ (setenv "REAL_MOVEMAIL" try))
+ (setq path (cdr path)))))
+
;;;----- Utility functions --------------------------------------------------
(or (fboundp 'line-number-at-pos)
(mdw-check-autorevert))
(defadvice write-file (after mdw-autorevert activate)
(mdw-check-autorevert))
-
-(define-derived-mode mdwmail-mode mail-mode "[mdw] mail"
- "Major mode for editing news and mail messages from external programs
-Not much right now. Just support for doing MailCrypt stuff."
- :syntax-table nil
- :abbrev-table nil
- (run-hooks 'mail-setup-hook))
-
-(define-key mdwmail-mode-map [?\C-c ?\C-c] 'disabled-operation)
-
-(add-hook 'mdwail-mode-hook
- (lambda ()
- (set-buffer-file-coding-system 'utf-8)
- (make-local-variable 'paragraph-separate)
- (make-local-variable 'paragraph-start)
- (setq paragraph-start
- (concat "[ \t]*[-_][-_][-_]+$\\|^-- \\|-----\\|"
- paragraph-start))
- (setq paragraph-separate
- (concat "[ \t]*[-_][-_][-_]+$\\|^-- \\|-----\\|"
- paragraph-separate))))
-
-;; --- How to encrypt in mdwmail ---
-
-(defun mdwmail-mc-encrypt (&optional recip scm start end from sign)
- (or start
- (setq start (save-excursion
- (goto-char (point-min))
- (or (search-forward "\n\n" nil t) (point-min)))))
- (or end
- (setq end (point-max)))
- (mc-encrypt-generic recip scm start end from sign))
-
-;; --- How to sign in mdwmail ---
-
-(defun mdwmail-mc-sign (key scm start end uclr)
- (or start
- (setq start (save-excursion
- (goto-char (point-min))
- (or (search-forward "\n\n" nil t) (point-min)))))
- (or end
- (setq end (point-max)))
- (mc-sign-generic key scm start end uclr))
-
-;; --- Some signature mangling ---
-
-(defun mdwmail-mangle-signature ()
- (save-excursion
- (goto-char (point-min))
- (perform-replace "\n-- \n" "\n-- " nil nil nil)))
-(add-hook 'mail-setup-hook 'mdwmail-mangle-signature)
-
;;;----- Dired hacking ------------------------------------------------------
(defadvice dired-maybe-insert-subdir