chiark / gitweb /
Use UTF8 on X, and guess at console.
[profile] / emacs
diff --git a/emacs b/emacs
index d19c12aaa711a9dbba815a7580bf2b19c3fad7eb..962089463d33763ec9ddf3ff602fee8b857d46aa 100644 (file)
--- a/emacs
+++ b/emacs
 (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 (append vc-handled-backends (list 'GIT))))
+     (setq vc-handled-backends (cons 'GIT vc-handled-backends)))
 (and (library-exists-p "quilt")
      (load "quilt"))
 
 ;; --- Internationalization twiddling ---
 
 (trap
-  (standard-display-european 1)
+  ;; Have top-bit-set characters work properly in terminals.
   (let ((im (current-input-mode)))
     (apply #'set-input-mode
-          (nconc (list (nth 0 im) (nth 1 im) 0) (nthcdr 3 im))))
-  (set-language-environment "Latin-1"))
+          (nconc (list (nth 0 im) (nth 1 im) 0) (nthcdr 3 im)))))
 
 ;; --- Don't disable any commands ---
 
 
 (mdw-divvy-window)
 
+;; --- Postscript printing ---
+
+(setq ps-paper-type 'a4
+      ps-print-color-p nil
+      ps-landscape-mode t
+      ps-number-of-columns 3
+      ps-font-family 'Courier
+      ps-font-size 9)
+
+;; --- Splash screen stuff ---
+
+(or window-system
+    (setq inhibit-splash-screen t
+         inhibit-startup-message t))
+
 ;; --- 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")
+      flyspell-default-dictionary "british"
+      ispell-silently-savep t)
 (trap
   (require 'uniquify)
   (setq uniquify-buffer-name-style 'post-forward-angle-brackets)
 
 ;;;----- W3 and URL fetching stuff ------------------------------------------
 
-(let ((proxy (mdw-config 'proxy)))
+(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")
 
         (vertical-scroll-bars . right))
        (and window-system
            '((cursor-type . bar)
-             (cursor-blink . t)))
+             (cursor-blink . t)
+             (left-fringe . 5)
+             (right-fringe . 5)
+             (scroll-bar-width . 15)))
        '((cursor-color . "red"))
        (if mdw-black-background
           '((background-color . "black")
   (windmove-default-keybindings)
   (setq windmove-wrap-around t))
 (trap (iswitchb-mode))
+(global-set-key "\M-#" 'calc-dispatch)
 (global-set-key [f4] 'query-replace-regexp)
 (global-set-key [f5] 'goto-line)
 (global-set-key [f6] 'auto-fill-mode)
       (append `(("\\.p[lm]$" . perl-mode)
                ("\\.m$" . objc-mode)
                ("\\.mxd$" . c-mode)
+               ("\\.cs" . csharp-mode)
                ;; ("/[ch]/" . c-mode)
                (,(concat "/\\("
                          "\\.stgit\\.msg" "\\|"
 (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)
 (add-hook 'slime-repl-mode-hook 'mdw-fontify-lispy t)
 (add-hook 'lisp-mode-hook 'mdw-common-lisp-indent t)
 (trap
-  (require 'slime)
-  (slime-setup :autodoc t))
+  (require 'slime-autoloads)
+  (slime-setup '(slime-autodoc)))
 (trap (require 'xscheme))
 (setq-default xscheme-process-command-line "scheme -large -emacs")
 (add-hook 'inferior-lisp-mode-hook
 
 (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 && evince %f")
+       ("^dvi$" "^pstricks$\\|^pst-\\|^psfrag$"
+        "%(o?)dvips %d -o && evince %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$" "." "evince %o")
+       ("^html?$" "." "netscape %o")))
+
 ;;;----- Shell mode ---------------------------------------------------------
 
 ;; --- Make the shell mode aware of my prompt ---