;;;;
;;;; site-start.el - Site-specific customisations for Emacs
;;;;                 Written by Nix for XEmacs 21.
;;;;
;;;;                 Mirrored across the gordianet.

;;; Requirements only needed by Emacs, which does not provide facilities for
;;; easily adding things to the set of dumped Lisp, and which has horrible
;;; constraints on such lisp that XEmacs does not have.

(when (not (featurep 'xemacs))
  (require 'redo+)
  (require 'saveplace)
  (require 'flash-paren)
  (require 'filesets)
  (require 'ring)
  (require 'winring)
  (require 'apropos-toc)
  (require 'mwheel))

(when (featurep 'xemacs)
  (require 'vi-dot)
  (require 'font-lock))

(require 'scroll-in-place)

;;;
;;; Requirements; these don't work dumped :( because they declare
;;; variables that must be modifiable in-place, or because they require
;;; packages that do that, or because they turn themselves on, or similar
;;; antisocial and stupid things.
;;;

(require 'advice)                               ; Wrappers around functions
(setq ad-default-compilation-action 'like-original) ; Compile advisements whose originals were compiled, &c
(require 'time)                                 ; Display the time in the modeline
(require 'vc-hooks)                             ; Hooks to autoload the VC code when needed
(require 'tex-site)                             ; AucTeX's site-specific stuff
(require 'uniquify)                             ; Give every buffer a meaningful, unique name
;(require 'generic-x)                           ; Generic modes for all sorts of stuff

;;; These are all dumped with XEmacs, but, sigh, not with Emacs.

(require 'desktop)

(load "ilisp-aut.el")                           ; Gahh, horrible, thank *you* ilisp-mode.
(if (or (equal (system-name) "loki.wkstn.nix")
        (equal (system-name) "amaterasu.srvr.nix"))
    (require 'noweb-site)); noweb and noweb-outline's site-specific stuff

(require 'bbdb)

;;;
;;; Load in the rest of ourself
;;;

(require 'gawd-misc)                            ; Vaguely useful gunk needed for all sorts of other things
(unless (noninteractive)
  (require 'gawd-faces))                        ; I'm tickled pink. Or black. Or purple. Or...
(require 'gawd-mode-frobs)                      ; Play with specific major or minor modes
(unless (noninteractive)
  (require 'gawd-keys))                         ; Get ready to apply our keymappings

;;;
;;; Other
;;;

(when (featurep 'xemacs)
  (require 'auto-save))                         ; For decent autosave support - must go after autosave variable setting

(display-time)                                  ; Display the time on the modeline