emacs: Trap errors from resize-minibuffer-mode.
[profile] / emacs
diff --git a/emacs b/emacs
index 7149f6f..53b073b 100644 (file)
--- a/emacs
+++ b/emacs
 
 (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)
+(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)
                 . 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))
 
 (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"
 
 ;; --- 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" . "metalzone.distorted.org.uk:3128") ("ftp" . "metalzone.distorted.org.uk:3128") ("gopher" . "metalzone.distorted.org.uk: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 --------------------------------------------------