chiark / gitweb /
Merge commit 'ponder'
authorMark Wooding <mdw@distorted.org.uk>
Thu, 10 Dec 2009 17:48:11 +0000 (17:48 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 10 Dec 2009 17:48:11 +0000 (17:48 +0000)
* commit 'ponder':
  el/dot-emacs.el: Lots of face settings for monochrome terminals.
  dot/emacs: Remove frame background setting.
  dot/emacs: Expunge `quilt' support.
  dot/emacs: Fix tramp runes.

1  2 
dot/emacs
el/dot-emacs.el

diff --combined dot/emacs
index 59ac6bfb4b5892f17839e333296294e2af13001a,c1e542aee3584d49fcfdf47115fb6bb771c0307f..649eaafa96af8655e29b0f745b8b8774809c5ce1
+++ b/dot/emacs
  
  (and (library-exists-p "vc-git")
       (not (memq 'GIT vc-handled-backends))
+      (not (memq 'Git vc-handled-backends))
       (setq vc-handled-backends (cons 'GIT vc-handled-backends)))
- (and (library-exists-p "quilt")
-      (not mdw-fast-startup)
-      (load "quilt"))
  
  (trap (or mdw-fast-startup (require 'p4)))
  
@@@ -89,9 -87,9 +87,9 @@@
  ;; Emacs server behaviour.
  
  (and (or window-system (>= emacs-major-version 23))
 -     (trap (setq server-temp-file-regexp (concat "^" tmpdir "\\|/draft$"))
 -         (server-start)
 -         (gnuserv-start)))
 +     (progn (setq server-temp-file-regexp (concat "^" tmpdir "\\|/draft$")
 +                gnuserv-frame t)
 +          (trap (server-start))))
  
  ;; Control backup behaviour.
  
         (scroll-bar-width . 15)
         (cursor-color . "red"))
         (if mdw-black-background
-          '((background-color . "black")
-            (foreground-color . "white")
-            (background-mode . dark))
+          '((background-mode . dark))
         '((background-mode . light)))
         (and (eq window-system 'pm)
            '((font . "-os2-System VIO-medium-r-normal--*-40-*-*-m-*-cp850")
              (menu-font . "8.Helv")
              (background-color . "lightgrey")))
-        '((transparency . t))
         default-frame-alist))
  
  ;; Other frame fiddling.
                ("\\.m$" . objc-mode)
                ("\\.mxd$" . c-mode)
                ("\\.cs$" . csharp-mode)
 +              ("\\.go$" . go-mode)
                ("\\.org$" . org-mode)
                ;; ("/[ch]/" . c-mode)
                (,(concat "/\\("
        '(c-mode-hook c++-mode-hook objc-mode-hook java-mode-hook
          csharp-mode-hook perl-mode-hook cperl-mode-hook
          python-mode-hook pyrec-mode-hook icon-mode-hook awk-mode-hook
 -        tcl-mode-hook
 +        tcl-mode-hook go-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
               (tramp-copy-program nil)
               (tramp-copy-args nil)
               (tramp-copy-keep-date-arg nil)
-              (tramp-login-args ("TERM=dumb" "%u")))
+              (tramp-login-args (("TERM=dumb" "%u"))))
              ("really"
               (tramp-connection-function tramp-open-connection-su)
               (tramp-login-program "really")
-              (tramp-login-args ("-u" "%u" "--"
-                                 "env" "TERM=dumb" "/bin/sh"))
+              (tramp-login-args (("-u" "%u")
+                                 ("--")
+                                 ("env" "TERM=dumb" "/bin/sh")))
               (tramp-copy-program nil)
               (tramp-copy-args nil)
               (tramp-copy-keep-date-arg nil)
    (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 'go-mode-hook 'mdw-fontify-go t)
  
    (add-hook 'icon-mode-hook 'mdw-fontify-icon t)
  
diff --combined el/dot-emacs.el
index f4cfadb8e9d08f610ff725565e2e63b978289a2f,0a8d390bed254450f877c5f60a3d655d3deb325b..5cfc34b22c19962c0fc24b28e6ddee37f3376e87
@@@ -505,42 -505,6 +505,42 @@@ CHECK is fboundp, and returning the cor
          (setq answer func)))
      answer))
  
 +(eval-after-load "w3m-search"
 +  '(progn
 +     (dolist
 +       (item
 +        '(("g" "Google" "http://www.google.co.uk/search?q=%s")
 +          ("gd" "Google Directory"
 +           "http://www.google.com/search?cat=gwd/Top&q=%s")
 +          ("gg" "Google Groups" "http://groups.google.com/groups?q=%s")
 +          ("ward" "Ward's wiki" "http://c2.com/cgi/wiki?%s")
 +          ("gi" "Images" "http://images.google.com/images?q=%s")
 +          ("rfc" "RFC"
 +           "http://metalzone.distorted.org.uk/ftp/pub/mirrors/rfc/rfc%s.txt.gz")
 +          ("wp" "Wikipedia"
 +           "http://en.wikipedia.org/wiki/Special:Search?go=Go&search=%s")
 +          ("imdb" "IMDb" "http://www.imdb.com/Find?%s")
 +          ("nc-wiki" "nCipher wiki"
 +           "http://wiki.ncipher.com/wiki/bin/view/Devel/?topic=%s")
 +          ("map" "Google maps" "http://maps.google.co.uk/maps?q=%s&hl=en")
 +          ("lp" "Launchpad bug by number"
 +           "https://bugs.launchpad.net/bugs/%s")
 +          ("lppkg" "Launchpad bugs by package"
 +           "https://bugs.launchpad.net/%s")
 +          ("msdn" "MSDN"
 +           "http://social.msdn.microsoft.com/Search/en-GB/?query=%s&ac=8")
 +          ("debbug" "Debian bug by number"
 +           "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%s")
 +          ("debbugpkg" "Debian bugs by package"
 +           "http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=%s")
 +          ("ljlogin" "LJ login" "http://www.livejournal.com/login.bml")))
 +       (add-to-list 'w3m-search-engine-alist
 +                  (list (cadr item) (caddr item) nil))
 +       (add-to-list 'w3m-uri-replace-alist
 +                  (list (concat "\\`" (car item) ":")
 +                        'w3m-search-uri-replace
 +                        (cadr item))))))
 +
  ;;;--------------------------------------------------------------------------
  ;;; Paragraph filling.
  
