;;; (load "/pb2/gnu/local/lib/emacs/19.19/lisp/term/vt100.el")
;;; (load "c++-mode")
(display-time)
;;;
;;;  enable flow control (UNIX Style -- will hang VMS)
;;;
;;; (set-input-mode nil t)
(set-input-mode nil t t)
;;;
;;;  squelch annoying startup blather
;;;
(setq inhibit-startup-message t)
;;;
;;;  set up default modes for various file extensions
;;;
(setq auto-mode-alist
      '(("\\.l\\([;.][0-9]*\\)?$" . lisp-mode)
        ("\\.lsp\\([;.][0-9]*\\)?$" . lisp-mode)
        ("\\.c\\([;.][0-9]*\\)?$" . c-mode)
	("\\.lex\\([;.][0-9]*\\)?$" . c-mode)
	("\\.yac\\([;.][0-9]*\\)?$" . c-mode)
        ("\\.C\\([;.][0-9]*\\)?$" . c++-mode)
        ("\\.h\\([;.][0-9]*\\)?$" . c++-mode)
        ("\\.m\\([;.][0-9]*\\)?$" . c++-mode)
        ("\\.hh\\([;.][0-9]*\\)?$" . c++-mode)
        ("\\.cc\\([;.][0-9]*\\)?$" . c++-mode)
        ("\\.cpp\\([;.][0-9]*\\)?$" . c++-mode)
        ("\\.f\\([;.][0-9]*\\)?$" . fortran-mode)
        ("\\.F\\([;.][0-9]*\\)?$" . fortran-mode)
        ("\\.cmn\\([;.][0-9]*\\)?$" . fortran-mode)
        ("\\.par\\([;.][0-9]*\\)?$" . fortran-mode)
        ("\\.txt\\([;.][0-9]*\\)?$" . text-mode)))
;;;
;;;  Default to text mode
;;;
;;; (setq default-major-mode 'text-mode)
 (setq default-fill-column 78)
 (setq text-mode-hook 'turn-on-auto-fill)
;;;
;;;  Define some variables
;;;
;;;  (setq search-repeat-char 28)
;;;
;;;
;;;  Define keypad keys to reasonable commands
(global-unset-key "\C-[[")
(define-key global-map  "\C-[[1~" 'isearch-forward)
(define-key global-map  "\C-[[2~" 'yank)
(define-key global-map  "\C-[[3~" 'kill-region)
(define-key global-map  "\C-[[4~" 'set-mark-command)
(define-key global-map  "\C-[[5~" 'scroll-down)
(define-key global-map  "\C-[[6~" 'scroll-up)
(define-key global-map  "\C-[[23~" 'ESC-prefix)
;;;
;;;  make it look more like emacs on the 500
;;;
(define-key ctl-x-map	"\^k"	'kill-some-buffers)
(define-key esc-map	"r"	'replace-string)
;;; (global-unset-key       "\C-x\C-f")
;;; (define-key global-map  "\C-x\C-f"  'save-buffers-kill-emacs)
(define-key esc-map	"s"	'center-line)
(global-unset-key       "\C-G")
(define-key global-map  "\C-G"	'goto-line)
;;; (global-unset-key       "\C-xn")
;;; (define-key global-map  "\C-xn" 'other-window)
(global-unset-key "\C-x\C-m")
(define-key global-map "\C-x\C-m" 'save-buffer)
;;;
;;;(global-unset-key "\C-H")
;;;(define-key global-map  "\C-H" 'delete-backward-char)
;;;
;;; Bind HELP key to help
(global-unset-key "\C-[[28~")
(define-key global-map "\C-[[28~" 'help-for-help)
;;;
;;;Bind DO key to Esc-x
(global-unset-key "\C-[[29~")
(define-key global-map "\C-[[29~" 'execute-extended-command)
;;;
;;; Get rid of this if you want searches not to be case-sensitive
;;; (setq-default case-fold-search nil)
;;;
;;;
;;; Disable RMAIL -- we have ELM
;;;(put 'rmail 'disabled t)
;;;(global-unset-key "\C-xm")
;;;
;;; Make it work with Todd's PC at home
;;lobal-unset-key "\C-[[H"
(global-unset-key "\C-[[H")
(define-key global-map "\C-[[H" 'beginning-of-line)
(global-unset-key "\C-[[K")
(define-key global-map "\C-[[K" 'end-of-line)
(setq search-slow-speed 119200)
(setq search-exit-char 13)
;;; 
;;; Stuff to make FORTRAN mode nicer
;;;
(global-unset-key  "\C-[i")
(define-key global-map "\C-[i" 'fortran-indent-subprogram)
(defun x-window-command-menu (arg)
  (let ((menu-selection
	 (x-popup-menu
	  arg
	  '("Window Command Menu"
	    ("Vertical Window Commends"
	     ("Split window" . split-window-vertically))
	    ("menu 2"
	     ("One window" . delete-other-windows))))))
    (if (and menu-selection (x-mouse-select arg))
	(call-interactively menu-selection))))
;;(define-key mouse-map x-button-c-right 'x-window-command-menu)
