screen: Do altscreen switching like a proper terminal.
[profile] / emacs
diff --git a/emacs b/emacs
index e803bdc..2d0aaff 100644 (file)
--- a/emacs
+++ b/emacs
@@ -60,6 +60,8 @@
 
 (trap (or mdw-fast-startup (require 'tex-site)))
 
+(trap (or mdw-fast-startup (semantic-load-enable-excessive-code-helpers)))
+
 ;; --- Skeleton stuff ---
 
 (trap (or mdw-fast-startup (require 'skel-init)))
 (setq sendmail-program "~/bin/sendmail-hack")
 
 (setq mail-user-agent 'message-user-agent)
+(setq message-signature-separator "^-- \\(\\|\\[mdw\\]\\)$"
+      message-yank-prefix "> "
+      message-yank-cited-prefix "> "
+      message-indent-citation-function '(message-indent-citation
+                                        mdw-trim-spaces-after-citing))
+
+(defun mdw-trim-spaces-after-citing ()
+  (save-excursion
+    (save-restriction
+      (narrow-to-region (point) (mark t))
+      (while (re-search-forward "^> +$" nil t)
+       (replace-match ">")))))
 
 (and (fboundp 'turn-on-gnus-dired-mode)
      (not mdw-fast-startup)
                'mouse-drag-vertical-line)
 (global-set-key [vertical-scroll-bar C-mouse-1]
                #'(lambda () (interactive)))
+(and (not mdw-fast-startup) (fboundp 'hippie-expand)
+     (global-set-key [?\M-/] 'hippie-expand))
+
+(defun mdw-clobber-org-mode-map ()
+  (dolist (key '([S-up] [S-down] [S-left] [S-right]
+                [?\e left] [?\e right]
+                [M-left] [M-right]))
+    (define-key org-mode-map key nil))
+  (define-key org-mode-map [?\C-c left] 'org-shiftleft)
+  (define-key org-mode-map [?\C-c right] 'org-shiftright)
+  (define-key org-mode-map [?\C-c up] 'org-shiftup)
+  (define-key org-mode-map [?\C-c down] 'org-shiftdown)
+  (define-key org-mode-map [C-left] 'org-metaleft)
+  (define-key org-mode-map [C-right] 'org-metaright)
+  (define-key org-mode-map [C-up] 'org-metaup)
+  (define-key org-mode-map [C-down] 'org-metadown))
+(add-hook 'org-mode-hook 'mdw-clobber-org-mode-map)
 
 ;; --- Recognising types of files ---