initCommon(); $template->displayHeader(); ?>

4.2. Setting Up Your .emacs File

For Emacs to parse your DocBook documents correctly, you must have a .emacs file. Cut and paste the following into your existing .emacs file or create a new one that contains the following lines:

;; turn on auto-fill in `text-mode' and derived modes 
;;(mail, news, etc)
(add-hook 'text-mode-hook 'turn-on-auto-fill)

;;
;;MODES
;;

(setq auto-mode-alist (cons '("\\.sgml$" . sgml-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.sgm$" . sgml-mode) auto-mode-alist))

;;
;;XML!!
;;
;;#############################################################

;;
;;PSGML mode stuff
;;

(autoload 'sgml-mode "psgml" "My Most Major Mode" t)

(setq sgml-mode-hook '(lambda () "Defaults for XML mode." (turn-on-auto-fill) 
(setq fill-column 80)))

(defun My-XML-keymap ()
  (local-set-key [(alt i)] 
                 '(lambda ()
                    (interactive)
                    (sgml-indent-line)
                    (sgml-insert-element 'item)
                    (sgml-indent-line)))
  (local-set-key [(alt l)] 
                 '(lambda ()
                    (interactive)
                    (sgml-insert-element 'list)
                    (sgml-insert-element 'item)
                    (sgml-indent-line)))
  (local-set-key [(alt p)]
                 '(lambda ()
                    (interactive)
                    (sgml-indent-line)
                    (sgml-insert-element 'para)
                    (sgml-indent-line)))
  (local-set-key [(alt -)]
                 '(lambda ()
                    (interactive)
                    (insert "—"))))      

(add-hook 'sgml-mode-hook 'My-XML-keymap)

;;
;; Fix up indentation of data...
;;

(setq-default sgml-indent-data t)

;;
;; XML markup faces.
;;

(setq-default sgml-set-face t)


(make-face 'sgml-comment-face)
(make-face 'sgml-doctype-face)
(make-face 'sgml-end-tag-face)
(make-face 'sgml-entity-face)
(make-face 'sgml-ignored-face)
(make-face 'sgml-ms-end-face)
(make-face 'sgml-ms-start-face)
(make-face 'sgml-pi-face)
(make-face 'sgml-sgml-face)
(make-face 'sgml-short-ref-face)
(make-face 'sgml-start-tag-face)

(set-face-foreground 'sgml-comment-face "maroon")
(set-face-foreground 'sgml-doctype-face "dark green")
(set-face-foreground 'sgml-end-tag-face "blue2")
(set-face-foreground 'sgml-entity-face "red2")
(set-face-foreground 'sgml-ignored-face "maroon")
(set-face-background 'sgml-ignored-face "gray90")
(set-face-foreground 'sgml-ms-end-face "maroon")
(set-face-foreground 'sgml-ms-start-face "maroon")
(set-face-foreground 'sgml-pi-face "maroon")
(set-face-foreground 'sgml-sgml-face "maroon")
(set-face-foreground 'sgml-short-ref-face "goldenrod")
(set-face-foreground 'sgml-start-tag-face "blue2")

(setq-default sgml-markup-faces
              '((comment . sgml-comment-face)
                (doctype . sgml-doctype-face)
                (end-tag . sgml-end-tag-face)
                (entity . sgml-entity-face)
                (ignored . sgml-ignored-face)
                (ms-end . sgml-ms-end-face)
                (ms-start . sgml-ms-start-face)
                (pi . sgml-pi-face)
                (sgml . sgml-sgml-face)
                (short-ref . sgml-short-ref-face)
                (start-tag . sgml-start-tag-face)))


(defun docbook-mode ()
  (sgml-mode)
  )



;;
;;END XML STUFF
;;
;;##################################################################

;PO mode stuff

(setq auto-mode-alist
	(cons '("\\.pox?\\'" . po-mode) auto-mode-alist))
(autoload 'po-mode "po-mode")


 (global-set-key [(f1)] (lambda () (interactive) (manual-
       entry (current-word))))

If you have a wheel mouse and are using Emacs version 21, you can add the following to your .emacs file so your wheel will work in Emacs:

;; Enable wheelmouse support by default for emacs 21
(cond (window-system
(mwheel-install)
))

If you are using the older version 20 of Emacs, add the following instead:

;; Enable wheelmouse support by default
(require 'mwheel)
displayFooter('$Date: 2008/04/10 02:37:06 $'); ?>