(tooltip-mode 0)
(tool-bar-mode 0))
(trap (or mdw-fast-startup (global-auto-revert-mode t)))
-(setq-default psgml-html-build-new-buffer nil)
(defvar mdw-black-background t)
(make-variable-buffer-local 'mdw-auto-indent)
-(mapc (lambda (hook) (add-hook hook 'mdw-misc-mode-config))
- '(c-mode-hook c++-mode-hook objc-mode-hook java-mode-hook
- csharp-mode-hook perl-mode-hook cperl-mode-hook dylan-mode-hook
- python-mode-hook pyrec-mode-hook icon-mode-hook awk-mode-hook
- tcl-mode-hook go-mode-hook js-mode-hook javascript-mode-hook
- conf-mode-hook m4-mode-hook autoconf-mode-hook autotest-mode-hook
- a68-mode-hook a68-mode-hooks asm-mode-hook fsharp-mode-hook
- scala-mode-hook rust-mode-hook TeX-mode-hook LaTeX-mode-hook
- TeXinfo-mode-hook tex-mode-hook latex-mode-hook
- texinfo-mode-hook emacs-lisp-mode-hook scheme-mode-hook
- lisp-mode-hook lisp-interaction-mode-hook makefile-mode-hook
- inferior-lisp-mode-hook slime-repl-mode-hook ielm-mode-hook
- sml-mode-hook haskell-mode-hook erlang-mode-hook
- smalltalk-mode-hook rexx-mode-hook lua-mode-hook
- arm-assembler-mode-hook))
-
(global-font-lock-mode t)
;;;--------------------------------------------------------------------------
lazy-lock-stealth-lines 100
lazy-lock-stealth-verbose t)
-(progn
- (add-hook 'c-mode-hook 'mdw-fontify-c-and-c++ t)
- (add-hook 'objc-mode-hook 'mdw-fontify-c-and-c++ t)
- (add-hook 'c++-mode-hook 'mdw-fontify-c-and-c++ t)
- (add-hook 'asm-mode-hook 'mdw-fontify-asm t)
- (add-hook 'go-mode-hook 'mdw-fontify-go t)
- (add-hook 'rust-mode-hook 'mdw-fontify-rust t)
-
- (add-hook 'lua-mode-hook 'mdw-fontify-lua t)
- (add-hook 'icon-mode-hook 'mdw-fontify-icon t)
-
- (add-hook 'apcalc-mode-hook 'mdw-misc-mode-config t)
- (add-hook 'apcalc-mode-hook 'mdw-fontify-apcalc t)
-
- (add-hook 'java-mode-hook 'mdw-fontify-java t)
- (add-hook 'scala-mode-hook 'mdw-fontify-scala t)
- (add-hook 'js-mode-hook 'mdw-fontify-javascript t)
- (add-hook 'csharp-mode-hook 'mdw-fontify-csharp t)
- (add-hook 'fsharp-mode-hook 'mdw-fontify-fsharp t)
- (add-hook 'inferior-fsharp-mode-hooks 'mdw-fontify-inferior-fsharp t)
-
- (add-hook 'awk-mode-hook 'mdw-fontify-awk t)
-
- (add-hook 'perl-mode-hook 'mdw-fontify-perl t)
- (add-hook 'cperl-mode-hook 'mdw-fontify-perl t))
-
-(progn
- (setq-default py-indent-offset 2
- python-indent 2
- python-indent-offset 2
- py-python-command-args
- `("-i" "-colors" ,(if mdw-black-background
- "Linux" "LightBG")))
- (add-hook 'python-mode-hook 'mdw-fontify-python t)
- (add-hook 'pyrex-mode-hook 'mdw-fontify-pyrex t))
-
-(setq-default tcl-indent-level 2)
-(add-hook 'tcl-mode-hook 'mdw-fontify-tcl t)
-
-(add-hook 'rexx-mode-hook 'mdw-fontify-rexx t)
-
-(setq-default sml-nested-if-indent t
- sml-case-indent nil
- sml-indent-level 4
- sml-type-of-indent nil)
-(add-hook 'sml-mode-hook 'mdw-fontify-sml t)
-
-(add-hook 'haskell-mode-hook 'mdw-fontify-haskell t)
-(setq-default haskell-indent-offset 2)
-
-(add-hook 'erlang-mode-hook 'mdw-fontify-erlang t)
-
-(add-hook 'texinfo-mode-hook 'mdw-fontify-texinfo t)
-(add-hook 'TeXinfo-mode-hook 'mdw-fontify-texinfo t)
-
-(setq-default LaTeX-table-label "tbl:"
- TeX-auto-untabify nil)
-(add-hook 'TeX-mode-hook 'mdw-fontify-tex t)
-(add-hook 'tex-mode-hook 'mdw-fontify-tex t)
-(add-hook 'LaTeX-mode-hook 'mdw-fontify-tex t)
-(add-hook 'latex-mode-hook 'mdw-fontify-tex t)
-
-(add-hook 'sh-mode-hook #'mdw-setup-sh-script-mode)
-(add-hook 'autoconf-mode-hook #'mdw-setup-m4)
-(add-hook 'autotest-mode-hook #'mdw-setup-m4)
-(add-hook 'm4-mode-hook #'mdw-setup-m4)
-
-(add-hook 'smalltalk-mode-hook 'mdw-fontify-smalltalk t)
-(add-hook 'smalltalk-mode-hook 'mdw-setup-smalltalk t)
-
-(add-hook 'a68-mode-hook 'mdw-fontify-algol-68 t)
-(add-hook 'a68-mode-hooks 'mdw-fontify-algol-68 t)
-(add-hook 'dylan-mode-hook 'mdw-fontify-dylan t)
-
-(progn
- (add-hook 'emacs-lisp-mode-hook 'mdw-fontify-lispy t)
- (add-hook 'scheme-mode-hook 'mdw-fontify-lispy t)
- (add-hook 'lisp-mode-hook 'mdw-fontify-lispy t)
- (add-hook 'inferior-lisp-mode-hook 'mdw-fontify-lispy t)
- (add-hook 'lisp-interaction-mode-hook 'mdw-fontify-lispy t)
- (add-hook 'ielm-mode-hook 'mdw-fontify-lispy t)
- (add-hook 'slime-repl-mode-hook 'mdw-fontify-lispy t)
- (add-hook 'lisp-mode-hook 'mdw-common-lisp-indent t)
- (add-hook 'inferior-lisp-mode-hook
- #'(lambda ()
- (local-set-key "\C-m" 'comint-send-and-indent)) t))
-
-(add-hook 'text-mode-hook 'mdw-text-mode t)
-
-;;;--------------------------------------------------------------------------
-;;; TeX stuff.
-
-(setq TeX-output-view-style
- '(("^dvi$"
- ("^landscape$" "^pstricks$\\|^pst-\\|^psfrag$")
- "%(o?)dvips -t landscape %d -o && xdg-open %f")
- ("^dvi$" "^pstricks$\\|^pst-\\|^psfrag$"
- "%(o?)dvips %d -o && xdg-open %f")
- ("^dvi$"
- ("^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$" "^landscape$")
- "%(o?)xdvi %dS -paper a4r -s 0 %d")
- ("^dvi$" "^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$"
- "%(o?)xdvi %dS -paper a4 %d")
- ("^dvi$"
- ("^a5\\(?:comb\\|paper\\)$" "^landscape$")
- "%(o?)xdvi %dS -paper a5r -s 0 %d")
- ("^dvi$" "^a5\\(?:comb\\|paper\\)$" "%(o?)xdvi %dS -paper a5 %d")
- ("^dvi$" "^b5paper$" "%(o?)xdvi %dS -paper b5 %d")
- ("^dvi$" "^letterpaper$" "%(o?)xdvi %dS -paper us %d")
- ("^dvi$" "^legalpaper$" "%(o?)xdvi %dS -paper legal %d")
- ("^dvi$" "^executivepaper$" "%(o?)xdvi %dS -paper 7.25x10.5in %d")
- ("^dvi$" "." "%(o?)xdvi %dS %d")
- ("^pdf$" "." "xdg-open %o")
- ("^html?$" "." "sensible-browser %o")))
-
-(setq TeX-view-program-list
- '(("mupdf" ("mupdf %o" (mode-io-correlate " %(outpage)")))))
-
-(setq TeX-view-program-selection
- '(((output-dvi style-pstricks) "dvips and gv")
- (output-dvi "xdvi")
- (output-pdf "mupdf")
- (output-html "sensible-browser")))
-
-(setq TeX-open-quote "\""
- TeX-close-quote "\"")
-
-(setq reftex-use-external-file-finders t
- reftex-auto-recenter-toc t)
-
-(setq reftex-label-alist
- '(("theorem" ?T "th:" "~\\ref{%s}" t ("theorems?" "th\\.") -2)
- ("axiom" ?A "ax:" "~\\ref{%s}" t ("axioms?" "ax\\.") -2)
- ("definition" ?D "def:" "~\\ref{%s}" t ("definitions?" "def\\.") -2)
- ("proposition" ?P "prop:" "~\\ref{%s}" t
- ("propositions?" "prop\\.") -2)
- ("lemma" ?L "lem:" "~\\ref{%s}" t ("lemmas?" "lem\\.") -2)
- ("example" ?X "eg:" "~\\ref{%s}" t ("examples?") -2)
- ("exercise" ?E "ex:" "~\\ref{%s}" t ("exercises?" "ex\\.") -2)
- ("enumerate" ?i "i:" "~\\ref{%s}" item ("items?"))))
-(setq reftex-section-prefixes
- '((0 . "part:")
- (1 . "ch:")
- (t . "sec:")))
-
-(setq bibtex-field-delimiters 'double-quotes
- bibtex-align-at-equal-sign t
- bibtex-entry-format '(realign opts-or-alts required-fields
- numerical-fields last-comma delimiters
- unify-case sort-fields braces)
- bibtex-sort-ignore-string-entries nil
- bibtex-maintain-sorted-entries 'entry-class
- bibtex-include-OPTkey t
- bibtex-autokey-names-stretch 1
- bibtex-autokey-expand-strings t
- bibtex-autokey-name-separator "-"
- bibtex-autokey-year-length 4
- bibtex-autokey-titleword-separator "-"
- bibtex-autokey-name-year-separator "-"
- bibtex-autokey-year-title-separator ":")
-
-;;;--------------------------------------------------------------------------
-;;; SLIME setup.
-
-(trap
- (if (not mdw-fast-startup)
- (progn
- (require 'slime-autoloads)
- (slime-setup '(slime-autodoc slime-c-p-c)))))
-
-(let ((stuff '((cmucl ("cmucl"))
- (sbcl ("sbcl") :coding-system utf-8-unix)
- (clisp ("clisp") :coding-system utf-8-unix))))
- (or (boundp 'slime-lisp-implementations)
- (setq slime-lisp-implementations nil))
- (while stuff
- (let* ((head (car stuff))
- (found (assq (car head) slime-lisp-implementations)))
- (setq stuff (cdr stuff))
- (if found
- (rplacd found (cdr head))
- (setq slime-lisp-implementations
- (cons head slime-lisp-implementations))))))
-(setq slime-default-lisp 'sbcl)
+;; Late, for `mdw-black-background'.
+(setq-default py-python-command-args
+ `("-i" "-colors" ,(if mdw-black-background "Linux" "LightBG")))
;;;--------------------------------------------------------------------------
;;; Blogging.
"Major mode for editing Sod code.")
(push '("\\.sod$" . sod-mode) auto-mode-alist)
+(dolist (hook '(c-mode-hook objc-mode-hook c++-mode-hook))
+ (add-hook hook 'mdw-misc-mode-config t)
+ (add-hook hook 'mdw-fontify-c-and-c++ t))
+
;;;--------------------------------------------------------------------------
;;; AP calc mode.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'apcalc-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'apcalc-mode-hook 'mdw-fontify-apcalc t))
+
;;;--------------------------------------------------------------------------
;;; Java programming configuration.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'java-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'java-mode-hook 'mdw-fontify-java t))
+
;;;--------------------------------------------------------------------------
;;; Javascript programming configuration.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'js-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'js-mode-hook 'mdw-fontify-javascript t))
+
;;;--------------------------------------------------------------------------
;;; Scala programming configuration.
'(1 "\"")
'(4 "\""))))))
+(progn
+ (add-hook 'scala-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'scala-mode-hook 'mdw-fontify-scala t))
+
;;;--------------------------------------------------------------------------
;;; C# programming configuration.
(define-derived-mode csharp-mode java-mode "C#"
"Major mode for editing C# code.")
+(add-hook 'csharp-mode-hook 'mdw-fontify-csharp t)
+
;;;--------------------------------------------------------------------------
;;; F# programming configuration.
(list "^>" '(0 font-lock-keyword-face)))
font-lock-keywords)))
+(progn
+ (add-hook 'fsharp-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'fsharp-mode-hook 'mdw-fontify-fsharp t)
+ (add-hook 'inferior-fsharp-mode-hooks 'mdw-fontify-inferior-fsharp t))
+
;;;--------------------------------------------------------------------------
;;; Go programming configuration.
;; And anything else is punctuation.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'go-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'go-mode-hook 'mdw-fontify-go t))
;;;--------------------------------------------------------------------------
;;; Rust programming configuration.
(local-set-key [?{] 'mdw-self-insert-and-indent)
(local-set-key [?}] 'mdw-self-insert-and-indent))
+(progn
+ (add-hook 'rust-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'rust-mode-hook 'mdw-fontify-rust t))
+
;;;--------------------------------------------------------------------------
;;; Awk programming configuration.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'awk-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'awk-mode-hook 'mdw-fontify-awk t))
+
;;;--------------------------------------------------------------------------
;;; Perl programming style.
(if (re-search-forward "\\(tests\\s-*=>\\s-*\\)\\w*" nil t)
(replace-match (format "\\1%d" i))))))
+(dolist (hook '(perl-mode-hook cperl-mode-hook))
+ (add-hook hook 'mdw-misc-mode-config t)
+ (add-hook hook 'mdw-fontify-perl t))
+
;;;--------------------------------------------------------------------------
;;; Python programming style.
+(setq-default py-indent-offset 2
+ python-indent 2
+ python-indent-offset 2
+ python-fill-docstring-style 'symmetric)
+
(defun mdw-fontify-pythonic (keywords)
;; Miscellaneous fiddling.
("\\.pxi$" . pyrex-mode))
auto-mode-alist))
+(progn
+ (add-hook 'python-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'python-mode-hook 'mdw-fontify-python t)
+ (add-hook 'pyrex-mode-hook 'mdw-fontify-pyrex t))
+
;;;--------------------------------------------------------------------------
;;; Lua programming style.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'lua-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'lua-mode-hook 'mdw-fontify-lua t))
+
;;;--------------------------------------------------------------------------
;;; Icon programming style.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'icon-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'icon-mode-hook 'mdw-fontify-icon t))
+
;;;--------------------------------------------------------------------------
;;; Assembler mode.
(add-hook 'asm-mode-local-variables-hook 'mdw-asm-set-comment)
(put 'asm-comment-char 'safe-local-variable 'characterp)
+(progn
+ (add-hook 'asm-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'asm-mode-hook 'mdw-fontify-asm t))
+
;;;--------------------------------------------------------------------------
;;; TCL configuration.
+(setq-default tcl-indent-level 2)
+
(defun mdw-fontify-tcl ()
(dolist (ch '(?$))
(modify-syntax-entry ch "."))
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face)))))
+(progn
+ (add-hook 'tcl-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'tcl-mode-hook 'mdw-fontify-tcl t))
+
;;;--------------------------------------------------------------------------
;;; Dylan programming configuration.
"\\)")
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'dylan-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'dylan-mode-hook 'mdw-fontify-dylan t))
+
;;;--------------------------------------------------------------------------
;;; Algol 68 configuration.
(list "\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/"
'(0 mdw-punct-face))))))
+(dolist (hook '(a68-mode-hook a68-mode-hooks))
+ (add-hook hook 'mdw-misc-mode-config t)
+ (add-hook hook 'mdw-fontify-algol-68 t))
+
;;;--------------------------------------------------------------------------
;;; REXX configuration.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'rexx-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'rexx-mode-hook 'mdw-fontify-rexx t))
+
;;;--------------------------------------------------------------------------
;;; Standard ML programming style.
+(setq-default sml-nested-if-indent t
+ sml-case-indent nil
+ sml-indent-level 4
+ sml-type-of-indent nil)
+
(defun mdw-fontify-sml ()
;; Make underscore an honorary letter.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'sml-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'sml-mode-hook 'mdw-fontify-sml t))
+
;;;--------------------------------------------------------------------------
;;; Haskell configuration.
+(setq-default haskell-indent-offset 2)
+
(defun mdw-fontify-haskell ()
;; Fiddle with syntax table to get comments right.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'haskell-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'haskell-mode-hook 'mdw-fontify-haskell t))
+
;;;--------------------------------------------------------------------------
;;; Erlang configuration.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face))))))
+(progn
+ (add-hook 'erlang-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'erlang-mode-hook 'mdw-fontify-erlang t))
+
;;;--------------------------------------------------------------------------
;;; Texinfo configuration.
(list "[{}]+"
'(0 mdw-punct-face)))))
+(dolist (hook '(texinfo-mode-hook TeXinfo-mode-hook))
+ (add-hook hook 'mdw-misc-mode-config t)
+ (add-hook hook 'mdw-fontify-texinfo t))
+
;;;--------------------------------------------------------------------------
;;; TeX and LaTeX configuration.
+(setq-default LaTeX-table-label "tbl:"
+ TeX-auto-untabify nil
+ LaTeX-syntactic-comments nil
+ LaTeX-fill-break-at-separators '(\\\[))
+
(defun mdw-fontify-tex ()
(setq ispell-parser 'tex)
(turn-on-reftex)
(unless modified
(restore-buffer-modified-p nil)))))))
-(setq-default LaTeX-syntactic-comments nil
- LaTeX-fill-break-at-separators '(\\\[))
-
-(add-hook 'bibtex-mode-hook (lambda () (setq fill-column 76)))
+(setq TeX-output-view-style
+ '(("^dvi$"
+ ("^landscape$" "^pstricks$\\|^pst-\\|^psfrag$")
+ "%(o?)dvips -t landscape %d -o && xdg-open %f")
+ ("^dvi$" "^pstricks$\\|^pst-\\|^psfrag$"
+ "%(o?)dvips %d -o && xdg-open %f")
+ ("^dvi$"
+ ("^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$" "^landscape$")
+ "%(o?)xdvi %dS -paper a4r -s 0 %d")
+ ("^dvi$" "^a4\\(?:dutch\\|paper\\|wide\\)\\|sem-a4$"
+ "%(o?)xdvi %dS -paper a4 %d")
+ ("^dvi$"
+ ("^a5\\(?:comb\\|paper\\)$" "^landscape$")
+ "%(o?)xdvi %dS -paper a5r -s 0 %d")
+ ("^dvi$" "^a5\\(?:comb\\|paper\\)$" "%(o?)xdvi %dS -paper a5 %d")
+ ("^dvi$" "^b5paper$" "%(o?)xdvi %dS -paper b5 %d")
+ ("^dvi$" "^letterpaper$" "%(o?)xdvi %dS -paper us %d")
+ ("^dvi$" "^legalpaper$" "%(o?)xdvi %dS -paper legal %d")
+ ("^dvi$" "^executivepaper$" "%(o?)xdvi %dS -paper 7.25x10.5in %d")
+ ("^dvi$" "." "%(o?)xdvi %dS %d")
+ ("^pdf$" "." "xdg-open %o")
+ ("^html?$" "." "sensible-browser %o")))
+
+(setq TeX-view-program-list
+ '(("mupdf" ("mupdf %o" (mode-io-correlate " %(outpage)")))))
+
+(setq TeX-view-program-selection
+ '(((output-dvi style-pstricks) "dvips and gv")
+ (output-dvi "xdvi")
+ (output-pdf "mupdf")
+ (output-html "sensible-browser")))
+
+(setq TeX-open-quote "\""
+ TeX-close-quote "\"")
+
+(setq reftex-use-external-file-finders t
+ reftex-auto-recenter-toc t)
+
+(setq reftex-label-alist
+ '(("theorem" ?T "th:" "~\\ref{%s}" t ("theorems?" "th\\.") -2)
+ ("axiom" ?A "ax:" "~\\ref{%s}" t ("axioms?" "ax\\.") -2)
+ ("definition" ?D "def:" "~\\ref{%s}" t ("definitions?" "def\\.") -2)
+ ("proposition" ?P "prop:" "~\\ref{%s}" t
+ ("propositions?" "prop\\.") -2)
+ ("lemma" ?L "lem:" "~\\ref{%s}" t ("lemmas?" "lem\\.") -2)
+ ("example" ?X "eg:" "~\\ref{%s}" t ("examples?") -2)
+ ("exercise" ?E "ex:" "~\\ref{%s}" t ("exercises?" "ex\\.") -2)
+ ("enumerate" ?i "i:" "~\\ref{%s}" item ("items?"))))
+(setq reftex-section-prefixes
+ '((0 . "part:")
+ (1 . "ch:")
+ (t . "sec:")))
+
+(setq bibtex-field-delimiters 'double-quotes
+ bibtex-align-at-equal-sign t
+ bibtex-entry-format '(realign opts-or-alts required-fields
+ numerical-fields last-comma delimiters
+ unify-case sort-fields braces)
+ bibtex-sort-ignore-string-entries nil
+ bibtex-maintain-sorted-entries 'entry-class
+ bibtex-include-OPTkey t
+ bibtex-autokey-names-stretch 1
+ bibtex-autokey-expand-strings t
+ bibtex-autokey-name-separator "-"
+ bibtex-autokey-year-length 4
+ bibtex-autokey-titleword-separator "-"
+ bibtex-autokey-name-year-separator "-"
+ bibtex-autokey-year-title-separator ":")
+
+(progn
+ (dolist (hook '(tex-mode-hook latex-mode-hook
+ TeX-mode-hook LaTeX-mode-hook))
+ (add-hook hook 'mdw-misc-mode-config t)
+ (add-hook hook 'mdw-fontify-tex t))
+ (add-hook 'bibtex-mode-hook (lambda () (setq fill-column 76))))
;;;--------------------------------------------------------------------------
;;; HTML, CSS, and other web foolishness.
;;;--------------------------------------------------------------------------
;;; SGML hacking.
+(setq-default psgml-html-build-new-buffer nil)
+
(defun mdw-sgml-mode ()
(interactive)
(sgml-mode)
(modify-syntax-entry ch "." table))
(set-syntax-table table)
(and font-lock-mode (font-lock-fontify-buffer)))))))
-(add-hook 'conf-mode-local-variables-hook 'mdw-fix-up-quote t t)
+
+(progn
+ (add-hook 'conf-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'conf-mode-local-variables-hook 'mdw-fix-up-quote t t))
;;;--------------------------------------------------------------------------
;;; Shell scripts.
(cons (cons 'rc frag)
sh-mode-syntax-table-input))))))
+(progn
+ (add-hook 'sh-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'sh-mode-hook 'mdw-setup-sh-script-mode t))
+
;;;--------------------------------------------------------------------------
;;; Emacs shell mode.
messages-mode-keywords)))
(run-hooks 'cpp-messages-mode-hook))
-(add-hook 'messages-mode-hook 'mdw-misc-mode-config t)
-(add-hook 'cpp-messages-mode-hook 'mdw-misc-mode-config t)
-; (add-hook 'messages-file-hook 'mdw-fontify-messages t)
+(progn
+ (add-hook 'messages-mode-hook 'mdw-misc-mode-config t)
+ (add-hook 'cpp-messages-mode-hook 'mdw-misc-mode-config t)
+ ;; (add-hook 'messages-file-hook 'mdw-fontify-messages t)
+ )
;;;--------------------------------------------------------------------------
;;; Messages-file mode.
(setq comment-end "")
(run-hooks 'mallow-driver-mode-hook))
-(add-hook 'mallow-driver-hook 'mdw-misc-mode-config t)
+(progn
+ (add-hook 'mallow-driver-hook 'mdw-misc-mode-config t))
;;;--------------------------------------------------------------------------
;;; NFast debugs.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face)))))
+;; SLIME setup.
+
+(trap
+ (if (not mdw-fast-startup)
+ (progn
+ (require 'slime-autoloads)
+ (slime-setup '(slime-autodoc slime-c-p-c)))))
+
+(let ((stuff '((cmucl ("cmucl"))
+ (sbcl ("sbcl") :coding-system utf-8-unix)
+ (clisp ("clisp") :coding-system utf-8-unix))))
+ (or (boundp 'slime-lisp-implementations)
+ (setq slime-lisp-implementations nil))
+ (while stuff
+ (let* ((head (car stuff))
+ (found (assq (car head) slime-lisp-implementations)))
+ (setq stuff (cdr stuff))
+ (if found
+ (rplacd found (cdr head))
+ (setq slime-lisp-implementations
+ (cons head slime-lisp-implementations))))))
+(setq slime-default-lisp 'sbcl)
+
+;; Hooks.
+
+(progn
+ (dolist (hook '(emacs-lisp-mode-hook
+ scheme-mode-hook
+ lisp-mode-hook
+ inferior-lisp-mode-hook
+ lisp-interaction-mode-hook
+ ielm-mode-hook
+ slime-repl-mode-hook))
+ (add-hook hook 'mdw-misc-mode-config t)
+ (add-hook hook 'mdw-fontify-lispy t))
+ (add-hook 'lisp-mode-hook 'mdw-common-lisp-indent t)
+ (add-hook 'inferior-lisp-mode-hook
+ #'(lambda () (local-set-key "\C-m" 'comint-send-and-indent)) t))
+
;;;--------------------------------------------------------------------------
;;; Other languages.
(list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
'(0 mdw-punct-face)))))
+(progn
+ (add-hook 'smalltalk-mode 'mdw-misc-mode-config t)
+ (add-hook 'smalltalk-mode 'mdw-fontify-smalltalk t))
+
;; m4.
(defun mdw-setup-m4 ()
;; Fill prefix.
(mdw-standard-fill-prefix "\\([ \t]*\\(?:#+\\|\\<dnl\\>\\)[ \t]*\\)"))
+(dolist (hook '(m4-mode-hook autoconf-mode-hook autotest-mode-hook))
+ (add-hook hook #'mdw-misc-mode-config t)
+ (add-hook hook #'mdw-setup-m4 t))
+
+;; Make.
+
+(progn
+ (add-hook 'makefile-mode-hook 'mdw-misc-mode-config t))
+
;;;--------------------------------------------------------------------------
;;; Text mode.
(eval-after-load "flyspell"
'(define-key flyspell-mode-map "\C-\M-i" nil))
+(progn
+ (add-hook 'text-mode-hook 'mdw-text-mode t))
+
;;;--------------------------------------------------------------------------
;;; Outline and hide/show modes.