;======================================================================
; 言語・文字コード関連の設定
;======================================================================
(when (equal emacs-major-version 21) (require 'un-define))
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(setq file-name-coding-system 'utf-8)
;;
;======================================================================
; IMEの設定
;======================================================================
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
(setq-default mw32-ime-mode-line-state-indicator "[--]")
(setq mw32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))
(add-hook 'mw32-ime-on-hook
      (function (lambda () (set-cursor-height 2))))
(add-hook 'mw32-ime-off-hook
      (function (lambda () (set-cursor-height 4))))
;;
;=======================================================================
;フォント
;=======================================================================
(if (eq window-system 'w32) (require 'ntemacs-font))
(fixed-width-set-fontset "msgothic" 14)

(create-fontset-from-ascii-font
 "-outline-メイリオ-normal-r-normal-normal-12-*-*-*-*-*-iso8859-1"
 nil "メイリオ")

(create-fontset-from-ascii-font
 "-outline-メイリオ-normal-r-normal-normal-14-*-*-*-*-*-iso8859-1"
 nil "メイリオ")

(set-fontset-font "fontset-メイリオ"
 'japanese-jisx0208
 '("メイリオ*" . "jisx0208-sjis"))
(set-fontset-font "fontset-メイリオ"
 'katakana-jisx0201
 '("メイリオ*" . "jisx0201-katakana"))
;;
;=======================================================================
;フレームサイズ・位置・色など
;=======================================================================
(setq default-frame-alist
      (append (list '(foreground-color . "black")
   '(background-color . "LemonChiffon")
   '(background-color . "gray")
   '(border-color . "black")
   '(mouse-color . "white")
   '(cursor-color . "black")
   '(font . "fontset-メイリオ")
   '(width . 80)
   '(height . 40)
   '(top . 100)
   '(left . 100))
     default-frame-alist))
;;
;=======================================================================
; Misc
;=======================================================================
(mouse-wheel-mode t)                        ;;ホイールマウス
(global-font-lock-mode t)                    ;;文字の色つけ
(setq line-number-mode t)                    ;;カーソルのある行番号を表示
(auto-compression-mode t)                    ;;日本語infoの文字化け防止
(set-scroll-bar-mode 'right)                    ;;スクロールバーを右に表示
(global-set-key "\C-z" 'undo)                    ;;UNDO
(setq frame-title-format                    ;;フレームのタイトル指定
    (concat "%b - emacs@" system-name))

(display-time)                            ;;時計を表示
;(global-set-key "\C-h" 'backward-delete-char)            ;;Ctrl-Hでバックスペース
;(setq make-backup-files nil)                    ;;バックアップファイルを作成しない
(setq visible-bell t)                        ;;警告音を消す
;(setq kill-whole-line t)                    ;;カーソルが行頭にある場合も行全体を削除
;(when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t))    ;;行末のスペースを強調表示
;;
;=======================================================================
; 最近使ったファイル
;=======================================================================
(recentf-mode)
;;
;=======================================================================
; リージョンに色を付ける
;=======================================================================
(setq transient-mark-mode t)
(set-face-background 'region "darkgreen")
;;
;=======================================================================
; 対応する括弧を光らせる
;=======================================================================
(show-paren-mode)
;;
;=======================================================================
; C-c c で compile コマンドを呼び出す 
;=======================================================================
(define-key mode-specific-map "c" 'compile)
;;
;=======================================================================
; スクリプトを保存する時、自動的に chmod +x を行うようにする
;=======================================================================
(defun make-file-executable ()
  "Make the file of this buffer executable, when it is a script source."
  (save-restriction
    (widen)
    (if (string= "#!"
         (buffer-substring-no-properties 1
                         (min 3 (point-max))))
        (let ((name (buffer-file-name)))
          (or (equal ?. (string-to-char
             (file-name-nondirectory name)))
              (let ((mode (file-modes name)))
                (set-file-modes name (logior mode (logand
                           (/ mode 4) 73)))
                (message (concat "Wrote " name " (+x)"))))))))
(add-hook 'after-save-hook 'make-file-executable)
;;
;=======================================================================
; ~\.emacs.d\elisp\  と ~\.emacs.d\auto-install\ にパスを通す
;=======================================================================
(add-to-list 'load-path (expand-file-name "~\\.emacs.d\\elisp\\"))
(add-to-list 'load-path (expand-file-name "~\\.emacs.d\\auto-install\\"))
;;
;=======================================================================
; End of File
;=======================================================================