;;
;; $Id: q-gnu-20-init.el,v 1.18 1998/12/10 03:39:54 ejb Exp $
;; $Source: /home/ejb/elisp/q/RCS/q-gnu-20-init.el,v $
;; $Author: ejb $
;;
;; This file performs version-specific initialization
;;

(defun q-gnu-20-init ()
  "Gnu emacs version 20-specific initialization"

  ;; (setq-default enable-multibyte-characters nil)
  
  (setq
   c-style-variables-are-local-p t
   enable-recursive-minibuffers t
  )

  ;; sgml-mode/font-lock bugs fixed for 20.3
  (if (and (= emacs-major-version 20)
	   (<= emacs-minor-version 2)
	   (string-match "^20\.[0-9]+\.[0-9]+$" emacs-version)
      )
      (setq font-lock-maximum-decoration '((sgml-mode . 0) (t . t)))
  )

  ;; after editing an rmail message, we should switch back to rmail
  ;; mode.  This is supposed to be automatic in 20.4.
  (if (and (= emacs-major-version 20)
	   (< emacs-minor-version 4))
      (progn
	(defadvice rmail-cease-edit (around restore-rmail-mode activate)
	  "Switch back to rmail mode after editing a message"
	  (let ((save-current-message rmail-current-message))
	    ad-do-it
	    (rmail-mode)
	    (rmail-show-message save-current-message)
	  )
	)
      )
    (message "check rmail-cease-edit")
    (beep)
    (sit-for 1)
  )

  (modify-frame-parameters (selected-frame) '((q-initial-frame t)))
  (defadvice delete-frame (around protect-initial-frame activate)
    "Protect initial frame from deletion"
    (if (cdr (assoc 'q-initial-frame (frame-parameters (selected-frame))))
	(error "can't delete initial frame")
      ad-do-it
    )
  )

  (require 'cc-styles)
  (setq c-style-alist
	(append (list q-cc-style) c-style-alist)
  )

  (add-hook 'mail-mode-hook
	    (function
	     (lambda () 
	       (setq adaptive-fill-first-line-regexp
		     "\\`[ \t]*[a-z0-9A-Z_]*[#> \t-]+\\'"
	       )
	     )
	    )
  )

  ;; This will get loaded soon anyway
  (require 'filecache)

  ;; Load customizations file
  (load "customizations")
)
