lisp/my-emacs.el
author Fabien Ninoles <fabien@tzone.org>
Sun, 13 Sep 2015 22:53:18 -0400
changeset 15 73df43769340
parent 1 a234a7579958
permissions -rw-r--r--
Update keybinding.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     1
;;;_ Helpers
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     2
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     3
(setq load-path
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     4
      (cons "~/lisp" load-path))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     5
(defun join (SEQUENCES sep)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     6
  (mapconcat 'copy-sequence SEQUENCES sep))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     7
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     8
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
     9
;;;_ Version control
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    10
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    11
;(require 'vc-svn)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    12
(require 'vc-svk)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    13
;(require 'vc-svk2)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    14
(add-to-list 'vc-handled-backends 'SVK)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    15
;(require 'psvn)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    16
(require 'psvk)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    17
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    18
;;;_ EShell configuration
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    19
(setenv "EDITOR" "gnuclient")
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    20
(setenv "VISUAL" "gnuclient")
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    21
(setenv "DEBIAN_FRONTEND" "editor")
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    22
(defun local-init-eshell ()
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    23
  "Local customization of eshell."
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    24
  (defsubst eshell/make (&rest args)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    25
    "run make in lisp compile."
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    26
    (compile (join (push "make" args) " "))))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    27
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    28
;;; ISpell configuration
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    29
(if (fboundp 'debian-ispell-add-dictionary-entry)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    30
    (debian-ispell-add-dictionary-entry 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    31
     (quote ("francais-intl"
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    32
	     "[A-Za-zÀÂÆÇÈÉÊËÎÏÔÙÛÜŒÑæàâçèéêëîïôùûüœñ]" 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    33
	     "[^A-Za-zÆÀÂÇÈÉÊËÎÏÔÙÛÜÑŒæàâçèéêëîïôùûüœñ]"
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    34
	     "[-']"
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    35
	     nil 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    36
	     ("-d" "french") 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    37
	     "~list" iso-8859-15))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    38
     "aspell"))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    39
(setq ispell-dictionary-alist debian-ispell-dictionary-alist)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    40
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    41
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    42
;;;_ Planner configuration
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    43
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    44
;; In emacs21/sarge, schedule doesn't exist.
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    45
;; But in planner-el/etch, schedule is in contrib.
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    46
(if (not (locate-library "schedule"))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    47
    (setcdr (last load-path)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    48
		     '("/usr/share/emacs/site-lisp/planner-el/contrib")))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    49
(if (locate-library "schedule")
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    50
    (require 'planner-timeclock))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    51
(require 'planner-wl)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    52
(planner-wl-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    53
(require 'planner-diary)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    54
(planner-diary-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    55
(planner-calendar-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    56
(require 'planner-appt)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    57
(planner-appt-use-tasks)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    58
(planner-appt-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    59
(require 'planner-cyclic)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    60
(planner-appt-schedule-cyclic-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    61
(planner-appt-calendar-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    62
(require 'planner-timeclock-summary)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    63
(planner-timeclock-summary-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    64
(require 'planner-timeclock-summary-proj)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    65
(planner-timeclock-summary-proj-insinuate)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    66
(require 'planner-schedule)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    67
(require 'planner-bbdb)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    68
(require 'planner-erc)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    69
(require 'planner-bookmark)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    70
(require 'remember-planner)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    71
(require 'planner-log-edit)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    72
(planner-install-extra-task-keybindings)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    73
(planner-install-extra-context-keybindings)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    74
(require 'planner-trunk)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    75
(require 'planner-multi)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    76
; Local functions for planner
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    77
(require 'my-planner)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    78
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    79
(require 'my-mailto)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    80
;;;_ Wanderlust settings
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    81
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    82
(autoload 'wl-user-agent-compose "wl-draft" nil t)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    83
(if (boundp 'mail-user-agent)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    84
    (setq mail-user-agent 'wl-user-agent))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    85
(if (fboundp 'define-mail-user-agent)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    86
    (define-mail-user-agent
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    87
      'wl-user-agent
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    88
      'wl-user-agent-compose
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    89
      'wl-draft-send
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    90
      'wl-draft-kill
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    91
      'mail-send-hook))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    92
(setq wl-draft-init-config-alist
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    93
      '((reply "^\\(To\\|CC\\): .*@alteranode.com" 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    94
	       ("From" . "Fabien Ninoles <fabien@alteranode.com>")) 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    95
	(reply "^\\(To\\|CC\\): .*fabien@flipr.com" 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    96
	       ("From" . "Fabien Ninoles <fabien@flipr.com>"))))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    97
(setq wl-draft-send-config-alist 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    98
      '(("^From: .*fabien\\(\\+.*\\)?@tzone.org"
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
    99
	 ("BCC" . "fabien+sentmail@tzone.org"))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   100
	("From: .*fabien\\(\\+.*\\)?@alteranode.com" 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   101
	 ("Organisation" . "Alteranode, inc.")
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   102
	 ("BCC" . "fabien+sentmail@alteranode.com")) 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   103
	("From: .*fabien\\(\\+.*\\)?@flipr.com" 
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   104
	 ("BCC" . "fabien+sentmail@alteranode.com"))))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   105
(add-hook 'wl-mail-setup-hook
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   106
	  '(lambda ()
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   107
	     (wl-draft-config-exec wl-draft-init-config-alist)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   108
	     (setq wl-draft-config-exec-flag t)))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   109
(add-hook 'wl-draft-send-hook
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   110
	  '(lambda ()
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   111
	     (setq wl-draft-config-exec-flag t)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   112
	     (wl-draft-config-exec wl-draft-send-config-alist)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   113
	     ))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   114
(require 'bbdb-wl)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   115
(bbdb-wl-setup)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   116
;; enable pop-ups
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   117
(setq bbdb-use-pop-up t)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   118
;; auto collection
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   119
(setq bbdb/mail-auto-create-p t)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   120
;; exceptional folders against auto collection
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   121
(setq bbdb-wl-ignore-folder-regexp "^@")
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   122
(setq signature-use-bbdb t)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   123
(setq bbdb-north-american-phone-numbers-p nil)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   124
;; shows the name of bbdb in the summary :-)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   125
(setq wl-summary-from-function 'bbdb-wl-from-func)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   126
;; automatically add mailing list fields
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   127
(add-hook 'bbdb-notice-hook 'bbdb-auto-notes-hook)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   128
(setq bbdb-auto-notes-alist '(("X-ML-Name" (".*$" ML 0))))
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   129
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   130
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   131
;;;_ Auto outline Allout
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   132
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   133
;(require 'allout)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   134
;(outline-init t)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   135
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   136
;;;_ Start up command
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   137
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   138
;; (server-start)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   139
(display-time)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   140
(diary 0)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   141
(plan 31)
a234a7579958 Add Emacs lisp files.
Fabien Ninoles <fabien@tzone.org>
parents:
diff changeset
   142
(iconify-frame)