--- a/.emacs-my Fri Apr 01 14:47:14 2016 +0300
+++ b/.emacs-my Fri Apr 01 17:40:12 2016 +0300
@@ -51,7 +51,9 @@
(recentf-cleanup) ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(message "revert buffer")
+(message "revert buffer, auto-revert")
+
+(eval-when 'compile (require 'autorevert))
(global-set-key [f5] 'revert-buffer)
(setq revert-without-query (quote (".*")))
@@ -84,6 +86,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "user info")
+(eval-when 'compile (require 'info))
+
;; Set in ~/.emacs.d/.emacs-auth:
;; (setq user-full-name "Oleksandr Gavenko")
;; (setq user-mail-address "gavenkoa@gmail.com")
@@ -142,6 +146,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "lisp, elisp")
+(eval-when 'compile (require 'chistory))
+
(setq list-command-history-max 256)
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
@@ -271,6 +277,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "package, elpa")
+(eval-when 'compile (require 'package nil t))
+
;; (setq package-enable-at-startup t)
(when (fboundp 'package-initialize)
(package-initialize))
@@ -290,6 +298,8 @@
;; And maked different height with Emacs 22.3 and 23.1.
;; (setq initial-frame-alist '((fullscreen . fullboth)))
+(eval-when 'compile (load-library "window"))
+
(setq display-buffer-reuse-frames t)
(defun my-maximize ()
@@ -426,6 +436,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "shell, bash, Cygwin, MSYS")
+(eval-when 'compile (require 'shell))
+
(defvar my-use-windows-shell nil
"If t 'cmdproxy.exe' will be used as shell.
Affect on \\[shell] like commands. If nil, 'sh' will be used." )
@@ -519,6 +531,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "term")
+(eval-when 'compile (require 'term))
+
(setq term-buffer-maximum-size (lsh 1 14))
(setq term-scroll-show-maximum-output t)
@@ -553,6 +567,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "whitespaces")
+(eval-when 'compile (require 'whitespace))
+
(setq default-indicate-empty-lines t)
(setq default-indicate-buffer-boundaries 'left)
@@ -572,6 +588,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "server")
+(eval-when 'compile (require 'server))
+
(when (and (>= emacs-major-version 22) (not (eq system-type 'cygwin)))
(require 'server)
(when (and (>= emacs-major-version 23) (equal window-system 'w32))
@@ -582,6 +600,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "standart/general settings")
+(eval-when 'compile (require 'generic))
+
;; Try to speed things up, especially in VM.
(setq gc-cons-threshold 2000000)
@@ -705,6 +725,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "grep, find")
+(eval-when 'compile (require 'grep))
+
;; -ls produce very noisy output:
;; (setq find-ls-option '("-ls" . ""))
;; So I use next expression, which work with GNU find, I replace %s with '0'
@@ -1150,6 +1172,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "ls-lisp, dired ls")
+(eval-when 'compile (require 'ls-lisp))
+
;; If non-nil - use 'insert-directory-program', which I dislike.
(setq ls-lisp-use-insert-directory-program nil)
(setq ls-lisp-ignore-case t)
@@ -1278,6 +1302,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "calendar")
+(eval-when 'compile (require 'calendar))
+
;; (setq mark-holidays-in-calendar t)
;; (setq all-christian-calendar-holidays t)
;; (setq calendar-date-display-form (quote ((format "%04s-%02d-%02d" year (string-to-int month) (string-to-int day)))))
@@ -1486,6 +1512,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "man, woman")
+(eval-when 'compile (require 'woman))
+
;; Assume that cygwin-mount already activated.
(when (featurep 'cygwin-mount)
(let ( (path (expand-file-name "~")) )
@@ -1710,6 +1738,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "mail, message")
+(eval-when 'compile (require 'message))
+
(setq mail-user-agent 'message-user-agent)
(defun my-compose-mail ()
@@ -1797,6 +1827,11 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "gnus, mh-e")
+(eval-when 'compile
+ (require 'gnus)
+ (require 'gnus-start)
+ (require 'gnus-score))
+
;; (setq gnus-verbose 10)
(setq gnus-site-init-file "~/.gnus.el")
@@ -2212,6 +2247,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "rcirc")
+(eval-when 'compile (require 'rcirc))
+
;; Turn on logging everything to a special buffer, for debugging.
;; (setq rcirc-debug-flag t)
@@ -2228,6 +2265,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "erc")
+(eval-when 'compile (require 'erc))
+
;; (add-to-list 'erc-modules 'notify)
;; (setq erc-notify-list '(""))
@@ -2318,6 +2357,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "vc-mode, VCS, version control, cvs, svn, mercurial, hg, bazaar, bzr, git, fossil")
+(eval-when 'compile (require 'vc-svn))
+
;; `-b' switch to ignore changes in whitespaces.
;; (setq vc-git-diff-switches "-b")
;; (setq vc-diff-switches "-b")
@@ -2536,6 +2577,12 @@
;; For debug use 'semantic-debug-idle-function' and 'semantic-debug-idle-work-function'.
+(eval-when 'compile
+ (require 'cedet nil t)
+ (require 'semantic nil t)
+ (require 'semantic/idle nil t)
+ (require 'ede/linux nil t))
+
(eval-and-compile
(when (or
(and (= emacs-major-version 23) (>= emacs-minor-version 2))
@@ -2687,6 +2734,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "c-mode, cc-mode, c++-mode")
+(eval-when 'compile (require 'cc-mode))
+
;; Minor mode that highlights suspicious C and C++ constructions.
(global-cwarn-mode 1)
@@ -2971,6 +3020,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "perl, cperl")
+(eval-when 'compile (require 'cperl-mode))
+
;; Use cperl instead perl mode.
(mapc
(lambda (pair)
@@ -3049,6 +3100,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "Pascal")
+(eval-when 'compile (require 'pascal))
+
(setq
pascal-indent-level 4
pascal-case-indent 2
@@ -3093,6 +3146,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "htmlize")
+(eval-when 'compile (require 'htmlize))
+
(setq
htmlize-html-charset "utf-8"
htmlize-output-type 'inline-css
@@ -3166,6 +3221,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "nxml")
+(eval-when 'compile (require 'nxml-mode))
+
(setq nxml-sexp-element-flag t)
(setq nxml-child-indent 2)
(setq nxml-attribute-indent 4)
@@ -3312,6 +3369,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(message "SQL")
+(eval-when 'compile (require 'sql))
+
(setq sql-password "")
(add-to-list 'auto-mode-alist '("\\.plsql\\'" . sql-mode))
@@ -3362,6 +3421,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Save and restore my buffers every time.
+(eval-when 'compile (require 'desktop))
+
(setq desktop-base-file-name ".emacs.desktop")
(setq desktop-base-lock-name ".emacs.desktop.lock")
(when (eq system-type 'cygwin)