--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.emacs-my Wed Apr 23 22:13:48 2008 +0300
@@ -0,0 +1,912 @@
+;; -*- mode: lisp; coding: cp1251 -*-
+;;
+;; Copyright (C) 2008 by Gavenko Oleksandr
+;; Copyright (C) 2008 by Гавенко Алескандр
+;;
+;; ~/.emacs file for GNU Emacs 21.
+
+;; silent runing
+(setq inhibit-startup-message t)
+
+;; ======================================================================
+;; Debugging.
+
+;; Shut off message buffer by setting nil. Note - if you need to debug emacs,
+;; comment these out so you can see what's going on.
+(setq message-log-max 100)
+
+;;(add-hook 'after-init-hook
+;; '(lambda () (setq debug-on-error t)))
+;;(debug-on-entry 'command-line-1)
+
+;; Set the debug option to enable a backtrace when a problem occurs.
+(setq debug-on-error nil) ; t/nil
+
+;; ======================================================================
+;; Load path.
+(setq my-el-dir (expand-file-name "~/.el"))
+(add-to-list 'load-path my-el-dir)
+
+;; ======================================================================
+;; GNU Serv.
+
+;; (load "~/emacs/bin/gnuserv/gnuserv.el")
+;; (require 'gnuserv)
+;; (setq gnuserv-frame (selected-frame))
+
+(server-start)
+
+;; (desktop-load-default)
+;; (desktop-read)
+
+;; ======================================================================
+;; Настройка внешнего вида редактора.
+;; View.
+
+; remove menu on nil
+(menu-bar-mode nil) ; t/nil
+; remove button on nil
+(tool-bar-mode nil) ; t/nil
+
+(if window-system
+ ;; Для X-window и Win
+ (progn
+ ;; size of emacs area and position
+ (set-frame-height (selected-frame) 52)
+ (set-frame-width (selected-frame) 130)
+ (set-frame-position (selected-frame) 30 15)
+
+ ;;установка цветов экрана
+ (set-background-color "white")
+ (set-foreground-color "black")
+ ;;установка режимов работы курсора
+ (set-cursor-color "brown")
+ ;;(setq blink-matching-delay 0.01)
+ ;; курсор не мигает!
+ ;; (blink-cursor-mode nil)
+ ;; (set-face-font 'default "7x14")
+ )
+ ;; Для tty
+ (progn
+ )
+)
+
+;; ======================================================================
+;; Standart settings
+
+;прикрепляет к каждому окну полоску прокрутки t/nil
+(scroll-bar-mode t)
+
+;; удаляем строку целиком
+(setq kill-whole-line t)
+
+;; show column & line numbers in status bar
+(setq column-number-mode t)
+(setq line-number-mode t)
+
+;; ----------------------------------------------------------------------
+;; Scrolling
+
+;; гладкий скроллинг с полями
+;; (setq-default scroll-conservatively 70)
+;; (setq-default scroll-preserve-screen-position 't)
+;; при перемешении точка останавливается на расстоянии i строк к границе фрейма,
+;; далее скролиться текст
+;; (setq scroll-margin 2)
+
+;; ----------------------------------------------------------------------
+;; *Text*
+(setq default-major-mode 'text-mode)
+(add-hook 'text-mode-hook 'turn-on-auto-fill)
+
+;; ----------------------------------------------------------------------
+;; Show marked text
+(setq transient-mark-mode t)
+(setq font-lock-maximum-decoration t)
+;; syntax highlighting
+(global-font-lock-mode 1 t)
+
+;; ----------------------------------------------------------------------
+;; Line
+(if window-system
+ (progn
+ (global-hl-line-mode t)
+ (custom-set-faces '(hl-line ((t (:inherit highlight :background "light yellow")))))
+ )
+ )
+
+;; ----------------------------------------------------------------------
+;; Paren
+
+(show-paren-mode 1) ; Parenthesis matching via highlighting.
+;; (setq show-paren-style 'expression) ; выделять все выражение в скобках
+(setq show-paren-style (quote parenthesis))
+
+;; ======================================================================
+;; Keyboard, mouse and selection
+
+(setq default-input-method 'cyrillic-jcuken)
+;; (pc-bindings-mode) ; Myself define keybinding, see
+;; Настройка выделения "как в Windows"
+(setq pc-select-selection-keys-only t) ; to avoid some key bindings as F6, etc
+(pc-selection-mode) ; This mode enables Delete Selection mode and Transient Mark mode.
+(transient-mark-mode t) ; t/nil, when the mark is active, the region is highlighted
+(delete-selection-mode t) ; t/nil
+
+;; ----------------------------------------------------------------------
+;; Completition
+(partial-completion-mode t) ; For example, M-x p-c-m expands to M-x partial-completion-mode
+
+;; ----------------------------------------------------------------------
+;; Mouse
+
+;; Scroll Bar gets dragged by mouse butn 1
+(global-set-key [vertical-scroll-bar down-mouse-1] 'scroll-bar-drag)
+;; Paste at point NOT at cursor
+(setq mouse-yank-at-point 't)
+(mouse-wheel-mode 1)
+
+;; ----------------------------------------------------------------------
+;; Key Binding (Short-keys).
+
+(global-set-key [home] 'beginning-of-line)
+(global-set-key [end] 'end-of-line)
+(global-set-key [C-home] 'beginning-of-buffer)
+(global-set-key [C-end] 'end-of-buffer)
+(global-set-key [C-delete] 'kill-word)
+(global-set-key [delete] 'delete-char)
+;; (global-set-key [backspace] 'backward-delete-char-untabify) ; not work properly in *info* mode
+
+;; setting some f[1-12] keys
+(global-set-key [f1] 'help)
+(global-set-key [f2] 'save-buffer)
+;; (global-set-key [xxx] 'ediff-buffers)
+(global-set-key [f4] 'ispell-buffer)
+(global-set-key [f8] 'kill-this-buffer)
+(global-set-key [M-f4] 'save-buffers-kill-emacs)
+(global-set-key [f6] 'toggle-truncate-lines)
+
+;; search
+(global-set-key [f3] 'search-forward)
+(global-set-key [S-f3] 'search-backward)
+;; *Occur*
+(global-set-key (kbd "\e\eo") 'occur)
+
+;; frames, windows manipulation, switch buffers
+(global-set-key [C-tab] 'other-window)
+(global-set-key [?\C-x right] 'next-buffer)
+(global-set-key [?\C-x left] 'previous-buffer)
+
+(global-set-key (kbd "C-x C-d") 'dired)
+
+(global-set-key (kbd "\e\eg") 'goto-line)
+(global-set-key (kbd "\e\er") 'query-replace-regexp)
+
+;; (global-set-key [language-change] 'ignore)
+
+(global-set-key (kbd "C-x C-d") 'dired)
+
+;; ======================================================================
+;; Coding system, charset, locale, lang.
+
+; Подготовка к использованию соответствующих кодовых страниц.
+(codepage-setup 866)
+(codepage-setup 1251)
+
+;; (setq-default coding-system-for-read 'cp1251-dos) ; comment because prefer-coding-system will be ignored
+;; (setq-default coding-system-for-write 'cp1251-dos) ;
+
+;; (setq locale-coding-system 'cp1251-dos)
+;; (set-terminal-coding-system 'cp1251)
+;; (set-keyboard-coding-system 'cp1251)
+
+(prefer-coding-system 'koi8-r-dos)
+(prefer-coding-system 'utf-16-le)
+(prefer-coding-system 'cp866-dos)
+
+(modify-coding-system-alist 'file "\\.el" 'iso-2022-7bit)
+(if (equal window-system 'w32)
+ (progn
+ (set-selection-coding-system 'cp1251)
+ (prefer-coding-system 'utf-8-unix)
+ (prefer-coding-system 'cp1251-dos)
+ (modify-coding-system-alist 'file "\\.[ch]$" 'cp1251)
+ (modify-coding-system-alist 'file "[Mm]akefile.*$" 'cp1251)
+ )
+ (progn
+ (set-selection-coding-system 'utf-8-unix)
+ (prefer-coding-system 'cp1251-dos)
+ (prefer-coding-system 'utf-8-unix)
+ (modify-coding-system-alist 'file "\\.[ch]$" 'cp1251-unix)
+ (modify-coding-system-alist 'file "[Mm]akefile.*$" 'cp1251-unix)
+ (modify-coding-system-alist 'process ".*" 'utf-8-unix)
+ )
+ )
+
+;; XXXXXXXXXXXXXXXXXXXXXXXX
+
+;; To open from command line file, which names has extended opcode
+;; (set-file-name-coding-system 'cp1251)
+
+;; (set-language-environment "Russian")
+
+;; ======================================================================
+;;
+;; NON-STANDARD VARIABLES
+
+(defvar emacs-base-dir
+ (expand-file-name "~/emacs")
+ "*Name of directory where emacs instaled.")
+
+;; ======================================================================
+;;
+;; STANDARD VARIABLES
+
+(if (boundp 'confirm-kill-emacs)
+ (setq confirm-kill-emacs 'yes-or-no-p))
+
+;; Try to speed things up, especially in VM.
+(setq gc-cons-threshold 2000000)
+
+;; Don't beep in my headphones!
+;; (setq visible-bell t) ; XXX in text terminal revert screen if press [end] or [home]
+
+(setq ange-ftp-generate-anonymous-password
+ user-mail-address)
+
+;; Prompt before evaluating local bits of lisp. This stops people
+;; putting things at the end of files which delete all your files!
+(setq enable-local-variables t
+ enable-local-eval 1)
+
+;; ======================================================================
+;;
+;; STANDARD LIBRARIES
+
+(require 'jka-compr) ; Automatic decompression, hooks for tar-mode.
+(if (fboundp 'auto-compression-mode)
+ (auto-compression-mode 1))
+
+;; ======================================================================
+;; Save
+(setq auto-save-default nil)
+
+;; ----------------------------------------------------------------------
+;; *Recentf*
+;; Recent files in menu
+(require 'recentf)
+(recentf-mode t)
+(setq recentf-max-saved-items 200)
+(global-set-key (kbd "\e\eq") 'recentf-open-files)
+
+;; ----------------------------------------------------------------------
+;; revert
+(global-set-key [f5] 'revert-buffer)
+(setq revert-without-query (quote (".*")))
+(setq auto-revert-interval 2)
+
+;; ======================================================================
+;; Convenient
+
+;; ----------------------------------------------------------------------
+;; Completion
+(require 'icomplete) ; Interactive completion in minibuffer.
+(icomplete-mode) ; Toggle incremental minibuffer completion for this Emacs session.
+;; может дополнять несколько слов одновременно
+(load "complete")
+(setq completion-ignored-extensions (quote ("CVS/" ".o" "~" ".bin" ".bak" ".obj" ".map" ".a" ".ln" ".blg" ".bbl" ".elc"
+ ".lof" ".glo" ".idx" ".lot" ".fmt" ".tfm" ".class" ".fas" ".lib" ".x86f" ".sparcf"
+ ".lo" ".la" ".toc" ".log" ".aux" ".cp" ".fn" ".ky" ".pg" ".tp" ".vr" ".cps"
+ ".fns" ".kys" ".pgs" ".tps" ".vrs")))
+
+
+;; ----------------------------------------------------------------------
+;; *grep*
+(setq grep-command "find . -name '*' -exec grep -nH '' {} ;"
+ grep-find-command "find . -type f ! -path '*.svn*' ! -path '*CVS*' ! -path '*.hg*' -name '*' -print0 | xargs -0 -e grep -nH "
+ grep-highlight-matches nil ; do not set t because some grep do not has --color options
+ grep-tree-command "find <D> <X> -type f <F> -print0 | xargs -0 -e grep <C> -nH <R>"
+ grep-use-null-device t)
+(setq blink-matching-paren-on-screen t)
+
+;; ----------------------------------------------------------------------
+;; Music
+(setq gnus-audio-au-player "winamp.exe"
+ gnus-audio-directory "D:\\music"
+ gnus-audio-wav-player "winamp.exe")
+
+
+;; ======================================================================
+;; TIME SETTING
+
+;; ----------------------------------------------------------------------
+;; Time
+;;
+;; Time in 24 hour format, plus day and date.
+;; (setq display-time-day-and-date t
+;; display-time-24hr-format t
+;; display-time-use-mail-icon t
+;; display-time-day-and-date t
+;; display-time-mail-file nil)
+;; (display-time)
+
+;; ----------------------------------------------------------------------
+;; 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)))))
+;; (setq calendar-time-display-form (quote (24-hours ":" minutes (if time-zone " (") time-zone (if time-zone ")"))))
+;; (setq calendar-week-start-day 1)
+;; (setq european-calendar-style t)
+
+;; ======================================================================
+;;
+;; STANDARD HOOKS
+
+(add-hook 'write-file-hooks 'time-stamp)
+
+;; ======================================================================
+;; *auto-fill*
+
+(setq-default fill-column 90)
+;; Turn on auto-fill mode
+(add-hook 'html-mode-hook 'turn-on-auto-fill)
+(global-set-key (kbd "\e\ef") 'auto-fill-mode)
+
+;; ----------------------------------------------------------------------
+;; DESIRE
+
+;; (require 'desire)
+
+;; (add-to-list 'desire-load-path
+;; (expand-file-name "~/share/emacs/desire"))
+;; (add-to-list 'auto-mode-alist
+;; (cons (concat (regexp-quote desire-extension) "\\'")
+;; 'emacs-lisp-mode))
+
+;; ----------------------------------------------------------------------
+
+;; Pilot support
+;; (desire 'pilot)
+
+;; ----------------------------------------------------------------------
+
+;; BBDB - Must be loaded before most other things, since other things
+;; may perform special configuration if BBDB is present.
+;;
+;; (desire 'bbdb "bbdb")
+
+;; ----------------------------------------------------------------------
+;; Appointments, diary, calendar.
+;;
+;; Use "M-x calendar RET" to display the calendar and start
+;; appointment warnings.
+
+;; (desire 'appt)
+;; (desire 'calendar)
+;; (desire 'todo-mode)
+;; (desire 'diary "diary-lib")
+
+;; ----------------------------------------------------------------------
+
+;; These provide options for the various message handling packages.
+;; (desire 'browse-url)
+;; (desire 'mailcrypt)
+;; (desire 'supercite)
+
+;; Message handing packages.
+;; (desire 'gnus)
+;; (desire 'message)
+;; (desire 'vm)
+;; (desire 'sendmail)
+
+;; ----------------------------------------------------------------------
+
+;; Miscellaneous
+
+;; (desire 'abbrev)
+;; (desire 'bibtex)
+;; (desire 'calc)
+;; (desire 'cc-mode)
+;; (desire 'ediff)
+;; (desire 'eiffel-mode)
+;; (desire 'emacs-w3m)
+;; (desire 'eudc)
+;; (desire 'filladapt)
+;;;; (desire 'hugs-mode)
+;; (desire 'haskell-mode)
+;; (desire 'ispell)
+;; (desire 'latex)
+;; (desire 'lispdir)
+;; (desire 'mpg123)
+;; (desire 'php-mode)
+;; (desire 'ps-print)
+;; (desire 'psgml)
+;; (desire 'sh-script)
+;; (desire 'shell)
+;;; (desire 'sql-mode)
+;; (desire 'tex)
+;; (desire 'w3)
+
+;; ======================================================================
+;;
+;; PERSONAL
+
+;; (require 'chord-mode) ; edit guitar music.
+;; (require 'discography) ; variant of BibTeX mode for discographies.
+
+;; ======================================================================
+;;
+;; unNOVICEd commands...
+;;
+;; The following commands are usually disabled by default. Enable
+;; them...
+
+(put 'eval-expression 'disabled nil)
+(put 'downcase-region 'disabled nil)
+(put 'upcase-region 'disabled nil)
+(put 'narrow-to-page 'disabled nil)
+(put 'narrow-to-region 'disabled nil)
+
+;; ======================================================================
+;; TEX
+(setq tex-run-command "initex")
+
+
+;; ======================================================================
+;; AUC TeX
+
+;; (load "tex-site")
+
+;(require 'tex-mik)
+;(add-hook 'LaTeX-mode-hook 'LaTeX-install-toolbar)
+;; (setq TeX-parse-self t) ; Enable parse on load.
+;; (setq TeX-auto-save t) ; Enable parse on save.
+;; (setq-default TeX-master nil) ; Query for master file. Finally, if you often use \include or \input, you should make AUCTEX aware of the multi-file document structure
+
+;(setq TeX-PDF-mode t)
+;(setq TeX-interactive-mode t)
+;(setq TeX-source-specials-mode 1)
+;(load "tex-site")
+;(load "tex-mik")
+
+;;модифицируем меню
+;;; some more menu entries in the command list:
+;;; see tex-mik.el from package auctex: %v is defined in tex-mik.el
+;;; other variables are defined in tex.el from auctex
+;;; the meaning of some auctex-varibles:
+ ;symbols defined in tex.el and tex-mik.el:
+ ;%b name slave tex-file %t name master tex-file
+ ;%d dvi-file %f ps-file
+ ;%l "latex --src-specials"
+ ;%n line number %p printcommand %q "lpq"
+ ;%r (TeX-style-check TeX-print-style)
+ ;%s master-file-name without extention
+ ;%v yap command view line
+;(eval-after-load "tex"
+; '(progn
+; (add-to-list 'TeX-command-list
+; (list "->PS landscape for pdf"
+; "dvips %d -N0 -Ppdf -G0 -T 297mm,210mm -o %f "
+; 'TeX-run-command nil t))
+; (add-to-list 'TeX-command-list
+; (list "All Texify run-viewer"
+; "texify --tex-opt=--src --run-viewer --clean %s.tex"
+; 'TeX-run-command nil t))))
+
+
+;; ======================================================================
+;;
+;; Reftex activation (Reftex is included with Emacs 21.1)
+
+;; (autoload 'reftex-mode "reftex" "RefTeX Minor Mode" t)
+;; (autoload 'turn-on-reftex "reftex" "RefTeX Minor Mode" nil)
+;; (autoload 'reftex-citation "reftex-cite" "Make citation" nil)
+;; (autoload 'reftex-index-phrase-mode "reftex-index" "Phrase mode" t)
+;; (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode
+;; (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode
+
+;; ======================================================================
+;;
+;;Настройки PreviewLatex
+
+;(load "preview-latex.el" nil t t)
+
+;(add-hook 'LaTeX-mode-hook #'LaTeX-preview-setup)
+;(autoload 'LaTeX-preview-setup "preview")
+
+
+;; ======================================================================
+;;
+;; Info
+
+(require 'info)
+(if (equal window-system 'w32)
+ (progn
+ (setq Info-directory-list (list (expand-file-name "~/../bin/emacs/info")))
+ (add-to-list 'Info-directory-list (expand-file-name "~/../bin/MinGW/info") t) ; t - append to the end
+ ))
+
+;; ======================================================================
+;;
+;; SHELL
+
+;; If you plan to use the bash shell, add the following lines to your .emacs file:
+;; (setq binary-process-input t)
+;; (setq w32-quote-process-args ?\")
+;; (setq shell-file-name "bash") ;; or sh if you rename your bash executable to sh.
+;; (setenv "SHELL" shell-file-name)
+;; (setq explicit-shell-file-name shell-file-name)
+;; (setq explicit-sh-args '("-login" "-i"))
+
+;; Include the following only if you want to run
+;; bash as your shell.
+
+;; Setup Emacs to run bash as its primary shell.
+;; (setq shell-file-name "bash")
+;; (setq shell-command-switch "-c")
+;; (setq explicit-shell-file-name shell-file-name)
+;; (setenv "SHELL" shell-file-name)
+;; (setq explicit-sh-args '("-login" "-i"))
+;; (if (boundp 'w32-quote-process-args)
+;; (setq w32-quote-process-args ?\")) ;; Include only for MS Windows.
+
+;; (setq sh-shell-file "D:\\home\\cygwin\\bin\\sh.exe")
+;; (setq sh-shell-arg (quote ((bash) (csh . "-f") (pdksh) (ksh88) (rc . "-p") (wksh) (zsh . "-f") (sh . "-i"))))
+(setq explicit-bash-args (quote ("-login" "-i")))
+
+
+(if (equal window-system 'w32)
+ (progn
+ (setq auto-mode-alist
+ (append
+ (list (cons "\\.[bB][aA][tT]$" 'bat-mode))
+ ;; For DOS init files
+ (list (cons "CONFIG\\." 'bat-mode))
+ (list (cons "AUTOEXEC\\." 'bat-mode))
+ auto-mode-alist))
+ (require 'bat-mode)
+ )
+ )
+
+;; ======================================================================
+;;
+;; Spell
+
+;(setq ispell-dictionary "russianw"); default dictionary
+;(setq ispell-local-dictionary "russianw"); default dictionary
+;(add-hook 'text-mode-hook 'flyspell-mode)
+;(setq flyspell-default-dictionary "russianw")
+;(setq flyspell-delay '1)
+;; (setq ispell-local-dictionary-alist
+;; '((nil ; default (english.aff)
+;; "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1)
+;; ("UK-xlg" ; english large version
+;; "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "UK-xlg") nil iso-8859-1)
+;; ("US-xlg" ; american large version
+;; "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "US-xlg") nil iso-8859-1)
+;; )
+;; )
+
+;; ======================================================================
+;; VCS, version control, cvs, svn.
+
+(if (equal window-system 'w32)
+ (progn
+ (modify-coding-system-alist 'process "cvs" '(cp1251-dos . cp1251-dos))
+ (modify-coding-system-alist 'process "svn" '(cp866-dos . cp1251-dos))
+ ))
+
+;; (setq-default vc-svn-register-switches "--encoding cp1251")
+(setq-default vc-svn-register-switches nil)
+
+(setq my-svn-dir (concat my-el-dir "/svn"))
+(if (file-exists-p my-svn-dir)
+ (progn
+ (add-to-list 'load-path my-svn-dir)
+ (require 'vc-svn)
+ )
+ )
+
+(if (file-exists-p (concat my-el-dir "/mercurial.el"))
+ (require 'mercurial)
+ )
+
+(if window-system
+ (setq-default vc-annotate-background "white")
+ )
+
+;; ======================================================================
+;; Devel, prog
+
+(add-to-list 'auto-mode-alist '("\\.cu$" . c-mode))
+
+(setq-default show-trailing-whitespace t)
+;; (add-hook 'c-mode-hook '(lambda ()
+;; (setq show-trailing-whitespace t)))
+
+;; ----------------------------------------------------------------------
+;; TODO, XXX, FIXME highlight.
+;; Show blanks and FIXME
+;; http://www.emacswiki.org/cgi-bin/wiki/EightyColumnRule
+
+(defface my-tab-face
+ '((t :background "gray"))
+ "Face for showing TABs."
+ :group 'basic-faces)
+
+(defface my-todo-face
+ '((t :foreground "red" :weight bold))
+ "Font for showing TODO words."
+ :group 'basic-faces)
+
+(defface my-conflict-face
+ '((t :background "pink" :foreground "red" :weight bold))
+ "Font for showing conflicts."
+ :group 'basic-faces)
+
+(add-hook 'font-lock-mode-hook (function (lambda ()
+ (unless (or (eq 'diff-mode major-mode) (eq 'script-mode major-mode))
+ (font-lock-add-keywords nil
+ '(
+ ("\t+" 0 'my-tab-face t)
+ ("\\<\\(FIXME:?\\|XXX:?\\|TODO:?\\)\\>" 1 'my-todo-face t)
+ ("\\(=\\{7,\\}\\|<\\{7,\\}\\|>\\{7,\\}\\)" 1 'my-conflict-face t)
+ ))))))
+
+;; ----------------------------------------------------------------------
+;; Diff, patch
+(setq diff-switches "-u")
+
+;; ----------------------------------------------------------------------
+;; Indent
+
+(setq standard-indent 4)
+(setq c-basic-offset 4)
+(setq sh-basic-offset 2)
+(setq sgml-basic-offset 4)
+
+;; TAB (tab settings)
+(setq-default tab-width 4)
+(setq-default indent-tabs-mode nil) ; t - будут вставляться \t
+(setq tab-always-indent t)
+(setq tab-stop-list (quote (0 4 8 12 16 20 24 28 32 36 40)))
+(setq c-tab-always-indent t)
+
+(setq comment-style (quote indent))
+
+;; ----------------------------------------------------------------------
+;; Diff.
+(setq ediff-diff-options "")
+
+;; ----------------------------------------------------------------------
+;; *Compile*
+(setq compile-auto-highlight t
+ compile-command "make ")
+;; compilation window shall scroll down if not 0
+(setq compilation-scroll-output 1)
+
+;; My funny error messages.
+;; XXX нужно реализовать через hook.
+(require 'compile)
+(add-to-list 'compilation-error-regexp-alist-alist '(nant "^\\( +\\[csc\\] \\|\\)\\(.*\\)(\\([0-9]*\\),\\([0-9]*\\)):" 2 3 4))
+(add-to-list 'compilation-error-regexp-alist 'nant)
+(add-to-list 'compilation-mode-font-lock-keywords '("\\(/[Oo][Uu][Tt]:[^ ]+\\)" . 1))
+(add-to-list 'compilation-mode-font-lock-keywords '("[ ]\\(/F[oe][^ ]+\\)" . 1))
+
+;; ----------------------------------------------------------------------
+;; asm
+(setq-default asm-comment-char 0)
+
+
+;; ----------------------------------------------------------------------
+;; LISP
+(setq list-command-history-max 256)
+
+;; ----------------------------------------------------------------------
+;; C, c-lang
+(setq c-echo-syntactic-information-p t)
+
+(defconst my-c-style
+ '((c-tab-always-indent . t)
+ (c-comment-only-line-offset . 4)
+ (c-hanging-braces-alist . ((substatement-open after)
+ (brace-list-open)))
+ (c-hanging-colons-alist . ((member-init-intro before)
+ (inher-intro)
+ (case-label after)
+ (label after)
+ (access-label after)))
+ (c-cleanup-list . (scope-operator
+ empty-defun-braces
+ defun-close-semi))
+ (c-offsets-alist . ((arglist-intro . ++)
+ (arglist-close . c-lineup-arglist)
+ (arglist-cont-nonempty . ++)
+ (statement-block-intro . +)
+ (inline-open . 0)
+ (inexpr-class . 0)
+ (statement-cont . ++)
+ (label . 0)
+ (substatement-open . 0)
+ (case-label . 0)
+ (block-open . 0)
+ (comment-intro . 0)
+ (knr-argdecl-intro . -)))
+ (c-echo-syntactic-information-p . t))
+ "My C Programming Style")
+
+;; (objc-mode . "my-mode") (c++-mode . "cc-mode")
+(add-hook 'c-initialization-hook (lambda ()
+ (c-add-style "my" my-c-style t)))
+(setq c-default-style '((java-mode . "my") (c-mode . "my") (csharp-mode . "my") (other . "my")))
+
+;; Customizations for all modes in CC Mode.
+;; (defun my-c-mode-common-hook ()
+;; ;; add my personal style and set it for the current buffer
+;; (c-add-style "PERSONAL" my-c-style t)
+;; ;; other customizations
+;; (setq tab-width 8
+;; ;; this will make sure spaces are used instead of tabs
+;; indent-tabs-mode nil)
+;; ;; we like auto-newline and hungry-delete
+;; (c-toggle-auto-hungry-state 1)
+;; ;; key bindings for all supported languages. We can put these in
+;; ;; c-mode-base-map because c-mode-map, c++-mode-map, objc-mode-map,
+;; ;; java-mode-map, idl-mode-map, and pike-mode-map inherit from it.
+;; (define-key c-mode-base-map "\C-m" 'c-context-line-break))
+
+;; (add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
+
+;; ----------------------------------------------------------------------
+;; *csharp*, c-sharp
+;;
+(autoload 'csharp-mode "csharp-mode" "Major mode for editing C# code." t)
+(add-to-list 'auto-mode-alist '("\\.cs$" . csharp-mode))
+
+;; ----------------------------------------------------------------------
+;; *Java*
+;; Update the Emacs load-path to include the path to
+;; the JDE and its require packages. This code assumes
+;; that you have installed the packages in the emacs/site
+;; subdirectory of your home directory.
+;; (add-to-list 'load-path (expand-file-name "~/emacs/site/semantic"))
+;; (add-to-list 'load-path (expand-file-name "~/emacs/site/speedbar"))
+;; (add-to-list 'load-path (expand-file-name "~/emacs/site/elib-1.0"))
+;; (add-to-list 'load-path (expand-file-name "~/emacs/site/eieio"))
+;; (add-to-list 'load-path (expand-file-name "~/emacs/site/jde-2.3.5.1/lisp"))
+
+;; Load CEDET
+;; (load-file "~/emacs/site/common/cedet.el")
+;; Enabling SEMANTIC minor modes. See semantic/INSTALL for more ideas.
+;; (semantic-load-enable-code-helpers)
+
+;; If you want Emacs to defer loading the JDE until you open a
+;; Java file, edit the following line
+;; (setq defer-loading-jde nil)
+;; to read:
+;;
+;; (setq defer-loading-jde t)
+;;
+
+;; (if defer-loading-jde
+;; (progn
+;; (autoload 'jde-mode "jde" "JDE mode." t)
+;; (add-to-list 'auto-mode-alist '("\\.java\\'" . jde-mode))
+;; (require 'jde)))
+
+
+;; Sets the basic indentation for Java source files
+;; to two spaces.
+;; (defun my-jde-mode-hook ()
+;; (setq c-basic-offset 2))
+
+;; (add-hook 'jde-mode-hook 'my-jde-mode-hook)
+
+;; (require 'jde)
+
+;; ********************
+;; ECB
+;; *******************
+
+;; load ECB
+;; (add-to-list 'load-path "~/emacs/site/ecb-2.32")
+;; (require 'ecb)
+
+;; load ECB
+;(add-to-list 'load-path "~/emacs/site/ecb-2.32")
+;(require 'ecb)
+;'(ecb-options-version "2.32")
+;'(ecb-wget-setup (quote cons))
+;(global-set-key (kbd "\e\eE") 'ecb-activate)
+
+;; ======================================================================
+;; Printing
+
+;; Use Notepad to print plain text files to the default Windows printer
+;(setq lpr-command "notepad")
+;(setq lpr-headers-switches '("/p")) ; \ mis-use these
+;(setq lpr-switches nil) ; / two variables
+;(setq printer-name nil) ; notepad takes the default
+;(setq lpr-printer-switch "/P") ;; run notepad as batch printer
+;;
+;;Печать в файл
+;(setq printer-name "~/myprint.txt")
+;(setq ps-printer-name nil)
+;(setq ps-print-header nil)
+;;модифицируем меню
+;;; some more menu entries in the command list:
+;;; see tex-mik.el from package auctex: %v is defined in tex-mik.el
+;;; other variables are defined in tex.el from auctex
+;;; the meaning of some auctex-varibles:
+ ;symbols defined in tex.el and tex-mik.el:
+ ;%b name slave tex-file %t name master tex-file
+ ;%d dvi-file %f ps-file
+ ;%l "latex --src-specials"
+ ;%n line number %p printcommand %q "lpq"
+ ;%r (TeX-style-check TeX-print-style)
+ ;%s master-file-name without extention
+ ;%v yap command view line
+;(eval-after-load "tex"
+; '(progn
+; (add-to-list 'TeX-command-list
+; (list "->PS landscape for pdf"
+; "dvips %d -N0 -Ppdf -G0 -T 297mm,210mm -o %f "
+; 'TeX-run-command nil t))
+; (add-to-list 'TeX-command-list
+; (list "All Texify run-viewer"
+; "texify --tex-opt=--src --run-viewer --clean %s.tex"
+; 'TeX-run-command nil t))))
+
+
+;; ======================================================================
+;;
+;; Установка режима CUA - все как в Windows
+;; поддержка Ctr-c,v,x,d как в windows через пакет CUA
+
+;; версия 21.3
+
+;(require 'cua)
+;(CUA-mode t)
+;;установка режимов работы курсора через CUA
+;(setq CUA-mode-normal-cursor-color "black")
+;(setq CUA-mode-overwrite-cursor-color "red")
+;(setq CUA-mode-read-only-cursor-color "green")
+;(CUA-keypad-mode 'numeric t); доп.клавиатура - цифры
+;(CUA-keypad-mode 'prefix t); доп.клавиатура - префиксы регистров (М-2)
+
+;; версия 21.3.50 и старше
+
+;(require 'cua-base)
+;(cua-mode t)
+;;установка режимов работы курсора через CUA
+;(setq cua-normal-cursor-color "black")
+;(setq cua-overwrite-cursor-color "red")
+;(setq cua-read-only-cursor-color "green")
+
+
+;; ======================================================================
+;; Backup
+
+;; (setq
+;; backup-by-copying t ; don't clobber symlinks
+;; backup-directory-alist
+;; '(("." . "~/backup")) ; don't litter my fs tree
+;; delete-old-versions t
+;; kept-new-versions 6
+;; kept-old-versions 2
+;; version-control t) ; use versioned backups
+;(setq version-control t);нумерованный бэкап - 2 первых и 2 последних
+;(setq delete-old-versions t);удаление промежуточных бэкапов
+
+
+;; ======================================================================
+
+(cd "~/")
+(setq my-author-name (getenv "USER"))
+(setq user-full-name (getenv "USER"))
+
+(message ".emacs loaded OK.")
+
+;;
+;; End loading...