(nth 2 when))))))))
(eq w d)))
+;; --- Fighting with Org-mode's evil key maps ---
+
+(defvar mdw-evil-keymap-keys
+ '(([S-up] . [?\C-c up])
+ ([S-down] . [?\C-c down])
+ ([S-left] . [?\C-c left])
+ ([S-right] . [?\C-c right])
+ (([M-up] [?\e up]) . [C-up])
+ (([M-down] [?\e down]) . [C-down])
+ (([M-left] [?\e left]) . [C-left])
+ (([M-right] [?\e right]) . [C-right]))
+ "Defines evil keybindings to clobber in `mdw-clobber-evil-keymap'.
+The value is an alist mapping evil keys (as a list, or singleton)
+to good keys (in the same form).")
+
+(defun mdw-clobber-evil-keymap (keymap)
+ "Replace evil key bindings in the KEYMAP.
+Evil key bindings are defined in `mdw-evil-keymap-keys'."
+ (dolist (entry mdw-evil-keymap-keys)
+ (let ((binding nil)
+ (keys (if (listp (car entry))
+ (car entry)
+ (list (car entry))))
+ (replacements (if (listp (cdr entry))
+ (cdr entry)
+ (list (cdr entry)))))
+ (catch 'found
+ (dolist (key keys)
+ (setq binding (lookup-key keymap key))
+ (when binding
+ (throw 'found nil))))
+ (when binding
+ (dolist (key keys)
+ (define-key keymap key nil))
+ (dolist (key replacements)
+ (define-key keymap key binding))))))
+
;;;----- Mail and news hacking ----------------------------------------------
(define-derived-mode mdwmail-mode mail-mode "[mdw] mail"
(mdw-check-autorevert))
(defadvice write-file (after mdw-autorevert activate)
(mdw-check-autorevert))
+
;;;----- Dired hacking ------------------------------------------------------
(defadvice dired-maybe-insert-subdir
(make-variable-buffer-local 'lisp-indent-function)
(setq lisp-indent-function 'common-lisp-indent-function))
+(setq lisp-simple-loop-indentation 2
+ lisp-loop-keyword-indentation 6
+ lisp-loop-forms-indentation 6)
+
(defun mdw-fontify-lispy ()
;; --- Set fill prefix ---