.emacs-my
changeset 836 034e9cfcc17c
parent 834 07219d4d737e
parent 732 139665dd6ada
child 838 2edffa38b012
child 839 27fac2557f13
equal deleted inserted replaced
732:139665dd6ada 836:034e9cfcc17c
    10 ;; For load order see README.
    10 ;; For load order see README.
    11 
    11 
    12 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    12 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    13 (message "recentf")
    13 (message "recentf")
    14 
    14 
       
    15 (setq recentf-save-file "~/.recentf")
       
    16 (when (eq system-type 'cygwin)
       
    17   (setq recentf-save-file "~/.recentf-cygwin")
       
    18   )
    15 (require 'recentf)
    19 (require 'recentf)
    16 ;; Prevent TRAMP to login on remote host when loading.
    20 ;; Prevent TRAMP to login on remote host when loading.
    17 ;; Its take time and ask passwords!
    21 ;; Its take time and ask passwords!
    18 (setq recentf-auto-cleanup 'never)
    22 (setq recentf-auto-cleanup 'never)
    19 (recentf-mode t)
    23 (recentf-mode t)
    31 (message "debugging")
    35 (message "debugging")
    32 
    36 
    33 ;; Shut off message buffer by setting nil.
    37 ;; Shut off message buffer by setting nil.
    34 (setq message-log-max 512)
    38 (setq message-log-max 512)
    35 
    39 
    36 ;; Set the debug option to enable a backtrace when a problem occurs.
       
    37 (setq debug-on-error nil)               ; t/nil
       
    38 (setq debug-on-signal nil)
       
    39 
       
    40 ;; Get trace when press C-g.
       
    41 (setq debug-on-quit nil)                ; t/nil
       
    42 
       
    43 ;; Prevent Emacs from loading 'default.el', which loaded after '.emacs'.
    40 ;; Prevent Emacs from loading 'default.el', which loaded after '.emacs'.
    44 ;; Also '-q' prevent loading your init file.
    41 ;; Also '-q' prevent loading your init file.
    45 (setq inhibit-default-init nil)         ; t/nil
    42 (setq inhibit-default-init nil)         ; t/nil
    46 
    43 
       
    44 (defun my-debug (mode)
       
    45   "With prefix enable debug backtrace when problems occur else disable."
       
    46   (interactive "P")
       
    47   (when mode
       
    48     ;; (setq debug-on-signal t)
       
    49     (setq mode t))
       
    50   (setq debug-on-error mode)
       
    51   ;; Get trace when press C-g.
       
    52   (setq debug-on-quit mode)
       
    53   )
       
    54 
       
    55 (my-debug nil)
       
    56 
    47 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    57 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    48 (message "user info")
    58 (message "user info")
    49 
    59 
    50 (setq user-full-name "Oleksandr Gavenko")
    60 ;; Set following in ~/.emacs-auth:
    51 (setq user-mail-address "gavenkoa@gmail.com")
    61 ;; (setq user-full-name "Oleksandr Gavenko")
    52 (setq user-nick "gavenkoa")
    62 ;; (setq user-mail-address "gavenkoa@gmail.com")
       
    63 ;; (setq user-nick "gavenkoa")
       
    64 
       
    65 (unless (and (boundp 'user-nick) (stringp user-nick))
       
    66   (setq user-nick (user-login-name)) )
    53 (setenv "ORGANIZATION" (concat user-full-name " <" user-mail-address  ">"))
    67 (setenv "ORGANIZATION" (concat user-full-name " <" user-mail-address  ">"))
    54 
    68 
    55 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    69 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    56 (message "my defun, defmacro, defvar")
    70 (message "my defun, defmacro, defvar")
    57 
    71 
   127     emacs-lisp-mode
   141     emacs-lisp-mode
   128     makefile-mode makefile-gmake-mode
   142     makefile-mode makefile-gmake-mode
   129     nsis-mode
   143     nsis-mode
   130     bat-generic-mode
   144     bat-generic-mode
   131     html-mode
   145     html-mode
       
   146     LilyPond-mode
   132     )
   147     )
   133   "List of development modes.")
   148   "List of development modes.")
   134 
   149 
   135 (defvar my-devel-mode-hook-list
   150 (defvar my-devel-mode-hook-list
   136    (my-mode2hook my-devel-mode-list)
   151    (my-mode2hook my-devel-mode-list)
   264 (message "silent runing")
   279 (message "silent runing")
   265 
   280 
   266 ;; (setq inhibit-splash-screen t) ; nonexist on 21.4.1
   281 ;; (setq inhibit-splash-screen t) ; nonexist on 21.4.1
   267 (setq inhibit-startup-message t)
   282 (setq inhibit-startup-message t)
   268 
   283 
   269 ;; ----------------------------------------------------------------
   284 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   270 (message "shell, bash, Cygwin, MSYS")
   285 (message "shell, bash, Cygwin, MSYS")
   271 
   286 
   272 (defvar my-use-windows-shell nil
   287 (defvar my-use-windows-shell nil
   273   "If t 'cmdproxy.exe' will be used as shell. Affect on M-x shell like
   288   "If t 'cmdproxy.exe' will be used as shell. Affect on M-x shell like
   274   commands. If nil, 'sh' will be used." )
   289   commands. If nil, 'sh' will be used." )
   305 (when (eq system-type 'windows-nt)
   320 (when (eq system-type 'windows-nt)
   306   (ignore-errors
   321   (ignore-errors
   307     (require 'cygwin-mount)
   322     (require 'cygwin-mount)
   308     (cygwin-mount-activate)
   323     (cygwin-mount-activate)
   309     )
   324     )
   310   (add-hook 'find-file-hooks 'follow-cygwin-symlink)
   325   (add-hook 'find-file-hook 'follow-cygwin-symlink)
   311   ;; Workaround for Cygwin shell, when set 'CYGWIN=noglob'. By default 'shell-quote-argument'
   326   ;; Workaround for Cygwin shell, when set 'CYGWIN=noglob'. By default 'shell-quote-argument'
   312   ;; quoted by double '\' chars this cause failure.
   327   ;; quoted by double '\' chars this cause failure.
   313   (defun shell-quote-argument (argument)
   328   (defun shell-quote-argument (argument)
   314     (concat "'" argument "'")
   329     (concat "'" argument "'")
   315     )
   330     )
   319   (setq shell-file-name "bash")
   334   (setq shell-file-name "bash")
   320   (setenv "SHELL" "/bin/bash")
   335   (setenv "SHELL" "/bin/bash")
   321   (modify-coding-system-alist 'process "bash" '(cp1251-unix . cp1251-unix))
   336   (modify-coding-system-alist 'process "bash" '(cp1251-unix . cp1251-unix))
   322   )
   337   )
   323 
   338 
       
   339 (when (eq window-system 'w32)
       
   340   ;; Fix 'starttls.el' on native Windows Emacs with gnutls-cli from Cygwin.
       
   341   ;; 'gnutls-cli' run with '-s' opt and process wait for SIGALRM.
       
   342   ;; But build-in native Emacs 'kill' command can not send such Cygwin
       
   343   ;; specific sygnal. So 'starttls-negotiate-gnutls' function infinitely
       
   344   ;; wait for 'gnutls-cli' output.
       
   345   (defadvice signal-process (around cygwin (process sigcode))
       
   346     "Use 'kill.exe' instead build-in Emacs 'kill'."
       
   347     (if (eq sigcode 'SIGALRM)
       
   348         (shell-command
       
   349          (format "kill.exe -s SIGALRM %d"
       
   350                  (if (processp process) (process-id process) process)))
       
   351       ad-do-it
       
   352       ))
       
   353   (ad-activate 'signal-process)
       
   354   (modify-coding-system-alist 'process "gnutls-cli" '(binary . binary))
       
   355   )
       
   356 
   324 (ansi-color-for-comint-mode-on)
   357 (ansi-color-for-comint-mode-on)
   325 
   358 
   326 (setq explicit-bash-args '("-i"))
   359 (setq explicit-bash-args '("-i"))
   327 (setq explicit-sh-args '("-i"))
   360 (setq explicit-sh-args '("-i"))
   328 
   361 
   343 
   376 
   344 ;; See also 'mode-require-final-newline'.
   377 ;; See also 'mode-require-final-newline'.
   345 (add-hook 'text-mode-hook (lambda () (setq require-final-newline nil)))
   378 (add-hook 'text-mode-hook (lambda () (setq require-final-newline nil)))
   346 
   379 
   347 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   380 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   348 (message "gnu serv, server")
   381 (message "server")
   349 
   382 
   350 ;; (load "~/emacs/bin/gnuserv/gnuserv.el")
   383 (when (and (>= emacs-major-version 22) (not (eq system-type 'cygwin)))
   351 ;; (require 'gnuserv)
       
   352 ;; (setq gnuserv-frame (selected-frame))
       
   353 
       
   354 (when (>= emacs-major-version 22)
       
   355   (require 'server)
   384   (require 'server)
   356   (when (and (= emacs-major-version 23) (>= emacs-minor-version 1) (<= emacs-minor-version 2) (equal window-system 'w32))
   385   (when (and (= emacs-major-version 23) (>= emacs-minor-version 1) (<= emacs-minor-version 2) (equal window-system 'w32))
   357     (defun server-ensure-safe-dir (dir) "Noop" t)) ; Suppress error directory ~/.emacs.d/server is unsafe on windows.
   386     (defun server-ensure-safe-dir (dir) "Noop" t)) ; Suppress error directory ~/.emacs.d/server is unsafe on windows.
   358   (when (or (= emacs-major-version 22) (not (eq (server-running-p server-name) t)))
   387   (when (or (= emacs-major-version 22) (not (eq (server-running-p server-name) t)))
   359     (server-start))
   388     (server-start))
   450 (message "scrolling")
   479 (message "scrolling")
   451 
   480 
   452 (defvar my-scroll-margin 4)
   481 (defvar my-scroll-margin 4)
   453 
   482 
   454 (setq-default
   483 (setq-default
   455  scroll-step 1
   484  ;; Set to zero as this recomment documentation.
   456  scroll-conservatively my-scroll-margin
   485  scroll-step 0
       
   486  ;; If the value is greater than 100, redisplay will never recenter point, but
       
   487  ;; will always scroll just enough text to bring point into view
       
   488  scroll-conservatively 1000
   457  scroll-preserve-screen-position t
   489  scroll-preserve-screen-position t
   458  )
   490  )
   459 
   491 
   460 ;; Set margin only for desired modes! Do not frustrate calendar any more.
   492 ;; Set margin only for desired modes! Do not frustrate calendar any more.
   461 (make-variable-buffer-local 'scroll-margin)
   493 (make-variable-buffer-local 'scroll-margin)
   462 (mapc (lambda (hook) (add-hook hook (lambda nil (setq scroll-margin my-scroll-margin))))
   494 (mapc (lambda (hook) (add-hook hook (lambda nil (setq scroll-margin my-scroll-margin))))
   463       ;; TODO its good invoke delete-dups for list, but delete-dups not exist in Emacs 21.4
   495       ;; TODO its good invoke delete-dups for list, but delete-dups not exist in Emacs 21.4
   464       (append my-text-mode-hook-list my-devel-mode-hook-list my-scroll-margin-mode-hook-list) )
   496       (append my-text-mode-hook-list my-devel-mode-hook-list my-scroll-margin-mode-hook-list) )
   465 
   497 
   466 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   498 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
   499 (message "chars, unicode")
       
   500 
       
   501 (defun my-print-unicode (&optional start end)
       
   502   "Print UNICODE table."
       
   503   (interactive "nstart: \nnend: ")
       
   504   (switch-to-buffer (get-buffer-create "*UNICODE*"))
       
   505   (erase-buffer)
       
   506   (let ( (i start) )
       
   507     (while (<= i end)
       
   508       (insert (format "%s: U+%04x, %s\n" (char-to-string i) i (get-char-code-property i 'name)))
       
   509       (setq i (1+ i))
       
   510       )))
       
   511 
       
   512 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   467 (message "search, isearch, occur")
   513 (message "search, isearch, occur")
   468 
   514 
   469 (setq case-fold-search t)
   515 (setq case-fold-search t)
   470 
   516 
   471 (setq query-replace-highlight t)        ; highlight during query
   517 (setq query-replace-highlight t)        ; highlight during query
   473 
   519 
   474 ;; Make old Emacs key binding like in Emacs 23.x.
   520 ;; Make old Emacs key binding like in Emacs 23.x.
   475 (when (< emacs-major-version 23)
   521 (when (< emacs-major-version 23)
   476   (global-set-key (kbd "M-s o") 'occur)
   522   (global-set-key (kbd "M-s o") 'occur)
   477   )
   523   )
   478 (global-set-key [f7] 'occur)
       
   479 
   524 
   480 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   525 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   481 (message "grep, find")
   526 (message "grep, find")
   482 
   527 
   483 ;; -ls produce very noisy output:
   528 ;; -ls produce very noisy output:
   493 (eval-after-load 'grep
   538 (eval-after-load 'grep
   494   '(progn
   539   '(progn
   495      (add-to-list 'grep-find-ignored-directories "build" t)
   540      (add-to-list 'grep-find-ignored-directories "build" t)
   496      (add-to-list 'grep-find-ignored-directories "dist" t)
   541      (add-to-list 'grep-find-ignored-directories "dist" t)
   497      (add-to-list 'grep-find-ignored-directories "lib" t)
   542      (add-to-list 'grep-find-ignored-directories "lib" t)
       
   543      (add-to-list 'grep-find-ignored-directories "_build" t)
       
   544      (add-to-list 'grep-find-ignored-directories "_dist" t)
       
   545      (add-to-list 'grep-find-ignored-directories "_lib" t)
   498 
   546 
   499      (when (boundp 'grep-find-ignored-files)
   547      (when (boundp 'grep-find-ignored-files)
   500        (add-to-list 'grep-find-ignored-files "*TAGS")
   548        (add-to-list 'grep-find-ignored-files "*TAGS")
   501        (add-to-list 'grep-find-ignored-files "GPATH")
   549        (add-to-list 'grep-find-ignored-files "GPATH")
   502        )
   550        )
   503      ))
   551      ))
   504 
   552 (global-set-key [f7] 'rgrep)
   505 (global-set-key [M-f7] 'rgrep)
   553 (global-set-key [M-f7] 'rgrep)
   506 
   554 
   507 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   555 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   508 (message "syntax highlighting")
   556 (message "syntax highlighting")
   509 
   557 
   511 (global-font-lock-mode 1)
   559 (global-font-lock-mode 1)
   512 
   560 
   513 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   561 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   514 (message "highlight selected text")
   562 (message "highlight selected text")
   515 
   563 
   516 ;; 1/-1, when the mark is active, the region is highlighted.
   564 (delete-selection-mode 1)
   517 (transient-mark-mode 1)
   565 
   518 (delete-selection-mode 1)               ; 1/-1
   566 (when (<= emacs-major-version 23)
   519 
   567   ;; 1/-1, when the mark is active, the region is highlighted.
   520 ;; Order of next items is important, (assignment must done before pc-selection-mode enabled).
   568   (transient-mark-mode 1)
   521 (require 'pc-select)
   569 
   522 (setq pc-select-selection-keys-only t)  ; To avoid some key bindings as F6, etc.
   570   ;; Order of next items is important, (assignment must done before pc-selection-mode enabled).
   523 (setq pc-select-meta-moves-sexps t)
   571   (require 'pc-select)
   524 (cond
   572   (setq pc-select-selection-keys-only t)  ; To avoid some key bindings as F6, etc.
   525  ((= emacs-major-version 21) (pc-selection-mode))
   573   (setq pc-select-meta-moves-sexps t)
   526  ((>= emacs-major-version 22) (pc-selection-mode 1))
   574   (cond
   527  )
   575    ((= emacs-major-version 21) (pc-selection-mode))
       
   576    ((>= emacs-major-version 22) (pc-selection-mode 1))
       
   577    )
       
   578   )
   528 
   579 
   529 (when (eq window-system 'x)
   580 (when (eq window-system 'x)
   530   (setq x-select-enable-clipboard t)    ; for Emacs 21.2.1 and newer
   581   (setq x-select-enable-clipboard t)    ; for Emacs 21.2.1 and newer
   531   )
   582   )
   532 
   583 
   637  ((equal window-system 'x)
   688  ((equal window-system 'x)
   638   (prefer-coding-system 'utf-8-unix)
   689   (prefer-coding-system 'utf-8-unix)
   639   (setq selection-coding-system 'compound-text-with-extensions)
   690   (setq selection-coding-system 'compound-text-with-extensions)
   640   (setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))
   691   (setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))
   641   (modify-coding-system-alist 'process ".*" 'utf-8-unix)
   692   (modify-coding-system-alist 'process ".*" 'utf-8-unix)
       
   693   )
       
   694  ((eq system-type 'cygwin)
       
   695   (when (string-match "1251\\'" (getenv "LANG"))
       
   696     (prefer-coding-system 'cp1251-unix)
       
   697     (prefer-coding-system 'utf-8-unix)
       
   698     (modify-coding-system-alist 'process ".*" 'cp1251-unix)
       
   699     )
   642   )
   700   )
   643  ((eq system-type 'darwin)
   701  ((eq system-type 'darwin)
   644   nil
   702   nil
   645   )
   703   )
   646  (t
   704  (t
   794         "CVS/" ".hg/" ".svn/" ".git/" ".bzr/"
   852         "CVS/" ".hg/" ".svn/" ".git/" ".bzr/"
   795         ) )
   853         ) )
   796 (setq read-file-name-completion-ignore-case t)
   854 (setq read-file-name-completion-ignore-case t)
   797 
   855 
   798 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   856 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   799 (message "music")
       
   800 (setq gnus-audio-au-player "winamp.exe"
       
   801       gnus-audio-directory "D:\\music"
       
   802       gnus-audio-wav-player "winamp.exe")
       
   803 
       
   804 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
   805 (message "url")
   857 (message "url")
   806 
   858 
   807 ;; http://tools.ietf.org/html/rfc3986
   859 ;; http://tools.ietf.org/html/rfc3986
   808 ;; http://en.wikipedia.org/wiki/Percent-encoding
   860 ;; http://en.wikipedia.org/wiki/Percent-encoding
   809 (defun my-percent-decode (str)
   861 (defun my-percent-decode (str)
   859 (message "standard hooks")
   911 (message "standard hooks")
   860 
   912 
   861 (add-hook 'write-file-hooks 'time-stamp)
   913 (add-hook 'write-file-hooks 'time-stamp)
   862 
   914 
   863 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   915 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
   916 (message "logging, logs")
       
   917 
       
   918 (defun my-auto-revert-tail-mode-hook ()
       
   919   (when (string-match "/var/log/\\|\\.log\\'"
       
   920                       (buffer-file-name (current-buffer)))
       
   921     (auto-revert-tail-mode 1)
       
   922     ))
       
   923 (add-hook 'find-file-hook 'my-auto-revert-tail-mode-hook)
       
   924 
       
   925 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   864 (message "auto-fill")
   926 (message "auto-fill")
   865 
   927 
   866 (setq-default fill-column 78)
   928 (setq-default fill-column 78)
   867 
   929 
   868 (defvar my-fill-column 100
   930 (defvar my-fill-column 100
   873 (setq sentence-end-double-space nil)
   935 (setq sentence-end-double-space nil)
   874 
   936 
   875 ;; Turn on auto-fill mode
   937 ;; Turn on auto-fill mode
   876 (add-hook 'html-mode-hook 'turn-on-auto-fill)
   938 (add-hook 'html-mode-hook 'turn-on-auto-fill)
   877 (add-hook 'text-mode-hook 'turn-on-auto-fill)
   939 (add-hook 'text-mode-hook 'turn-on-auto-fill)
   878 
       
   879 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
   880 (message "unknown")
       
   881 
       
   882 ;; mailcrypt gnus message sendmail bbdb pilot bibtex eiffel-mode emacs-w3m
       
   883 ;; eudc filladapt hugs-mode mpg123 php-mode ps-print
       
   884 ;; chord-mode - edit guitar music
       
   885 ;; discography - variant of BibTeX mode for discographies
       
   886 
   940 
   887 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   941 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   888 (message "cacl, calculator")
   942 (message "cacl, calculator")
   889 
   943 
   890 (setq-default calc-group-digits t)
   944 (setq-default calc-group-digits t)
   984 ;(autoload 'LaTeX-preview-setup "preview")
  1038 ;(autoload 'LaTeX-preview-setup "preview")
   985 
  1039 
   986 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1040 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   987 (message "Info")
  1041 (message "Info")
   988 
  1042 
   989 ;; Because of Debian policy documentation covered by FDL license with invariant sections not allowed in packet
       
   990 ;; repository tree. So it must be installed manually. My usual configuration is install user local software
       
   991 ;; into ~/usr DISTDIR.
       
   992 (unless (getenv "INFOPATH")
  1043 (unless (getenv "INFOPATH")
   993   (setenv "INFOPATH" "~/usr/share/info:"))
  1044   (setenv "INFOPATH" "~/usr/share/info:"))
   994 
  1045 
       
  1046 ;; Assume that cygwin-mount already activated.
       
  1047 (when (featurep 'cygwin-mount)
       
  1048   (setenv "INFOPATH" "/usr/share/info/:~/usr/share/info/:")
       
  1049   ;; Redefine path-separator to UNIX to update Info-directory-list.
       
  1050   (let ( (path-separator ":") )
       
  1051     (require 'info)
       
  1052     (info-initialize)
       
  1053     ))
       
  1054 
   995 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1055 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   996 (message "man, woman")
  1056 (message "man, woman")
       
  1057 
       
  1058 ;; Assume that cygwin-mount already activated.
       
  1059 (when (featurep 'cygwin-mount)
       
  1060   (let ( (path (expand-file-name "~")) )
       
  1061     (when (string-match "\\([c-z]\\):/" path)
       
  1062       (setenv "MANPATH" (concat "/cygdrive/" (substring path 0 1) "/" (substring path 3) "/usr/share/man/:"))
       
  1063       ) ))
   997 
  1064 
   998 (setq woman-use-own-frame nil)
  1065 (setq woman-use-own-frame nil)
   999 (setq woman-fill-frame t)
  1066 (setq woman-fill-frame t)
       
  1067 ;; I prefer EN man pages.
       
  1068 (setq manual-program "LANG=C man")
  1000 
  1069 
  1001 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1070 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1002 (message "comint")
  1071 (message "comint")
  1003 
  1072 
  1004 ;; If non-nil, add a `/' to completed directories, ` ' to file names.
  1073 ;; If non-nil, add a `/' to completed directories, ` ' to file names.
  1005 (setq comint-completion-addsuffix t)
  1074 (setq comint-completion-addsuffix t)
  1006 ;; Non-nil means go to the end of the line before sending input.
  1075 ;; Non-nil means go to the end of the line before sending input.
  1007 (setq comint-eol-on-send t)
  1076 (setq comint-eol-on-send t)
  1008 
  1077 
  1009 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1078 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1010 (message "spell, ispell, aspell")
  1079 (message "spell, ispell, aspell, flyspell")
  1011 
  1080 
  1012 ;; Settings for spelling done in '.emacs-autogen'.
  1081 ;; Settings for spelling done in '.emacs-autogen'.
  1013 ;(add-hook 'text-mode-hook 'flyspell-mode)
  1082 
  1014 ;(setq flyspell-default-dictionary "russianw")
  1083 (add-hook 'log-edit-mode-hook 'flyspell-mode)
  1015 ;(setq flyspell-delay '1)
  1084 
       
  1085 ;; (setq-default ispell-extra-args  '("--sug-mode=ultra"))
  1016 
  1086 
  1017 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1087 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1018 (message "dict, dictd, dictionary")
  1088 (message "dict, dictd, dictionary")
  1019 
  1089 
  1020 (when (fboundp 'dict-c5-mode)
  1090 (when (fboundp 'dict-c5-mode)
  1021   (add-to-list 'auto-mode-alist '("\\.dict-c5$" . dict-c5-mode))
  1091   (add-to-list 'auto-mode-alist '("\\.dict-c5$" . dict-c5-mode))
       
  1092   )
       
  1093 
       
  1094 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
  1095 (message "figlet")
       
  1096 
       
  1097 (defun my-figlet-region (&optional b e)
       
  1098   (interactive "r")
       
  1099   (shell-command-on-region b e "figlet" (current-buffer) t)
       
  1100   (comment-region (mark) (point)))
       
  1101 
       
  1102 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
  1103 (message "jdone")
       
  1104 
       
  1105 (ignore-errors
       
  1106   (require 'jdone)
       
  1107   (jdone-setup-key-binding)
       
  1108   (jdone-integrate-hook)
  1022   )
  1109   )
  1023 
  1110 
  1024 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1111 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1025 (message "remember-mode")
  1112 (message "remember-mode")
  1026 
  1113 
  1054   (setq my-org-agenda-todo-file (concat org-directory "/TODO.org"))
  1141   (setq my-org-agenda-todo-file (concat org-directory "/TODO.org"))
  1055   (setq my-org-agenda-note-file (concat org-directory "/NOTE.org"))
  1142   (setq my-org-agenda-note-file (concat org-directory "/NOTE.org"))
  1056   (setq org-agenda-files `(,my-org-agenda-todo-file ,my-org-agenda-note-file))
  1143   (setq org-agenda-files `(,my-org-agenda-todo-file ,my-org-agenda-note-file))
  1057   (define-key global-map "\C-ca" 'org-agenda)
  1144   (define-key global-map "\C-ca" 'org-agenda)
  1058   (define-key global-map "\C-ce" (lambda nil (interactive) (find-file my-org-agenda-note-file)))
  1145   (define-key global-map "\C-ce" (lambda nil (interactive) (find-file my-org-agenda-note-file)))
  1059   ;; I expect that these bindings work in all mode, Org mode use own, so redefine:
       
  1060   (define-key org-mode-map [C-S-right] 'forward-word-mark)
       
  1061   (define-key org-mode-map [C-S-left] 'backward-word-mark)
       
  1062   (define-key org-mode-map [S-up] 'previous-line-mark)
       
  1063   (define-key org-mode-map [S-down] 'next-line-mark)
       
  1064 
  1146 
  1065   ;; My tags for remember buffer.
  1147   ;; My tags for remember buffer.
  1066   (setq org-tag-persistent-alist
  1148   (setq org-tag-persistent-alist
  1067         '(
  1149         '(
  1068           ("ADMIN" . ?a)
  1150           ("ADMIN" . ?a)
  1095   ;;       '(("TODO" . (:foreground "red" :weight bold))
  1177   ;;       '(("TODO" . (:foreground "red" :weight bold))
  1096   ;;         ("WAIT" . (:foreground "orange" :weight bold))
  1178   ;;         ("WAIT" . (:foreground "orange" :weight bold))
  1097   ;;         ("DONE" . (:foreground "green" :weight bold))) )
  1179   ;;         ("DONE" . (:foreground "green" :weight bold))) )
  1098   )
  1180   )
  1099 
  1181 
       
  1182 (setq org-agenda-include-diary t)
       
  1183 
  1100 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1184 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1101 (message "TODO, XXX, FIXME highlight")
  1185 (message "TODO, XXX, FIXME highlight")
  1102 ;; Show blanks and FIXME
  1186 ;; Show blanks and FIXME
  1103 ;; http://www.emacswiki.org/cgi-bin/wiki/EightyColumnRule
  1187 ;; http://www.emacswiki.org/cgi-bin/wiki/EightyColumnRule
  1104 
  1188 
  1127 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1211 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1128 (message "fortune")
  1212 (message "fortune")
  1129 (setq fortune-file "~/XXX")
  1213 (setq fortune-file "~/XXX")
  1130 
  1214 
  1131 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1215 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1132 (message "mail, mh-e")
  1216 (message "mail, message")
       
  1217 
       
  1218 (setq mail-user-agent 'message-user-agent)
       
  1219 
       
  1220 (setq message-citation-line-format "On %Y-%m-%d, %N wrote:
       
  1221 ")
       
  1222 (setq message-citation-line-function 'message-insert-formatted-citation-line)
  1133 
  1223 
  1134 (setq mail-signature t)
  1224 (setq mail-signature t)
  1135 (setq mail-signature-file "~/.signature")
  1225 (setq mail-signature-file "~/.signature")
  1136 ;; (add-hook 'mail-setup-hook 'fortune-to-signature)
  1226 ;; (add-hook 'mail-setup-hook 'fortune-to-signature)
  1137 
  1227 
       
  1228 ;; (setq mail-from-style 'angles)
       
  1229 
       
  1230 (setq mail-personal-alias-file "~/.mailrc")
       
  1231 ;; Initialize from your mail aliases file...
       
  1232 (setq mail-aliases t)
       
  1233 (require 'ecomplete)
       
  1234 (setq message-mail-alias-type '(abbrev ecomplete))
       
  1235 
       
  1236 (eval-after-load 'message
       
  1237   '(progn
       
  1238      (require 'mailabbrev)
       
  1239      (define-key message-mode-map "\e\t" 'mail-abbrev-complete-alias)
       
  1240      ))
       
  1241 
       
  1242 (defun my-message-setup-routine ()
       
  1243   (flyspell-mode 1)
       
  1244   )
       
  1245 (add-hook 'message-setup-hook 'my-message-setup-routine)
       
  1246 
       
  1247 ;; Kill message buffer after mail send. You always can use C-c C-s to preserve it.
       
  1248 (setq message-kill-buffer-on-exit t)
       
  1249 
       
  1250 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
  1251 (message "smtp, smtpmail")
       
  1252 
       
  1253 (when (boundp 'smtpmail-smtp-server)
       
  1254   (require 'smtpmail)
       
  1255   (setq
       
  1256    ;; If you use the default mail user agent.
       
  1257    send-mail-function 'smtpmail-send-it
       
  1258    ;; If you use Message or Gnus.
       
  1259    message-send-mail-function 'smtpmail-send-it
       
  1260    )
       
  1261   )
       
  1262 ;; (setq smtpmail-debug-verb t)
       
  1263 ;; (setq smtpmail-debug-info t)
       
  1264 
       
  1265 (defun my-message-mode-hook ()
       
  1266   (setq fill-column 78)
       
  1267   (turn-on-auto-fill)
       
  1268   )
       
  1269 (add-hook 'message-mode-hook 'my-message-mode-hook)
       
  1270 
       
  1271 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
  1272 (message "gnus, mh-e")
       
  1273 
       
  1274 (setq gnus-site-init-file "~/.gnus.el")
       
  1275 
       
  1276 ;; Store gnus specific files to '~/.gnus'.
       
  1277 (setq
       
  1278  gnus-directory "~/.gnus"
       
  1279  gnus-agent-directory "~/.gnus/agent/"
       
  1280  gnus-article-save-directory "~/.gnus/saved"
       
  1281  gnus-kill-files-directory "~/.gnus/scores"
       
  1282  gnus-cache-directory "~/.gnus/cache"
       
  1283  mail-source-directory "~/.gnus/mail"
       
  1284  message-directory "~/.gnus/mail"
       
  1285  message-auto-save-directory "~/.gnus/autosave"
       
  1286  ;; message-signature-directory
       
  1287  mailcap-download-directory  "~/.gnus/mailcap"
       
  1288  nnml-directory "~/.gnus/nnml-mail"
       
  1289  spam-directory "~/.gnus/spam/"
       
  1290  smime-certificate-directory "~/.gnus/certs/"
       
  1291  nnfolder-directory "~/.gnus/archive"
       
  1292  nnfolder-active-file "~/.gnus/archive/active"
       
  1293 )
       
  1294 
       
  1295 ;; Remove gnus-ignored-newsgroups to show all GMail folders.
       
  1296 (setq gnus-ignored-newsgroups nil)
       
  1297 
       
  1298 ;; (require 'spam)
       
  1299 ;; (setq gnus-spam-process-newsgroups
       
  1300 ;;       '(("^gmane\\."
       
  1301 ;;          ((spam spam-use-gmane)))))
       
  1302 
       
  1303 (setq
       
  1304  gnus-novice-user nil
       
  1305  gnus-expert-user nil
       
  1306  gnus-interactive-catchup t
       
  1307  gnus-interactive-exit t
       
  1308  )
       
  1309 
       
  1310 (setq
       
  1311  gnus-read-active-file nil
       
  1312  gnus-check-new-newsgroups nil
       
  1313  gnus-check-bogus-newsgroups nil
       
  1314  )
       
  1315 
       
  1316 ;; (setq 'gnus-use-cache t)
       
  1317 (setq gnus-use-long-file-name t)
       
  1318 (setq gnus-use-long-file-name t)
       
  1319 (setq gnus-cache-remove-articles '(read))
       
  1320 
       
  1321 ;; If you're spooling in overlapping mbox folders, you probably want to delete
       
  1322 ;; all messages with duplicate message IDs.
       
  1323 (setq nnmail-treat-duplicates 'delete)
       
  1324 
       
  1325 ;; Do not use the html part of a message, use the text part if possible!
       
  1326 (setq mm-discouraged-alternatives '("text/html" "text/richtext"))
       
  1327 
       
  1328 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
       
  1329 
       
  1330 (setq
       
  1331  gnus-posting-styles
       
  1332  '(
       
  1333    (".*"
       
  1334     (organization "At home.")
       
  1335     (signature-file "~/.signature")
       
  1336     )
       
  1337    ))
       
  1338 
       
  1339 ;; `gnus-group-line-format', `gnus-summary-line-format',
       
  1340 ;; `gnus-server-line-format', `gnus-topic-line-format',
       
  1341 ;; `gnus-group-mode-line-format', `gnus-summary-mode-line-format',
       
  1342 ;; `gnus-article-mode-line-format', `gnus-server-mode-line-format',
       
  1343 ;; `gnus-summary-pick-line-format'.
       
  1344 
       
  1345 (when window-system
       
  1346   (setq
       
  1347    gnus-sum-thread-tree-false-root ""
       
  1348    gnus-sum-thread-tree-indent " "
       
  1349    gnus-sum-thread-tree-leaf-with-other "├► "
       
  1350    gnus-sum-thread-tree-root ""
       
  1351    gnus-sum-thread-tree-single-leaf "└► "
       
  1352    gnus-sum-thread-tree-vertical "│"
       
  1353    ))
       
  1354 
       
  1355 (setq gnus-user-date-format-alist '((t . "%Y-%m-%d %H:%M")))
       
  1356 (setq gnus-summary-line-format "%U%R%z %&user-date; %B %[%-22,22f%] %s\n")
       
  1357 (setq gnus-summary-mode-line-format "Gnus: %p %Z")
       
  1358 
       
  1359 (setq gnus-article-time-format "%Y-%m-%d %T%z %a")
       
  1360 (setq gnus-article-date-headers '(combined-lapsed user-defined))
       
  1361 
       
  1362 ;; gnus-visible-headers
       
  1363 (setq
       
  1364  gnus-sorted-header-list
       
  1365  '(
       
  1366    "^From:"
       
  1367    "^Subject:"
       
  1368    "^Summary:"
       
  1369    "^Keywords:"
       
  1370    "^Newsgroups:"
       
  1371    "^Followup-To:"
       
  1372    "^To:"
       
  1373    "^Cc:"
       
  1374    "^Organization:"
       
  1375    "^Date:"
       
  1376    "^User-Agent:"
       
  1377    "^X-Mailer:"
       
  1378    "^X-Newsreader:"
       
  1379    ))
       
  1380 
       
  1381 (setq
       
  1382  gnus-show-threads t
       
  1383  gnus-thread-sort-functions '(gnus-thread-sort-by-date gnus-thread-sort-by-total-score)
       
  1384  )
       
  1385 
       
  1386 ;; Scoring, adaptive score.
       
  1387 (setq
       
  1388  gnus-use-scoring t
       
  1389  gnus-save-score t
       
  1390  gnus-use-adaptive-scoring t
       
  1391  gnus-score-expiry-days 60
       
  1392  gnus-decay-scores t
       
  1393  gnus-default-adaptive-score-alist
       
  1394  '(
       
  1395    (gnus-unread-mark)
       
  1396    (gnus-ticked-mark (subject 5))
       
  1397    (gnus-dormant-mark (subject 5))
       
  1398    (gnus-del-mark (from -2) (subject -5))
       
  1399    (gnus-read-mark (from 2) (subject 1))
       
  1400    (gnus-killed-mark (subject -5))
       
  1401    (gnus-catchup-mark (subject -1))
       
  1402    (gnus-kill-file-mark (from -9999))
       
  1403    )
       
  1404  )
       
  1405 ;; Increase the score for followups to a sent article.
       
  1406 (eval-after-load 'gnus-score
       
  1407   '(progn
       
  1408      (add-hook 'message-sent-hook 'gnus-score-followup-article)
       
  1409      (add-hook 'message-sent-hook 'gnus-score-followup-thread)
       
  1410      ))
       
  1411 
       
  1412 ;; (setq gnus-home-score-file
       
  1413 ;;       ;; All groups that match the regexp `"\\.emacs"'
       
  1414 ;;       '(("\\.emacs" "emacs.SCORE")
       
  1415 ;;         ;; All the comp groups in one score file
       
  1416 ;;         ("^comp" "comp.SCORE")))
       
  1417 
       
  1418 ;; (setq imap-log t)
       
  1419 
  1138 ;; (setq mail-user-agent 'mh-e-user-agent)
  1420 ;; (setq mail-user-agent 'mh-e-user-agent)
       
  1421 
       
  1422 (custom-set-faces '(gnus-summary-cancelled ((t (:foreground "plum" :background nil)))) )
       
  1423 
       
  1424 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
  1425 (message "bbdb")
       
  1426 
       
  1427 (setq
       
  1428  bbdb-offer-save 1
       
  1429  bbdb-use-pop-up t
       
  1430  bbdb-electric-p t
       
  1431  bbdb-popup-target-lines  1
       
  1432  )
       
  1433 
       
  1434 (setq bbdb-complete-name-full-completion t)
       
  1435 (setq bbdb-completion-type 'primary-or-name)
       
  1436 (setq bbdb-complete-name-allow-cycling t)
       
  1437 
       
  1438 (setq bbdb-file "~/.gnus/bbdb")
       
  1439 
       
  1440 ;; (bbdb-initialize 'gnus 'message)
       
  1441 ;; (bbdb-insinuate-message)
       
  1442 ;; (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
       
  1443 
  1139 
  1444 
  1140 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1445 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1141 (message "jabber")
  1446 (message "jabber")
  1142 
  1447 
  1143 (autoload 'jabber-connect-all "jabber")
  1448 (autoload 'jabber-connect-all "jabber")
  1292      (320 . "#2780C6")
  1597      (320 . "#2780C6")
  1293      (340 . "#1A00D3")
  1598      (340 . "#1A00D3")
  1294      (360 . "#0D80E0")))
  1599      (360 . "#0D80E0")))
  1295   )
  1600   )
  1296 
  1601 
       
  1602 (defun my-log-edit-mode-hook ()
       
  1603   (setq fill-column 78)
       
  1604   )
       
  1605 (add-hook 'log-edit-mode-hook 'my-log-edit-mode-hook t)
       
  1606 
  1297 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1607 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1298 (message "psvn")
  1608 (message "psvn")
  1299 
  1609 
  1300 (setq svn-status-verbose t)
  1610 (setq svn-status-verbose t)
  1301 (setq svn-status-hide-unmodified t)
  1611 (setq svn-status-hide-unmodified t)
  1496 (add-to-list 'auto-mode-alist '("\\.inf\\'" . conf-mode))
  1806 (add-to-list 'auto-mode-alist '("\\.inf\\'" . conf-mode))
  1497 
  1807 
  1498 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1808 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1499 (message "makefile, make")
  1809 (message "makefile, make")
  1500 
  1810 
  1501 (add-to-list 'auto-mode-alist '("\\(Makefile\\|Makefile\\..+\\)\\'" . makefile-gmake-mode))
  1811 (add-to-list 'auto-mode-alist '("\\(Makefile\\|Makefile\\..+\\)\\'" . makefile-gmake-mode) t)
  1502 
  1812 
  1503 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1813 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1504 (message "asm, assembler")
  1814 (message "asm, assembler")
  1505 
  1815 
  1506 ;; (setq-default asm-comment-char 59)
  1816 ;; (setq-default asm-comment-char 59)
  1555 
  1865 
  1556 (setq c-echo-syntactic-information-p t)
  1866 (setq c-echo-syntactic-information-p t)
  1557 
  1867 
  1558 (defun my-c-mode-common-hook ()
  1868 (defun my-c-mode-common-hook ()
  1559   ;; Automatically inserte newlines after special characters such as brace, comma, semi-colon, and colon.
  1869   ;; Automatically inserte newlines after special characters such as brace, comma, semi-colon, and colon.
  1560   (c-toggle-auto-newline 1)
  1870   (c-toggle-auto-newline -1)
  1561   ;; Delete all preceding whitespace by DEL.
  1871   ;; Delete all preceding whitespace by DEL.
  1562   (c-toggle-hungry-state -1)
  1872   (c-toggle-hungry-state -1)
  1563   ;; Auto indent after typing colon according to `c-hanging-colons-alist'.
  1873   ;; Auto indent after typing colon according to `c-hanging-colons-alist'.
  1564   (c-toggle-electric-state 1)
  1874   (c-toggle-electric-state 1)
  1565   )
  1875   )
  1786              (cons
  2096              (cons
  1787               my-html-template
  2097               my-html-template
  1788               (my-filter
  2098               (my-filter
  1789                (lambda (item) (not (equal (car item) "html")))
  2099                (lambda (item) (not (equal (car item) "html")))
  1790                html-tag-alist)))
  2100                html-tag-alist)))
       
  2101        (add-to-list 'html-tag-alist '("script" (\n) ("type" "text/javascript") ))
       
  2102        (add-to-list 'html-tag-alist '("style" (\n) ("type" "text/css") ))
  1791      )))
  2103      )))
  1792 
  2104 
  1793 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2105 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1794 (message "sh, bash")
  2106 (message "sh, bash")
  1795 
  2107 
  1840 ;; Note: if you kill unsaved file auto save file not deleted.
  2152 ;; Note: if you kill unsaved file auto save file not deleted.
  1841 (setq delete-auto-save-files t)
  2153 (setq delete-auto-save-files t)
  1842 
  2154 
  1843 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2155 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1844 ;; Save and restore my buffers every time.
  2156 ;; Save and restore my buffers every time.
  1845 (setq desktop-dirname "~/.emacs.d")
  2157 
       
  2158 (setq desktop-base-file-name ".emacs.desktop")
       
  2159 (setq desktop-base-lock-name ".emacs.desktop.lock")
       
  2160 (when (eq system-type 'cygwin)
       
  2161   (setq desktop-base-file-name ".emacs.desktop-cygwin")
       
  2162   (setq desktop-base-lock-name ".emacs.desktop-cygwin.lock")
       
  2163   )
       
  2164 
  1846 (when (>= emacs-major-version 22)
  2165 (when (>= emacs-major-version 22)
  1847   (desktop-save-mode 1)
  2166   (desktop-save-mode 1)
  1848   )
  2167   )
  1849 
  2168 
  1850 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2169 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;