@@@ -720,24 -684,6 +720,24 @@@ doesn't match any of the regular expres
           answer))))
  (setq backup-enable-predicate 'mdw-backup-enable-predicate)
  
 +;; Frame cleanup.
 +
 +(defun mdw-last-one-out-turn-off-the-lights (frame)
 +  "Disconnect from an X display if this was the last frame on that display."
 +  (let ((frame-display (frame-parameter frame 'display)))
 +    (when (and frame-display
 +             (eq window-system 'x)
 +             (not (some (lambda (fr)
 +                          (message "checking frame %s" frame)
 +                          (and (not (eq fr frame))
 +                               (string= (frame-parameter fr 'display)
 +                                        frame-display)
 +                               (progn "frame %s still uses us" nil)))
 +                        (frame-list))))
 +      (message "turn out the lights")
 +      (run-with-idle-timer 0 nil #'x-close-connection frame-display))))
 +(add-hook 'delete-frame-functions 'mdw-last-one-out-turn-off-the-lights)
 +
  ;;;--------------------------------------------------------------------------
  ;;; General fontification.
  
  (mdw-define-face default
    (((type w32)) :family "courier new" :height 85)
    (((type x)) :family "6x13" :height 130)
-   (t :foreground "white" :background "black"))
+   (((type color)) :foreground "white" :background "black")
+   (t nil))
  (mdw-define-face fixed-pitch
    (((type w32)) :family "courier new" :height 85)
    (((type x)) :family "6x13" :height 130)
    (mdw-define-face variable-pitch
      (((type x)) :family "helvetica" :height 120)))
  (mdw-define-face region
-   (((type tty)) :background "blue") (t :background "grey30"))
+   (((type tty) (class color)) :background "blue")
+   (((type tty) (class mono)) :inverse-video t)
+   (t :background "grey30"))
  (mdw-define-face minibuffer-prompt
    (t :weight bold))
  (mdw-define-face mode-line
-   (t :foreground "blue" :background "yellow"
-      :box (:line-width 1 :style released-button)))
+   (((class color)) :foreground "blue" :background "yellow"
+                  :box (:line-width 1 :style released-button))
+   (t :inverse-video t))
  (mdw-define-face mode-line-inactive
-   (t :foreground "yellow" :background "blue"
-      :box (:line-width 1 :style released-button)))
+   (((class color)) :foreground "yellow" :background "blue"
+                  :box (:line-width 1 :style released-button))
+   (t :inverse-video t))
  (mdw-define-face scroll-bar
    (t :foreground "black" :background "lightgrey"))
  (mdw-define-face fringe
    (t :foreground "yellow"))
  (mdw-define-face show-paren-match
-   (t :background "darkgreen"))
+   (((class color)) :background "darkgreen")
+   (t :underline t))
  (mdw-define-face show-paren-mismatch
-   (t :background "red"))
+   (((class color)) :background "red")
+   (t :inverse-video t))
  (mdw-define-face highlight
-   (t :background "DarkSeaGreen4"))
+   (((class color)) :background "DarkSeaGreen4")
+   (t :inverse-video t))
  
  (mdw-define-face holiday-face
    (t :background "red"))
  
  (mdw-define-face comint-highlight-prompt
    (t :weight bold))
- (mdw-define-face comint-highlight-input
-   (t :slant italic))
+ (mdw-define-face comint-highlight-input)
  
  (mdw-define-face trailing-whitespace
-   (t :background "red"))
+   (((class color)) :background "red")
+   (t :inverse-video t))
  (mdw-define-face mdw-punct-face
    (((type tty)) :foreground "yellow") (t :foreground "burlywood2"))
  (mdw-define-face mdw-number-face
    (t :slant italic))
  (mdw-define-face font-lock-builtin-face
    (t :weight bold))
 +(mdw-define-face font-lock-type-face
 +  (t :weight bold :slant italic))
  (mdw-define-face font-lock-reference-face
    (t :weight bold))
  (mdw-define-face font-lock-variable-name-face
    (t :slant italic))
  (mdw-define-face font-lock-comment-delimiter-face
-   (default :slant italic)
-   (((type tty)) :foreground "green") (t :foreground "SeaGreen1"))
+   (((class mono)) :weight bold)
+   (((type tty) (class color)) :foreground "green")
+   (t :slant italic :foreground "SeaGreen1"))
  (mdw-define-face font-lock-comment-face
-   (default :slant italic)
-   (((type tty)) :foreground "green") (t :foreground "SeaGreen1"))
+   (((class mono)) :weight bold)
+   (((type tty) (class color)) :foreground "green")
+   (t :slant italic :foreground "SeaGreen1"))
  (mdw-define-face font-lock-string-face
-   (t :foreground "SkyBlue1"))
+   (((class mono)) :weight bold)
+   (((class color)) :foreground "SkyBlue1"))
  (mdw-define-face message-separator
    (t :background "red" :foreground "white" :weight bold))
  (mdw-define-face message-cited-text
  (define-derived-mode csharp-mode java-mode "C#"
    "Major mode for editing C# code.")
  
 +;;;--------------------------------------------------------------------------
 +;;; Go programming configuration.
 +
 +(defun mdw-fontify-go ()
 +
 +  (make-local-variable 'font-lock-keywords)
 +  (let ((go-keywords
 +       (mdw-regexps "break" "case" "chan" "const" "continue"
 +                    "default" "defer" "else" "fallthrough" "for"
 +                    "func" "go" "goto" "if" "import"
 +                    "interface" "map" "package" "range" "return"
 +                    "select" "struct" "switch" "type" "var")))
 +
 +    (setq font-lock-keywords
 +        (list
 +
 +         ;; Handle the keywords defined above.
 +         (list (concat "\\<\\(" go-keywords "\\)\\>")
 +               '(0 font-lock-keyword-face))
 +
 +         ;; Handle numbers too.
 +         ;;
 +         ;; The following isn't quite right, but it's close enough.
 +         (list (concat "\\<\\("
 +                       "0\\([xX][0-9a-fA-F]+\\|[0-7]+\\)\\|"
 +                       "[0-9]+\\(\\.[0-9]*\\|\\)"
 +                       "\\([eE]\\([-+]\\|\\)[0-9]+\\|\\)\\)")
 +               '(0 mdw-number-face))
 +
 +         ;; And anything else is punctuation.
 +         (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
 +               '(0 mdw-punct-face))))))
 +
  ;;;--------------------------------------------------------------------------
  ;;; Awk programming configuration.
  
@@@ -2285,9 -2206,6 +2295,9 @@@ strip numbers instead.
  
  (setq hs-hide-comments-when-hiding-all nil)
  
 +(defadvice hs-hide-all (after hide-first-comment activate)
 +  (save-excursion (hs-hide-initial-comment-block)))
 +
  ;;;--------------------------------------------------------------------------
  ;;; Shell mode.
  
       (define-key term-raw-map [M-left] 'term-send-meta-left)
       (define-key term-raw-map [?\e ?\M-O ?D] 'term-send-meta-left)))
  
 +;;;--------------------------------------------------------------------------
 +;;; Inferior Emacs Lisp.
 +
 +(setq comint-prompt-read-only t)
 +
 +(eval-after-load "comint"
 +  '(progn
 +     (define-key comint-mode-map "\C-w" 'comint-kill-region)
 +     (define-key comint-mode-map [C-S-backspace] 'comint-kill-whole-line)))
 +
 +(eval-after-load "ielm"
 +  '(progn
 +     (define-key ielm-map "\C-w" 'comint-kill-region)
 +     (define-key ielm-map [C-S-backspace] 'comint-kill-whole-line)))
 +
  ;;;----- That's all, folks --------------------------------------------------
  
  (provide 'dot-emacs)