.emacs-my
changeset 1685 6a740def74e8
parent 1684 77fcd3f63d60
child 1686 bedbd1cd366d
equal deleted inserted replaced
1684:77fcd3f63d60 1685:6a740def74e8
    84     (recentf-cleanup) ))
    84     (recentf-cleanup) ))
    85 
    85 
    86 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    86 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    87 (message "revert buffer, auto-revert")
    87 (message "revert buffer, auto-revert")
    88 
    88 
    89 (eval-when 'compile (require 'autorevert))
    89 (cl-eval-when (compile) (require 'autorevert))
    90 
    90 
    91 (global-set-key [f5]    'revert-buffer)
    91 (global-set-key [f5]    'revert-buffer)
    92 (setq revert-without-query (quote (".*")))
    92 (setq revert-without-query (quote (".*")))
    93 (setq auto-revert-interval 2)
    93 (setq auto-revert-interval 2)
    94 
    94 
   145 (my-debug nil)
   145 (my-debug nil)
   146 
   146 
   147 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   147 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   148 (message "user info")
   148 (message "user info")
   149 
   149 
   150 (eval-when 'compile (require 'info))
   150 (cl-eval-when (compile) (require 'info))
   151 
   151 
   152 ;; Set in ~/.emacs.d/.emacs-auth:
   152 ;; Set in ~/.emacs.d/.emacs-auth:
   153 ;; (setq user-full-name "Oleksandr Gavenko")
   153 ;; (setq user-full-name "Oleksandr Gavenko")
   154 ;; (setq user-mail-address "gavenkoa@gmail.com")
   154 ;; (setq user-mail-address "gavenkoa@gmail.com")
   155 ;; (setq user-nick "gavenkoa")
   155 ;; (setq user-nick "gavenkoa")
   223     (remove-if-not 'identity result) ))
   223     (remove-if-not 'identity result) ))
   224 
   224 
   225 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   225 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   226 (message "lisp, elisp")
   226 (message "lisp, elisp")
   227 
   227 
   228 (eval-when 'compile (require 'chistory))
   228 (cl-eval-when (compile) (require 'chistory))
   229 
   229 
   230 (setq list-command-history-max 256)
   230 (setq list-command-history-max 256)
   231 
   231 
   232 (add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
   232 (add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
   233 (add-hook 'lisp-interaction-mode-hook 'turn-on-eldoc-mode)
   233 (add-hook 'lisp-interaction-mode-hook 'turn-on-eldoc-mode)
   364 
   364 
   365 ;; To maximize frame on full screen, not work with Windows Emacs 21.4.
   365 ;; To maximize frame on full screen, not work with Windows Emacs 21.4.
   366 ;; And maked different height with Emacs 22.3 and 23.1.
   366 ;; And maked different height with Emacs 22.3 and 23.1.
   367 ;; (setq initial-frame-alist '((fullscreen . fullboth)))
   367 ;; (setq initial-frame-alist '((fullscreen . fullboth)))
   368 
   368 
   369 (eval-when 'compile (load-library "window"))
   369 (cl-eval-when (compile) (load-library "window"))
   370 
   370 
   371 (setq display-buffer-reuse-frames t)
   371 (setq display-buffer-reuse-frames t)
   372 
   372 
   373 (defun my-maximize ()
   373 (defun my-maximize ()
   374   ;; Next code work with Emacs 21.4, 22.3, 23.1.
   374   ;; Next code work with Emacs 21.4, 22.3, 23.1.
   539         ("Asia/Tokyo" "Tokyo")))
   539         ("Asia/Tokyo" "Tokyo")))
   540 
   540 
   541 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   541 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   542 (message "shell, bash, Cygwin, MSYS")
   542 (message "shell, bash, Cygwin, MSYS")
   543 
   543 
   544 (eval-when 'compile (require 'shell))
   544 (cl-eval-when (compile) (require 'shell))
   545 
   545 
   546 (defvar my-use-windows-shell nil
   546 (defvar my-use-windows-shell nil
   547   "If t 'cmdproxy.exe' will be used as shell.
   547   "If t 'cmdproxy.exe' will be used as shell.
   548 Affect on \\[shell] like commands. If nil, 'sh' will be used." )
   548 Affect on \\[shell] like commands. If nil, 'sh' will be used." )
   549 
   549 
   641 (setq explicit-bash-args '("-i"))
   641 (setq explicit-bash-args '("-i"))
   642 
   642 
   643 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   643 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   644 (message "term")
   644 (message "term")
   645 
   645 
   646 (eval-when 'compile (require 'term))
   646 (cl-eval-when (compile) (require 'term))
   647 
   647 
   648 (when (eq system-type 'cygwin)
   648 (when (eq system-type 'cygwin)
   649   (setq explicit-shell-file-name "bash"))
   649   (setq explicit-shell-file-name "bash"))
   650 
   650 
   651 (setq term-buffer-maximum-size (lsh 1 14))
   651 (setq term-buffer-maximum-size (lsh 1 14))
   679 (setq-default proced-format 'medium)
   679 (setq-default proced-format 'medium)
   680 
   680 
   681 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   681 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   682 (message "whitespaces")
   682 (message "whitespaces")
   683 
   683 
   684 (eval-when 'compile (require 'whitespace))
   684 (cl-eval-when (compile) (require 'whitespace))
   685 
   685 
   686 (setq-default indicate-empty-lines t)
   686 (setq-default indicate-empty-lines t)
   687 (setq-default indicate-buffer-boundaries 'left)
   687 (setq-default indicate-buffer-boundaries 'left)
   688 
   688 
   689 ;; Old trailing whitespace highlighter built-in into Emacs engine, until global-whitespace-mode is fixed.
   689 ;; Old trailing whitespace highlighter built-in into Emacs engine, until global-whitespace-mode is fixed.
   707   (global-set-key (kbd "M-SPC") 'cycle-spacing))
   707   (global-set-key (kbd "M-SPC") 'cycle-spacing))
   708 
   708 
   709 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   709 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   710 (message "server")
   710 (message "server")
   711 
   711 
   712 (eval-when 'compile (require 'server))
   712 (cl-eval-when (compile) (require 'server))
   713 
   713 
   714 (when (equal window-system 'w32)
   714 (when (equal window-system 'w32)
   715   ;; including cygwin here as socket in /tmp directory is a subject of cleanup...
   715   ;; including cygwin here as socket in /tmp directory is a subject of cleanup...
   716   (setq server-use-tcp t))
   716   (setq server-use-tcp t))
   717 (when (and (>= emacs-major-version 22))
   717 (when (and (>= emacs-major-version 22))
   876   )
   876   )
   877 
   877 
   878 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   878 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   879 (message "grep, find, ack, ag")
   879 (message "grep, find, ack, ag")
   880 
   880 
   881 (eval-when 'compile (require 'find-dired))
   881 (cl-eval-when (compile) (require 'find-dired))
   882 
   882 
   883 ;; -ls produce very noisy output:
   883 ;; -ls produce very noisy output:
   884 ;; (setq find-ls-option '("-ls" . ""))
   884 ;; (setq find-ls-option '("-ls" . ""))
   885 ;; So I use next expression, which work with GNU find, I replace %s with '0'
   885 ;; So I use next expression, which work with GNU find, I replace %s with '0'
   886 ;; to avoid unnecessary sys calls and this make output aligned by column:
   886 ;; to avoid unnecessary sys calls and this make output aligned by column:
   887 (setq find-ls-option '("-printf ' -rw-rw-rw- %9s %AY-%Am-%Ad %AH:%AM %p\n'" . ""))
   887 (setq find-ls-option '("-printf ' -rw-rw-rw- %9s %AY-%Am-%Ad %AH:%AM %p\n'" . ""))
   888 
   888 
   889 (eval-when 'compile (require 'grep))
   889 (cl-eval-when (compile) (require 'grep))
   890 
   890 
   891 ;; Do not set t because some grep do not has --color options.
   891 ;; Do not set t because some grep do not has --color options.
   892 (setq grep-highlight-matches nil)
   892 (setq grep-highlight-matches nil)
   893 (setq grep-use-null-device nil)
   893 (setq grep-use-null-device nil)
   894 
   894 
  1157 (message "ivy, ido, ffap")
  1157 (message "ivy, ido, ffap")
  1158 
  1158 
  1159 ;; (add-hook 'find-file-hook #'make-frame-visible)
  1159 ;; (add-hook 'find-file-hook #'make-frame-visible)
  1160 
  1160 
  1161 (require 'ffap)
  1161 (require 'ffap)
  1162 (eval-when 'compile (require 'ido nil t))
  1162 (cl-eval-when (compile) (require 'ido nil t))
  1163 
  1163 
  1164 ;; Ido makes appropriate binding.
  1164 ;; Ido makes appropriate binding.
  1165 ;(ffap-bindings)
  1165 ;(ffap-bindings)
  1166 ;; C-u C-x C-f finds the file at point
  1166 ;; C-u C-x C-f finds the file at point
  1167 ;(setq ffap-require-prefix t)
  1167 ;(setq ffap-require-prefix t)
  1278 (add-to-list 'magic-mode-alist (cons #'my--large-file-p #'my-large-file-mode))
  1278 (add-to-list 'magic-mode-alist (cons #'my--large-file-p #'my-large-file-mode))
  1279 
  1279 
  1280 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1280 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1281 (message "helm")
  1281 (message "helm")
  1282 
  1282 
  1283 (eval-when 'compile
  1283 (cl-eval-when (compile)
  1284   (require 'helm-locate nil t))
  1284   (require 'helm-locate nil t))
  1285 
  1285 
  1286 (setq helm-locate-command "locate %s -e %s")
  1286 (setq helm-locate-command "locate %s -e %s")
  1287 
  1287 
  1288 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1288 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1581 (define-key global-map [?\s-i] 'ide-idea-open-this-buffer)
  1581 (define-key global-map [?\s-i] 'ide-idea-open-this-buffer)
  1582 
  1582 
  1583 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1583 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1584 (message "calendar")
  1584 (message "calendar")
  1585 
  1585 
  1586 (eval-when 'compile (require 'calendar))
  1586 (cl-eval-when (compile) (require 'calendar))
  1587 
  1587 
  1588 ;; (setq mark-holidays-in-calendar t)
  1588 ;; (setq mark-holidays-in-calendar t)
  1589 ;; (setq all-christian-calendar-holidays t)
  1589 ;; (setq all-christian-calendar-holidays t)
  1590 ;; (setq calendar-date-display-form (quote ((format "%04s-%02d-%02d" year (string-to-number month) (string-to-number day)))))
  1590 ;; (setq calendar-date-display-form (quote ((format "%04s-%02d-%02d" year (string-to-number month) (string-to-number day)))))
  1591 ;; (setq calendar-time-display-form (quote (24-hours ":" minutes (if time-zone " (") time-zone (if time-zone ")"))))
  1591 ;; (setq calendar-time-display-form (quote (24-hours ":" minutes (if time-zone " (") time-zone (if time-zone ")"))))
  1812    :other-modes '(makefile-mode)))
  1812    :other-modes '(makefile-mode)))
  1813 
  1813 
  1814 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1814 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1815 (message "man, woman")
  1815 (message "man, woman")
  1816 
  1816 
  1817 (eval-when 'compile (require 'woman))
  1817 (cl-eval-when (compile) (require 'woman))
  1818 
  1818 
  1819 (when (featurep 'cygwin-mount)
  1819 (when (featurep 'cygwin-mount)
  1820   (let ( (path (expand-file-name "~")) )
  1820   (let ( (path (expand-file-name "~")) )
  1821     (when (string-match "\\([c-z]\\):/" path)
  1821     (when (string-match "\\([c-z]\\):/" path)
  1822       (setenv "MANPATH" (concat "/cygdrive/" (substring path 0 1) "/" (substring path 3) "/usr/share/man/:"))
  1822       (setenv "MANPATH" (concat "/cygdrive/" (substring path 0 1) "/" (substring path 3) "/usr/share/man/:"))
  1879 (message "org-mode, GTD, PIM, organize, todo")
  1879 (message "org-mode, GTD, PIM, organize, todo")
  1880 
  1880 
  1881 (require 'org)
  1881 (require 'org)
  1882 (require 'org-capture nil t)
  1882 (require 'org-capture nil t)
  1883 
  1883 
  1884 (eval-when 'compile
  1884 (cl-eval-when (compile)
  1885   (require 'org-agenda)
  1885   (require 'org-agenda)
  1886   (require 'org-archive))
  1886   (require 'org-archive))
  1887 
  1887 
  1888 ;; XXX org-todo-keywords '((sequence "TODO" "START" "|" "DONE")) for org-version 4.67c
  1888 ;; XXX org-todo-keywords '((sequence "TODO" "START" "|" "DONE")) for org-version 4.67c
  1889 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
  1889 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
  2031   (mapc (lambda (mode) (add-hook (intern (concat mode "-hook")) 'my-todo)) generic-mode-list))
  2031   (mapc (lambda (mode) (add-hook (intern (concat mode "-hook")) 'my-todo)) generic-mode-list))
  2032 
  2032 
  2033 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2033 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2034 (message "mail, message")
  2034 (message "mail, message")
  2035 
  2035 
  2036 (eval-when 'compile (require 'message))
  2036 (cl-eval-when (compile) (require 'message))
  2037 
  2037 
  2038 (setq mail-user-agent 'message-user-agent)
  2038 (setq mail-user-agent 'message-user-agent)
  2039 
  2039 
  2040 (defun my-compose-mail ()
  2040 (defun my-compose-mail ()
  2041   (interactive)
  2041   (interactive)
  2081 (defun my--message-refine-filename (filename)
  2081 (defun my--message-refine-filename (filename)
  2082   (mapconcat
  2082   (mapconcat
  2083    (lambda (ch) (or (when (string-match my--message-safe-filename-regex (char-to-string ch)) (char-to-string ch)) "-"))
  2083    (lambda (ch) (or (when (string-match my--message-safe-filename-regex (char-to-string ch)) (char-to-string ch)) "-"))
  2084    filename "") )
  2084    filename "") )
  2085 
  2085 
  2086 (eval-when 'compile (require 'gnus))
  2086 (cl-eval-when (compile) (require 'gnus))
  2087 
  2087 
  2088 (defun my--message-save ()
  2088 (defun my--message-save ()
  2089   "Store message in `gnus-article-save-directory' after
  2089   "Store message in `gnus-article-save-directory' after
  2090 successful sending. It is possible that mail rejected and I lost
  2090 successful sending. It is possible that mail rejected and I lost
  2091 it completely, this func save it for me."
  2091 it completely, this func save it for me."
  2122 ;; (setq smtpmail-debug-info t)
  2122 ;; (setq smtpmail-debug-info t)
  2123 
  2123 
  2124 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2124 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2125 (message "gnus, mh-e")
  2125 (message "gnus, mh-e")
  2126 
  2126 
  2127 (eval-when 'compile
  2127 (cl-eval-when (compile)
  2128   (require 'gnus)
  2128   (require 'gnus)
  2129   (require 'gnus-agent)
  2129   (require 'gnus-agent)
  2130   (require 'gnus-start)
  2130   (require 'gnus-start)
  2131   (require 'gnus-score)
  2131   (require 'gnus-score)
  2132   (require 'gnus-topic)
  2132   (require 'gnus-topic)
  2223 (setq mm-discouraged-alternatives '("text/richtext"))
  2223 (setq mm-discouraged-alternatives '("text/richtext"))
  2224 (setq gnus-buttonized-mime-types '("text/html"))
  2224 (setq gnus-buttonized-mime-types '("text/html"))
  2225 
  2225 
  2226 (setq mm-text-html-renderer 'shr)
  2226 (setq mm-text-html-renderer 'shr)
  2227 
  2227 
  2228 (eval-when-compile
  2228 (cl-eval-when (compile)
  2229   (ignore-errors
  2229   (ignore-errors
  2230     ;; w3m-anchor is macros in newer Emacs, need definition during byte-compilation.
  2230     ;; w3m-anchor is macros in newer Emacs, need definition during byte-compilation.
  2231     (require 'w3m-util)))
  2231     (require 'w3m-util)))
  2232 
  2232 
  2233 (defun my-w3m-view-url ()
  2233 (defun my-w3m-view-url ()
  2472  )
  2472  )
  2473 
  2473 
  2474 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2474 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2475 (message "jabber")
  2475 (message "jabber")
  2476 
  2476 
  2477 (eval-when 'compile (require 'jabber nil t))
  2477 (cl-eval-when (compile) (require 'jabber nil t))
  2478 
  2478 
  2479 (setq jabber-history-dir (concat user-emacs-directory ".jabber"))
  2479 (setq jabber-history-dir (concat user-emacs-directory ".jabber"))
  2480 
  2480 
  2481 (autoload 'jabber-connect-all "jabber")
  2481 (autoload 'jabber-connect-all "jabber")
  2482 
  2482 
  2542 (global-set-key (kbd "C-x C-j C-s") 'my-jabber-send)
  2542 (global-set-key (kbd "C-x C-j C-s") 'my-jabber-send)
  2543 
  2543 
  2544 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2544 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2545 (message "erc")
  2545 (message "erc")
  2546 
  2546 
  2547 (eval-when 'compile
  2547 (cl-eval-when (compile)
  2548   (require 'erc)
  2548   (require 'erc)
  2549   (require 'erc-log))
  2549   (require 'erc-log))
  2550 
  2550 
  2551 ;; (add-to-list 'erc-modules 'notify)
  2551 ;; (add-to-list 'erc-modules 'notify)
  2552 ;; (setq erc-notify-list '(""))
  2552 ;; (setq erc-notify-list '(""))
  2619   (add-hook 'prog-mode-hook #'my-company-prog-mode-setup))
  2619   (add-hook 'prog-mode-hook #'my-company-prog-mode-setup))
  2620 
  2620 
  2621 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2621 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2622 (message "diff, patch, ediff, emerge")
  2622 (message "diff, patch, ediff, emerge")
  2623 
  2623 
  2624 (eval-when 'compile (require 'ediff))
  2624 (cl-eval-when (compile) (require 'ediff))
  2625 
  2625 
  2626 (setq diff-switches "-u")
  2626 (setq diff-switches "-u")
  2627 
  2627 
  2628 (setq ediff-diff-options "")
  2628 (setq ediff-diff-options "")
  2629 (setq ediff-custom-diff-options "-u")
  2629 (setq ediff-custom-diff-options "-u")
  2647     (set-face-background 'diff-refine-changed "LightBlue1")))
  2647     (set-face-background 'diff-refine-changed "LightBlue1")))
  2648 
  2648 
  2649 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2649 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2650 (message "vc-mode, VCS, version control, cvs, svn, mercurial, hg, bazaar, bzr, git, fossil")
  2650 (message "vc-mode, VCS, version control, cvs, svn, mercurial, hg, bazaar, bzr, git, fossil")
  2651 
  2651 
  2652 (eval-when 'compile
  2652 (cl-eval-when (compile)
  2653   (require 'vc)
  2653   (require 'vc)
  2654   (require 'vc-hooks)
  2654   (require 'vc-hooks)
  2655   (require 'vc-annotate)
  2655   (require 'vc-annotate)
  2656   (require 'vc-svn))
  2656   (require 'vc-svn))
  2657 
  2657 
  2752   (remove-hook 'after-change-major-mode-hook 'git-commit-setup-font-lock-in-buffer))
  2752   (remove-hook 'after-change-major-mode-hook 'git-commit-setup-font-lock-in-buffer))
  2753 
  2753 
  2754 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2754 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2755 (message "indenting")
  2755 (message "indenting")
  2756 
  2756 
  2757 (eval-when 'compile (require 'cc-mode))
  2757 (cl-eval-when (compile) (require 'cc-mode))
  2758 
  2758 
  2759 (setq standard-indent 4)
  2759 (setq standard-indent 4)
  2760 (setq c-basic-offset 4)
  2760 (setq c-basic-offset 4)
  2761 
  2761 
  2762 (when (fboundp 'electric-indent-mode)
  2762 (when (fboundp 'electric-indent-mode)
  2834 
  2834 
  2835 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2835 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2836 (message "gdb, gud")
  2836 (message "gdb, gud")
  2837 ;; Use C-x SPACE to set breakpoint in source file.
  2837 ;; Use C-x SPACE to set breakpoint in source file.
  2838 
  2838 
  2839 (eval-when 'compile (require 'gdb-mi nil t))
  2839 (cl-eval-when (compile) (require 'gdb-mi nil t))
  2840 
  2840 
  2841 (setq gdb-show-main t)                  ; See also (gdb-many-windows)
  2841 (setq gdb-show-main t)                  ; See also (gdb-many-windows)
  2842 
  2842 
  2843 (setq gud-pdb-command-name "python3 -m pdb")
  2843 (setq gud-pdb-command-name "python3 -m pdb")
  2844 
  2844 
  2954   )
  2954   )
  2955 
  2955 
  2956 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2956 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2957 (message "c-mode, cc-mode, c++-mode")
  2957 (message "c-mode, cc-mode, c++-mode")
  2958 
  2958 
  2959 (eval-when 'compile (require 'cc-mode))
  2959 (cl-eval-when (compile) (require 'cc-mode))
  2960 
  2960 
  2961 ;; Minor mode that highlights suspicious C and C++ constructions.
  2961 ;; Minor mode that highlights suspicious C and C++ constructions.
  2962 (global-cwarn-mode 1)
  2962 (global-cwarn-mode 1)
  2963 
  2963 
  2964 (setq c-echo-syntactic-information-p t)
  2964 (setq c-echo-syntactic-information-p t)
  3036 (add-hook 'c-mode-common-hook 'my-c-mode-style-hook)
  3036 (add-hook 'c-mode-common-hook 'my-c-mode-style-hook)
  3037 
  3037 
  3038 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3038 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3039 (message "python, python-mode")
  3039 (message "python, python-mode")
  3040 
  3040 
  3041 (eval-when 'compile
  3041 (cl-eval-when (compile)
  3042   (require 'python))
  3042   (require 'python))
  3043 
  3043 
  3044 (setq python-shell-interpreter "python3")
  3044 (setq python-shell-interpreter "python3")
  3045 
  3045 
  3046 (setq python-indent-offset 4)
  3046 (setq python-indent-offset 4)
  3258 (add-to-list 'auto-mode-alist '("/requirements.txt\\'" . conf-mode))
  3258 (add-to-list 'auto-mode-alist '("/requirements.txt\\'" . conf-mode))
  3259 
  3259 
  3260 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3260 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3261 (message "perl, cperl")
  3261 (message "perl, cperl")
  3262 
  3262 
  3263 (eval-when 'compile (require 'cperl-mode))
  3263 (cl-eval-when (compile) (require 'cperl-mode))
  3264 
  3264 
  3265 ;; Use cperl instead perl mode.
  3265 ;; Use cperl instead perl mode.
  3266 (mapc
  3266 (mapc
  3267  (lambda (pair)
  3267  (lambda (pair)
  3268    (if (eq (cdr pair) 'perl-mode)
  3268    (if (eq (cdr pair) 'perl-mode)
  3405 ;;       ("=>"  . ?⇛))))
  3405 ;;       ("=>"  . ?⇛))))
  3406 
  3406 
  3407 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3407 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3408 (message "Pascal")
  3408 (message "Pascal")
  3409 
  3409 
  3410 (eval-when 'compile (require 'pascal))
  3410 (cl-eval-when (compile) (require 'pascal))
  3411 
  3411 
  3412 (setq
  3412 (setq
  3413  pascal-indent-level 4
  3413  pascal-indent-level 4
  3414  pascal-case-indent 2
  3414  pascal-case-indent 2
  3415  pascal-auto-newline t
  3415  pascal-auto-newline t
  3436 (setq wesnoth-base-indent 2)
  3436 (setq wesnoth-base-indent 2)
  3437 
  3437 
  3438 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3438 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3439 (message "css")
  3439 (message "css")
  3440 
  3440 
  3441 (eval-when 'compile (require 'css-mode))
  3441 (cl-eval-when (compile) (require 'css-mode))
  3442 
  3442 
  3443 (setq css-indent-offset 4)
  3443 (setq css-indent-offset 4)
  3444 
  3444 
  3445 ;; (package-install 'css-eldoc)
  3445 ;; (package-install 'css-eldoc)
  3446 
  3446 
  3449     (css-eldoc-enable)))
  3449     (css-eldoc-enable)))
  3450 
  3450 
  3451 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3451 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3452 (message "htmlize")
  3452 (message "htmlize")
  3453 
  3453 
  3454 (eval-when 'compile (require 'htmlize nil t))
  3454 (cl-eval-when (compile) (require 'htmlize nil t))
  3455 
  3455 
  3456 (setq
  3456 (setq
  3457  htmlize-html-charset "utf-8"
  3457  htmlize-html-charset "utf-8"
  3458  htmlize-output-type 'inline-css
  3458  htmlize-output-type 'inline-css
  3459  htmlize-html-major-mode 'html-mode
  3459  htmlize-html-major-mode 'html-mode
  3534     ))
  3534     ))
  3535 
  3535 
  3536 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3536 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3537 (message "nxml")
  3537 (message "nxml")
  3538 
  3538 
  3539 (eval-when 'compile (require 'nxml-mode))
  3539 (cl-eval-when (compile) (require 'nxml-mode))
  3540 
  3540 
  3541 (setq nxml-sexp-element-flag t)
  3541 (setq nxml-sexp-element-flag t)
  3542 (setq nxml-child-indent 2)
  3542 (setq nxml-child-indent 2)
  3543 (setq nxml-attribute-indent 4)
  3543 (setq nxml-attribute-indent 4)
  3544 
  3544 
  3598 
  3598 
  3599 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3599 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3600 (message "web-mode")
  3600 (message "web-mode")
  3601 
  3601 
  3602 (require 'web-mode nil t)
  3602 (require 'web-mode nil t)
  3603 (eval-when 'compile (require 'web-mode nil t))
  3603 (cl-eval-when (compile) (require 'web-mode nil t))
  3604 
  3604 
  3605 (setq web-mode-markup-indent-offset 2
  3605 (setq web-mode-markup-indent-offset 2
  3606       web-mode-css-indent-offset 2
  3606       web-mode-css-indent-offset 2
  3607       web-mode-code-indent-offset 2
  3607       web-mode-code-indent-offset 2
  3608       web-mode-script-padding 2
  3608       web-mode-script-padding 2
  3651 (copy-face 'web-mode-html-tag-bracket-face 'web-mode-html-attr-equal-face)
  3651 (copy-face 'web-mode-html-tag-bracket-face 'web-mode-html-attr-equal-face)
  3652 
  3652 
  3653 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3653 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3654 (message "sgml")
  3654 (message "sgml")
  3655 
  3655 
  3656 (eval-when 'compile (require 'sgml-mode))
  3656 (cl-eval-when (compile) (require 'sgml-mode))
  3657 
  3657 
  3658 (setq sgml-basic-offset 4)
  3658 (setq sgml-basic-offset 4)
  3659 
  3659 
  3660 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3660 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3661 (message "psgml")
  3661 (message "psgml")
  3662 
  3662 
  3663 (eval-when 'compile (require 'psgml nil t))
  3663 (cl-eval-when (compile) (require 'psgml nil t))
  3664 
  3664 
  3665 (defvar my-html-template
  3665 (defvar my-html-template
  3666       '("html"
  3666       '("html"
  3667         (nil
  3667         (nil
  3668          "\n<head>" \n
  3668          "\n<head>" \n
  3706   (add-to-list 'auto-mode-alist '("\\.jspf?\\'" . jsp-mode)))
  3706   (add-to-list 'auto-mode-alist '("\\.jspf?\\'" . jsp-mode)))
  3707 
  3707 
  3708 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3708 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3709 (message "emmet")
  3709 (message "emmet")
  3710 
  3710 
  3711 (eval-when (compile) (require 'emmet-mode nil t))
  3711 (cl-eval-when (compile) (require 'emmet-mode nil t))
  3712 
  3712 
  3713 (when (featurep 'emmet-mode)
  3713 (when (featurep 'emmet-mode)
  3714   (add-hook 'sgml-mode-hook 'emmet-mode))
  3714   (add-hook 'sgml-mode-hook 'emmet-mode))
  3715 
  3715 
  3716 (when (featurep 'web-mode)
  3716 (when (featurep 'web-mode)
  3720 (setq emmet-move-cursor-after-expanding t)
  3720 (setq emmet-move-cursor-after-expanding t)
  3721 
  3721 
  3722 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3722 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3723 (message "sh, bash")
  3723 (message "sh, bash")
  3724 
  3724 
  3725 (eval-when 'compile (require 'sh-script))
  3725 (cl-eval-when (compile) (require 'sh-script))
  3726 
  3726 
  3727 (setq sh-basic-offset 2)
  3727 (setq sh-basic-offset 2)
  3728 
  3728 
  3729 (add-to-list 'auto-mode-alist '("\\.cygport\\'" . shell-script-mode))
  3729 (add-to-list 'auto-mode-alist '("\\.cygport\\'" . shell-script-mode))
  3730 
  3730 
  3737   (add-hook 'sh-mode-hook #'my-sh-company-setup))
  3737   (add-hook 'sh-mode-hook #'my-sh-company-setup))
  3738 
  3738 
  3739 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3739 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3740 (message "pg, Proof General")
  3740 (message "pg, Proof General")
  3741 
  3741 
  3742 (eval-when 'compile (require 'proof nil t))
  3742 (cl-eval-when (compile) (require 'proof nil t))
  3743 
  3743 
  3744 (setq proof-splash-enable nil)
  3744 (setq proof-splash-enable nil)
  3745 ;; (setq proof-toolbar-enable nil)
  3745 ;; (setq proof-toolbar-enable nil)
  3746 
  3746 
  3747 (setq
  3747 (setq
  3781 ;(setq ps-print-header nil)
  3781 ;(setq ps-print-header nil)
  3782 
  3782 
  3783 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3783 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3784 (message "SQL")
  3784 (message "SQL")
  3785 
  3785 
  3786 (eval-when 'compile (require 'sql))
  3786 (cl-eval-when (compile) (require 'sql))
  3787 
  3787 
  3788 (setq sql-password "")
  3788 (setq sql-password "")
  3789 (add-to-list 'auto-mode-alist '("\\.plsql\\'" . sql-mode))
  3789 (add-to-list 'auto-mode-alist '("\\.plsql\\'" . sql-mode))
  3790 
  3790 
  3791 ;; Disable placeholders substitution in Oracle SQLi by Emacs itself.
  3791 ;; Disable placeholders substitution in Oracle SQLi by Emacs itself.