(setq load-path (cons "~/lib/emacs" load-path))
-(autoload 'cc-mode "cc-mode" nil t)
-(autoload 'rexx-mode "rexx-mode" nil t)
-(autoload 'cvs-update "pcl-cvs" nil t)
-(autoload 'debian-changelog-mode "debian-changelog-mode" nil t)
+(maybe-autoload 'cc-mode "cc-mode" nil t)
+(maybe-autoload 'rexx-mode "rexx-mode" nil t)
+(maybe-autoload 'cvs-update "pcl-cvs" nil t)
+(maybe-autoload 'debian-changelog-mode "debian-changelog-mode" nil t)
+(maybe-autoload 'git-status "git" nil t)
+(maybe-autoload 'git-blame-mode "git-blame" nil t)
+(maybe-autoload 'stgit "stgit" nil t)
+(and (library-exists-p "vc-git")
+ (not (memq 'GIT vc-handled-backends))
+ (setq vc-handled-backends (cons 'GIT vc-handled-backends)))
+(and (library-exists-p "quilt")
+ (load "quilt"))
(trap
(or (fboundp 'make-regexp)
;; --- Other goodies ---
-(resize-minibuffer-mode 1) ;Make minibuffer grow dynamically
+(trap (resize-minibuffer-mode 1)) ;Make minibuffer grow dynamically
(auto-compression-mode 1) ;Enable automatic compression
(setq dabbrev-case-replace nil) ;Retain case when completing
(setq next-line-add-newlines nil) ;Don't add weird newlines
'("-print0 | xargs -0r ls -ld" . "ld"))
(setq Info-fontify-maximum-menu-size 60000)
(setq ispell-dictionary "british"
- flyspell-default-dictionary "british")
-(setq browse-url-browser-function 'browse-url-mozilla
- browse-url-mozilla-program "firefox")
+ flyspell-default-dictionary "british"
+ ispell-silently-savep t)
(trap
(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
(trap (global-auto-revert-mode t))
(setq psgml-html-build-new-buffer nil)
-(setq cltl2-root-url
- "http://metalzone.distorted.org.uk/doc/cltl/")
-(setq common-lisp-hyperspec-root
- "http://metalzone.distorted.org.uk/doc/hyperspec/")
+(setq cltl2-root-url (mdw-config 'cltl-url))
+(setq common-lisp-hyperspec-root (mdw-config 'hyperspec-url))
+
+;;;----- W3 and URL fetching stuff ------------------------------------------
+
+(let ((proxy (mdw-config 'http-proxy)))
+ (setq url-proxy-services
+ `(("http" . ,proxy)
+ ("ftp" . ,proxy)
+ ("gopher" . ,proxy))))
+(setq url-cookie-untrusted-urls '("."))
+
+(setq browse-url-browser-function (mdw-good-url-browser)
+ browse-url-mozilla-program "firefox")
+
+(setq w3m-default-display-inline-images t)
+
+(setq w3-do-incremental-display t
+ w3-use-menus '(file edit view go bookmark options
+ buffers style search emacs nil help)
+ w3-display-inline-image t
+ w3-keybinding 'info)
;;;----- Calendar configuration ---------------------------------------------
(append `(("\\.p[lm]$" . perl-mode)
("\\.m$" . objc-mode)
("\\.mxd$" . c-mode)
+ ("\\.cs" . csharp-mode)
;; ("/[ch]/" . c-mode)
(,(concat "/\\("
"\\.stgit\\.msg" "\\|"
"svk-commit[^/.]*\\.tmp" "\\|"
"gitci\\.[^/.]*" "\\|"
"cvs[^/.]\\{6\\}" "\\|"
+ "quilt_header\.[^/.]\\{6\\}"
"\\)$")
. text-mode)
("\\.calc?$" . apcalc-mode)
("/\\(s\\|sh\\)/" . arm-assembler-mode)
("\\.\\(cmd\\|exec\\|rexx\\)$" . rexx-mode)
("\\.st$" . smalltalk-mode)
+ ("\\.msgs$" . messages-mode)
+ ("/all-cmds\\.in$" . cpp-messages-mode)
("\\.\\(tex\\|dtx\\)$" . latex-mode)
("\\.gc$" . haskell.-mode)
(,(concat "^" (getenv "HOME") "/News/") . mdwmail-mode)
. mdwmail-mode))
auto-mode-alist))
+(setq interpreter-mode-alist
+ (append `(("runlisp" . lisp-mode))
+ interpreter-mode-alist))
+
(setq completion-ignored-extensions
(append `(".hc" ".hi") completion-ignored-extensions))
(mapcar (lambda (hook) (add-hook hook 'mdw-misc-mode-config))
'(c-mode-hook c++-mode-hook objc-mode-hook java-mode-hook
perl-mode-hook cperl-mode-hook python-mode-hook awk-mode-hook
- tcl-mode-hook
+ tcl-mode-hook asm-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
(global-font-lock-mode t)
(defalias 'perl-mode 'cperl-mode)
+;;;----- SGML hacking -------------------------------------------------------
+
+(defun mdw-sgml-mode ()
+ (interactive)
+ (sgml-mode)
+ (mdw-standard-fill-prefix "")
+ (make-variable-buffer-local 'sgml-delimiters)
+ (setq sgml-delimiters
+ '("AND" "&" "COM" "--" "CRO" "&#" "DSC" "]" "DSO" "[" "DTGC" "]"
+ "DTGO" "[" "ERO" "&" "ETAGO" ":e" "GRPC" ")" "GRPO" "(" "LIT" "\""
+ "LITA" "'" "MDC" ">" "MDO" "<!" "MINUS" "-" "MSC" "]]" "NESTC" "{"
+ "NET" "}" "OPT" "?" "OR" "|" "PERO" "%" "PIC" ">" "PIO" "<?"
+ "PLUS" "+" "REFC" "." "REP" "*" "RNI" "#" "SEQ" "," "STAGO" ":"
+ "TAGC" "." "VI" "=" "MS-START" "<![" "MS-END" "]]>"
+ "XML-ECOM" "-->" "XML-PIC" "?>" "XML-SCOM" "<!--" "XML-TAGCE" "/>"
+ "NULL" ""))
+ (setq major-mode 'mdw-sgml-mode)
+ (setq mode-name "[mdw] SGML")
+ (run-hooks 'mdw-sgml-mode-hook))
+
;;;----- Rootly editingness -------------------------------------------------
(eval-after-load "tramp"
;; --- Configure lazy fontification ---
-(setq font-lock-support-mode 'lazy-lock-mode)
+(and (fboundp 'lazy-lock-mode)
+ (setq font-lock-support-mode 'lazy-lock-mode))
; (setq lazy-lock-defer-contextually t)
(setq lazy-lock-defer-time nil)
(setq font-lock-maximum-decoration 3)
(add-hook 'objc-mode-hook 'mdw-fontify-c-and-c++ t)
(add-hook 'c++-mode-hook 'mdw-fontify-c-and-c++ t)
(add-hook 'linux-c-mode-hook #'(lambda () (setq c-basic-offset 8)))
+(add-hook 'asm-mode-hook 'mdw-fontify-asm t)
(add-hook 'apcalc-mode-hook 'mdw-misc-mode-config t)
(add-hook 'apcalc-mode-hook 'mdw-fontify-apcalc t)
;; --- Make the shell mode aware of my prompt ---
-(setq shell-prompt-pattern "^[^]#$%>»\n]*[]#$%>»] *")
+(setq shell-prompt-pattern "^[^]#$%>»}\n]*[]#$%>»}] *")
(setq comint-password-prompt-regexp
(concat "\\(\\([Oo]ld \\|[Nn]ew \\|[a-zA-Z0-9_]*'s \\|^\\)"
"[Pp]assword\\|pass phrase\\):\\s *\\'"))
(trap (select-window mdw-init-window))
(provide 'emacs-init)
-;;;----- Emacs customization crud -------------------------------------------
-
-(custom-set-variables
- ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
- ;; Your init file should contain only one such instance.
- '(url-cookie-untrusted-urls (quote (".")))
- '(url-proxy-services (quote (("http" . "tux.nsict.org:3128") ("ftp" . "tux.nsict.org:3128") ("gopher" . "tux.nsict.org:3128"))))
- '(w3-do-incremental-display t)
- '(w3-honor-stylesheets nil)
- '(w3-use-menus (quote (file edit view go bookmark options buffers style search emacs nil help)))
- '(w3m-display-inline-image t)
- '(w3m-key-binding (quote info)))
-(custom-set-faces
- ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
- ;; Your init file should contain only one such instance.
- )
-
;;;----- That's all, folks --------------------------------------------------