chiark / gitweb /
Merge branch 'master' of git+ssh://ponder.ncipher.com/~mwooding/etc/profile
[profile] / dot-emacs.el
index d81aff4f7f97524b2078e103417ff4710d607ad5..01bed922c77e89abb7edd4ec31fa279cc271fa17 100644 (file)
@@ -188,6 +188,78 @@ (defun mdw-todo (&optional when)
                                (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)
@@ -323,58 +395,6 @@ (defadvice find-file (after mdw-autorevert activate)
   (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