chiark / gitweb /
load vm-reply library (seems needed on mariner now)
[ian-dotfiles.git] / home / emacs / ian.el
index cfc34945bd9335959267bab2f3ad57571186843c..2b4616b3a75cce4a172358c8fff9fc04de7d0194 100644 (file)
@@ -6,11 +6,13 @@
       cperl-indent-level 4
       cperl-continued-statement-offset 4)
 
+(load-library "vm-reply")
+
 (make-variable-buffer-local 'indent-line-function)
 ; Un-disable narrow and eval-expression
 (put 'narrow-to-region 'disabled nil)
 (put 'eval-expression 'disabled nil)
-(standard-display-european t)
+;(standard-display-european t)
 ;
 (setq browse-url-netscape-program "mozilla")
 (setq common-lisp-hyperspec-root "/usr/share/doc/hyperspec/")
 (setq line-move-visual nil)
 (display-time)
 ;
+(set-default 'indent-line-function 'insert-tab)
+(defun defuse-electrocuting-indent ()
+  "Disable electric-indent-mode if indent-line-function is daft"
+  (and
+   (eq indent-line-function 'insert-tab)
+   (electric-indent-local-mode 0)))
+(add-hook 'after-change-major-mode-hook 'defuse-electrocuting-indent)
+;
 (set-variable 'search-repeat-char 28)
 (set-fringe-mode (cons 0 nil))
 (if (string-match "^19\." emacs-version)
   (global-set-key "\18\v" 'quicker-compile)
   (global-set-key "\18\18" 'exchange-point-and-mark)
   (global-set-key "\18\1a" 'load-tramp)
+  (global-set-key "\18g" 'magit-status)
+  (global-set-key "\18\eg" 'magit-dispatch-popup)
   (global-set-key "\184\16" 'scroll-other-window)
   (global-set-key "\184m" 'vm-mail-other-window)
   (global-set-key "\189" 'vm-visit-folder)
 ;(autoload 'vm-submit-bug-report "vm" "Send a bug report about VM." t)
 ;
 ;(require 'vm-autoload)
+
+(vm-legacy-key-bindings)
 ;
 ; (autoload 'info "info-fixed" "Patched info browser" t)
 (setq shell-mode-hook
@@ -454,9 +468,9 @@ then call send-and-exit."
 ;  (interactive)
 ;  (vm "/u/ijackson/mail/INBOX"))
 ;;
-(defun vms ()
-  (interactive)
-  (vm vm-sinbin-inbox))
+;(defun vms ()
+;  (interactive)
+;  (vm vm-sinbin-inbox))
 ;
 (defun make-session ()
   "Makes this emacs hard to kill by requiring ^X^Cy to kill it
@@ -466,20 +480,20 @@ instead of just ^X^C."
   (global-set-key "\18\ 3y" 'save-buffers-kill-emacs))
 ;
 ; Fix problems with M-| setting window title of emacs' parent xterm
-(defun envdelete-term-termcap-windowid (list)
-  (let ((l list))
-    (mapcar '(lambda (x)
-               (if x (delq x l)))
-            (mapcar '(lambda (x)
-                       (if (or (string-match "^TERM=" x)
-                               (string-match "^TERMCAP=" x)
-                               (string-match "^WINDOWID=" x))
-                           x
-                         nil))
-                    l))
-    l))
-(setq process-environment
-      (envdelete-term-termcap-windowid process-environment))
+;(defun envdelete-term-termcap-windowid (list)
+;  (let ((l list))
+;    (mapcar '(lambda (x)
+;               (if x (delq x l)))
+;            (mapcar '(lambda (x)
+;                       (if (or (string-match "^TERM=" x)
+;                               (string-match "^TERMCAP=" x)
+;                               (string-match "^WINDOWID=" x))
+;                           x
+;                         nil))
+;                    l))
+;    l))
+;(setq process-environment
+;      (envdelete-term-termcap-windowid process-environment))
 ;
 (defun add-insertion-keys (table)
   "Adds keybindings according to TABLE.  Each element of
@@ -535,4 +549,49 @@ The citation string is taken from cite-string."
            (> (point-max) (point)))
         (insert cite-string)))))
 ;
+;
+
+(winner-mode t)
+
+(global-magit-file-mode)
+
+(magit-wip-after-save-mode)
+(magit-wip-after-apply-mode)
+(magit-wip-before-change-mode)
+(setq magit-no-confirm
+      (append magit-no-confirm '(safe-with-wip)))
+
+(setq vc-handled-backends (delq 'Git vc-handled-backends))
+
+;; (defun hack-dir-local-variables ()
+;;   "Read per-directory local variables for the current buffer.
+;; Store the directory-local variables in `dir-local-variables-alist'
+;; and `file-local-variables-alist', without applying them."
+;;   (when (and enable-local-variables
+;;          (buffer-file-name))
+;;     ;; Find the variables file.
+;;     (let ((variables-file (dir-locals-find-file (buffer-file-name)))
+;;       (class nil)
+;;       (dir-name nil))
+;;       (cond
+;;        ((stringp variables-file)
+;;     (setq dir-name (file-name-directory (buffer-file-name)))
+;;     (setq class (dir-locals-read-from-file variables-file)))
+;;        ((consp variables-file)
+;;     (setq dir-name (nth 0 variables-file))
+;;     (setq class (nth 1 variables-file))))
+;;       (when class
+;;     (let ((variables
+;;            (dir-locals-collect-variables
+;;             (dir-locals-get-class-variables class) dir-name nil)))
+;;       (when variables
+;;         (dolist (elt variables)
+;;           (unless (memq (car elt) '(eval mode))
+;;             (setq dir-local-variables-alist
+;;                   (assq-delete-all (car elt) dir-local-variables-alist)))
+;;           (push elt dir-local-variables-alist))
+;;         (hack-local-variables-filter variables dir-name)))))))
+
+(delete ".git/" completion-ignored-extensions)
+
 ; End of this file.