(require 'tex-site)

(defun msb-sort-by-name-mikon (item1 item2)
  "Sort the items ITEM1 and ITEM2 by their `buffer-file-name'.
An item looks like (NAME . BUFFER)."
  (string-lessp (buffer-file-name (cdr item1))
		(buffer-file-name (cdr item2))))

(custom-set-variables
  ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 '(TeX-view-style (quote (("^a4\\(dutch\\|paper\\|wide\\)?\\|sem-a4$" "/home/mikon/bin/madvi.sh %d") ("^a5\\(comb\\|paper\\)?$" "xdvi %d -paper a5") ("^b5paper$" "xdvi %d -paper b5") ("^letterpaper$" "xdvi %d -paper us") ("^legalpaper$" "xdvi %d -paper legal") ("^executivepaper$" "xdvi %d -paper 7.25x10.5in") ("^landscape$" "xdvi %d -paper a4r -s 4") ("." "/home/mikon/bin/madvi.sh %d"))))
 '(case-fold-search nil)
 '(compilation-ask-about-save nil)
 '(fill-column 79)
 '(font-lock-support-mode (quote fast-lock-mode))
 '(global-font-lock-mode t nil (font-lock))
 '(mail-default-headers "Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
")
 '(mail-self-blind t t)
 '(mail-signature t t)
 '(mail-yank-prefix "> ")
 '(make-backup-files nil)
 '(mouse-buffer-menu-mode-mult 1)
 '(mouse-scroll-delay 0.02)
 '(mouse-scroll-min-lines 1)
 '(msb-display-most-recently-used 0)
 '(msb-files-by-directory t)
 '(msb-max-menu-items 30)
 '(msb-menu-cond (quote (((and (boundp (quote server-buffer-clients)) server-buffer-clients (quote multi)) 1010 "Clients (%d)") ((and buffer-file-name (buffer-modified-p) (quote multi)) 7000 "Changed files (%d)") ((and (get-buffer-process (current-buffer)) (quote multi)) 5090 "Processes (%d)") ((and msb-display-invisible-buffers-p (msb-invisible-buffer-p) (quote multi)) 1090 "Invisible buffers (%d)") ((eq major-mode (quote dired-mode)) 2010 "Dired (%d)" msb-dired-item-handler msb-sort-by-directory) ((eq major-mode (quote Man-mode)) 5030 "Manuals (%d)") ((eq major-mode (quote w3-mode)) 5020 "WWW (%d)") ((or (memq major-mode (quote (rmail-mode rmail-edit-mode vm-summary-mode vm-mode mail-mode))) (memq major-mode (quote (mh-letter-mode mh-show-mode mh-folder-mode))) (memq major-mode (quote (gnus-summary-mode news-reply-mode gnus-group-mode gnus-article-mode gnus-kill-file-mode gnus-browse-killed-mode)))) 5010 "Mail (%d)") ((and (not buffer-file-name) (quote no-multi)) 5099 "Other non-file buffers (%d)") ((and (string-match "/\\.[^/]*$" buffer-file-name) (quote multi)) 3090 "Hidden Files (%d)") ((string-match "\\.dul$" buffer-file-name) 3005 "Dule Files (%d)") ((eq major-mode (quote caml-mode)) 3002 "Caml Files (%d)" msb-item-handler msb-sort-by-name-mikon) ((memq major-mode (quote (c-mode c++-mode))) 3010 "C/C++ Files (%d)") ((eq major-mode (quote latex-mode)) 3030 "LaTex Files (%d)"))))
 '(msb-mode t nil (msb))
 '(msb-most-recently-used-sort-key 111010)
 '(next-line-add-newlines nil)
 '(next-screen-context-lines 0)
 '(ps-bold-faces (quote (font-lock-keyword-face font-lock-function-name-face)))
 '(ps-font-size (quote (7 . 12)))
 '(ps-italic-faces (quote (Coral font-lock-builtin-face font-lock-variable-name-face font-lock-string-face font-lock-comment-face)))
 '(ps-left-margin 10.0)
 '(ps-paper-type (quote a4))
 '(ps-print-color-p nil)
 '(ps-right-margin 10.0)
 '(ps-underlined-faces (quote (font-lock-keyword-face font-lock-type-face)))
 '(rmail-automatic-folder-directives (quote ((nil "X-Spam-Status" "Yes"))))
 '(scroll-preserve-screen-position 2)
 '(show-paren-mode t nil (paren))
 '(uniquify-buffer-name-style nil nil (uniquify))
 '(user-mail-address "mikon@mimuw.edu.pl"))
(custom-set-faces
  ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 '(default ((t (:stipple nil :background "gray90" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 123 :width normal :family "adobe-courier")))))

;; .Xresources contains
;emacs.Font:	        -adobe-courier-medium-r-normal-*-17-*-*-*-*-*-iso8859-2
;emacs.Foreground:       black
;emacs.Background:	gray90
;emacs.toolBar:	        0

;;; various
 (setq auto-mode-alist
       (append '(("\\.ocamlinit$" . caml-mode)
		 ("\\.ml$" . caml-mode)
		 ("\\.mli$" . caml-mode)
		 ("\\.mll$" . caml-mode)
		 ("\\.mly$" . caml-mode)
		 ("\\.eml$" . sml-mode)
		 ("\\.sml$" . sml-mode) 
		 ("\\.sig$" . sml-mode) 
		 ("\\.ML$"  . sml-mode)) auto-mode-alist))

 (setq compile-command "make ")

 (put 'erase-buffer 'disabled nil)

;;; internationalization

 (setq-default enable-multibyte-characters nil)
 (standard-display-european 1)
 
 (let ((cim (current-input-mode)))
 (set-input-mode (car cim) (car (cdr cim)) 0))  

;;; may be needed on non-Debian systems
;(setq load-path
;      (nconc load-path
;             (list (concat "~/.ocaml"))))
;(autoload 'caml-mode "caml" "Major mode for editing Caml code." t)

;;; sml-mode

 (autoload 'sml-mode "sml-mode" "Major mode for editing Standard ML." t)
 (autoload 'sml "sml-proc" "Run an inferior ML process." t)
 (autoload 'sml-mosml "sml-mosml" "Set up and run Moscow ML." t)
 (autoload 'sml-poly-ml "sml-poly-ml" "Set up and run Poly/ML." t)

 (setq sml-mode-hook
       '(lambda() "SML mode hacks" (setq sml-case-indent t)))

 (setq sml-load-hook
       '(lambda() "Fontify SML." (require 'sml-font)))

 (setq sml-mode-info "/usr/local/share/emacs/site-lisp/sml-mode.info")

;;; dule-font
(load "~/.dule-font")

;;; caml-mode

;(global-set-key "\C-x\C-d" 'run-caml)

;wrong!  (define-key caml-mode-map [mouse-2] 'caml-types-mouse-ignore)
;  (define-key caml-mode-map [down-mouse-2] 'caml-types-explore)

(setq caml-imenu-enable nil)

(setq caml-olabl-enable nil)

;(setq inferior-caml-program "~/dule/code/dule.top")

(autoload 'camldebug "camldebug" "Run the Caml debugger." t)

;;; auctex

;;;(require 'tex-site)

 (setq TeX-auto-save t)
 (setq TeX-parse-self t)
 (setq-default TeX-master nil)
;; (setq TeX-auto-untabify nil)
;; (setq TeX-open-quote "\"\`")
 (setq TeX-save-query nil)

 (setq LaTeX-section-hook
                '(LaTeX-section-heading
                  LaTeX-section-title
                ;;LaTeX-section-toc
                  LaTeX-section-section
                  LaTeX-section-label))

;;; keys
; (global-set-key [C-M-up] '(lambda () "Loads mime-setup."
;       (interactive) (load "mime-setup")))

 (global-set-key [C-right]  'end-of-line)
 (global-set-key [C-left]   'beginning-of-line)

 (global-set-key [M-up] '(lambda () "Scrolls the buffer one line up."
       (interactive) (scroll-up -1)))
 (global-set-key [M-down] '(lambda () "Scrolls the buffer one line down."
       (interactive) (scroll-up 1)))
 (global-set-key [home] '(lambda () "."
       (interactive) (beginning-of-buffer)))
 (global-set-key [end] '(lambda () "."
       (interactive) (end-of-buffer)))

 (global-unset-key [backspace])
 (global-set-key [backspace] 'backward-delete-char-untabify)
 (global-unset-key [delete])
 (global-set-key [delete] 'delete-char)

;(global-set-key [C-backspace] 'backward-kill-line)
 (global-set-key [M-delete]       'kill-word)
 (global-set-key [C-delete]       'kill-line)

;;; frames & desktop

(if (and (file-exists-p ".emacs.desktop")
	 window-system)
             
 (progn

; frames

;   (setq initial-frame-alist
;               '((top . 5399) (left . 4) (width . 80) (height . 47)))
   (modify-frame-parameters frame-initial-frame '((top . 5399) (left . 4) (width . 80) (height . 47)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 23) (left . 4)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 23) (left . 1028)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 791) (left . 4)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 791) (left . 1028)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 1559) (left . 4)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 1559) (left . 1028)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 2327) (left . 4)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 2327) (left . 1028)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 3095) (left . 4)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 3095) (left . 1028)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 3863) (left . 4)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 3863) (left . 1028)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 4631) (left . 4)))
   (setq myframe (make-frame '((width . 80) (height . 47)
	      (font . "-misc-fixed-medium-r-normal-*-17-*-*-*-c-*-iso8859-2"))))
   (modify-frame-parameters myframe '((top . 4631) (left . 1028)))

; desktop

;(setq desktop-enable t)

;   (load "desktop")
;   (desktop-load-default)
   (desktop-read)
;   (load "regexp-opt")

   (kill-buffer "*scratch*")
))
