(set-variable 'meta-flag 't)

;; Use the /bin/csh when in Emacs
(setq explicit-shell-file-name "/bin/csh")

(set-variable 'inhibit-startup-message' 't)

(load "fi/site-init.el")

(set-variable 'fi:inferior-common-lisp-mode-super-key-map '(keymap (28 . fi:subprocess-quit) (4 . fi:subprocess-send-eof) (3 . fi:subprocess-interrupt) (23 . fi:subprocess-backward-kill-word) (22 . fi:subprocess-show-output) (19 . fi:re-search-forward-input) (18 . fi:re-search-backward-input) (16 . fi:pop-input) (15 . fi:subprocess-send-flush) (14 . fi:push-input) (13 . fi:subprocess-input-region) (12 . fi:list-input-ring) (11 . fi:subprocess-kill-output) (1 . fi:subprocess-beginning-of-line)))

;; turn on superkeys in subprocess modes
(setq-default fi:subprocess-enable-superkeys nil)

;; this causes Common Lisp to get a default argument: +ipc
(setq fi:common-lisp-image-arguments '("+ipc"))
;; (setq fi:common-lisp-image-name "/me/cl/mlisp")

;; redefine kill emacs (since there is not a kill-emacs-hook) to remove all
;; transaction files

(fset 'old-kill-emacs (symbol-function 'kill-emacs))

(defun kill-emacs (&optional arg)
  (interactive "P")
  (fi:remove-all-temporary-lisp-transaction-files)
  (old-kill-emacs arg))

(global-set-key "\C-c\C-r" 'fi:lisp-eval-region)
(global-set-key "\C-c\C-s" 'fi:lisp-eval-last-sexp)
(global-set-key "\C-c\C-e" 'fi:lisp-eval-defun)
(global-set-key "\C-c\C-m" 'fi:lisp-macroexpand)

