chiark / gitweb /
Merge branch 'master' of https://git.distorted.org.uk/~mdw/profile
authorMark Wooding <mdw@distorted.org.uk>
Thu, 14 Apr 2016 13:00:09 +0000 (14:00 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 14 Apr 2016 13:00:09 +0000 (14:00 +0100)
* 'master' of https://git.distorted.org.uk/~mdw/profile:
  dot/emacs (bbdb-canonicalize-net-hook): Ignore a personal address scheme.
  dot/emacs (bbdb-canonicalize-net-hook): Ignore uninteresting addresses.
  dot/emacs (bbdb-canonicalize-net-hook): Handle `nil' address.
  dot/emacs: Don't auto-snarf email addresses from mailing lists.
  dot/emacs: Squash away `blah+...@some.domain' suffixes for BBDB.
  dot/gnus-local.el.distorted: Now I have my own newscookie.
  dot/screenrc: Add tracking of activity in other windows.
  el/dot-emacs.el: More assertive zapping of faces.
  dot/emacs: Set `frame-background-mode' variable.
  dot/emacs: Move `C-x w d' to `C-c w d'.

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

diff --combined dot/emacs
index 48053fe67c56cd54dc265938f958a95b81e9f526,b03ff68a1ba2a748568da5cac0b63d097606309e..c32d836fdf794eead0ddebbe6f3a43eee4a3d130
+++ b/dot/emacs
      (trap (bbdb-initialize 'gnus 'sendmail 'message)))
  (setq bbdb-file "~/etc/brain/bbdb"
        bbdb-north-american-phone-numbers-p nil
 +      bbdb-extract-address-components-func 'bbdb-extract-address-components
        bbdb/news-auto-create-p
        (lambda ()
        (let ((group gnus-newsgroup-name))
          (and (string-match "^nnimap\\+" group)
-              (not (string-match ":\\(crap\\|spam\\)\\." group)))))
+              (not (string-match ":\\(crap\\|spam\\|lists\\)\\." group)))))
        bbdb-user-mail-names
        (concat "^"
              "\\(" "\\(mdw\\|markw\\|root\\|postmaster\\)"
                    "@\\(\\(dist\\|esc\\)orted\\.org\\.uk\\|odin\\.gg\\)"
              "\\|" "distorted\\.mdw@g\\(\\|oogle\\)mail.com"
              "\\|" "mwooding@\\(good\\|blackberry\\)\\.com"
 +            "\\|" "mark\\.wooding@trustonic\\.com"
              "\\)$")
        bbdb-canonicalize-net-hook
        (lambda (addr)
-       (cond ((string-match (concat "^reply-[0-9a-f]+-[0-9a-f]+_"
-                                    "HTML-[0-9]+-[0-9]+-[0-9]+"
-                                    "@\\(nationwide-communications\\.co\\.uk\\)")
-                            addr)
-              (concat "nationwide@" (match-string 1 addr)))
-             ((string-match (concat "^[0-9]+@bugs\\."
-                                    "\\(" "debian\\.org"
-                                    "\\|" "distorted\\.org\\.uk"
-                                    "\\)")
-                            addr)
-              (concat "submit@bugs." (match-string 1 addr)))
+       (cond ((null addr)
+              nil)
+             ((or (string-match (concat "^reply-[0-9a-f]+-[0-9a-f]+_"
+                                        "HTML-[0-9]+-[0-9]+-[0-9]+"
+                                        "@\\(nationwide-communications\\."
+                                        "co\\.uk\\)$")
+                                addr)
+                  (string-match (concat "^[0-9]+@bugs\\."
+                                        "\\(" "debian\\.org"
+                                        "\\|" "distorted\\.org\\.uk"
+                                        "\\)$")
+                                addr)
+                  (and (string-match "^news\\([0-9]+\\)@\\(.*\\)$" addr)
+                       (string= (md5 (match-string 2 addr))
+                                "879b795aed959b1a000e9f95c132b16c")))
+              nil)
+             ((string-match "^\\([^@+]+\\)\\+[^@]*\\(@.*\\)$" addr)
+              (concat (match-string 1 addr) (match-string 2 addr)))
              (t addr))))
  
  ;; Customization.
  
  ;; Default frame size.
  
- (setq default-frame-alist
+ (setq frame-background-mode (if mdw-black-background 'dark 'light)
+       default-frame-alist
        `((width . ,(if (>= emacs-major-version 21) 77 78))
        (height . 33)
        (vertical-scroll-bars . right)
        (tool-bar-lines . 0)
        (menu-bar-lines . 1)
        (cursor-color . "red")
-       (background-mode . ,(if mdw-black-background 'dark 'light)))
+       (background-mode . ,frame-background-mode))
        initial-frame-alist
        `((width . ,(if (>= emacs-major-version 21) 77 78))
        (menu-bar-lines . ,(if window-system 1 0)))
    (global-set-key [?\C-x ?3] 'mdw-split-window-horizontally)
    (global-set-key [?\M-#] 'calc-dispatch)
    (global-set-key [?\C-x ?/] 'auto-fill-mode)
-   (global-set-key [?\C-x ?w ?d] 'mdw-divvy-window)
+   (global-set-key [?\C-c ?w ?d] 'mdw-divvy-window)
    (global-set-key [insertchar] 'overwrite-mode)
    (global-set-key [?\C-x ?\C-n] 'skel-create-file)
    (global-set-key [?\C-x ?4 ?n] 'skel-create-file-other-window)
diff --combined el/dot-emacs.el
index fae5e01028e4b9ebd95dcedc1b4059ff48bce068,a1cba54a035846c58334e45e870dcef0e0e1529a..dd8dc2f7614b23b9ce9955807c5ee25d0c3910ff
@@@ -238,32 -238,6 +238,32 @@@ frame is actually mapped on the screen.
    "Save match data around the `markdown-mode' `after-change-functions' hook."
    (save-match-data ad-do-it))
  
 +;; Bug fix for `bbdb-canonicalize-address': on Emacs 24, `run-hook-with-args'
 +;; always returns nil, with the result that all email addresses are lost.
 +;; Replace the function entirely.
 +(defadvice bbdb-canonicalize-address
 +    (around mdw-bug-fix activate compile)
 +  "Don't use `run-hook-with-args', because that doesn't work."
 +  (let ((net (ad-get-arg 0)))
 +
 +    ;; Make sure this is a proper hook list.
 +    (if (functionp bbdb-canonicalize-net-hook)
 +      (setq bbdb-canonicalize-net-hook (list bbdb-canonicalize-net-hook)))
 +
 +    ;; Iterate over the hooks until things converge.
 +    (let ((donep nil))
 +      (while (not donep)
 +      (let (next (changep nil)
 +            hook (hooks bbdb-canonicalize-net-hook))
 +        (while hooks
 +          (setq hook (pop hooks))
 +          (setq next (funcall hook net))
 +          (if (not (equal next net))
 +              (setq changep t
 +                    net next)))
 +        (setq donep (not changep)))))
 +    (setq ad-return-value net)))
 +
  ;; Transient mark mode hacks.
  
  (defadvice exchange-point-and-mark
@@@ -1124,12 -1098,14 +1124,14 @@@ doesn't match any of the regular expres
  ;;;--------------------------------------------------------------------------
  ;;; General fontification.
  
+ (make-face 'mdw-virgin-face)
  (defmacro mdw-define-face (name &rest body)
    "Define a face, and make sure it's actually set as the definition."
    (declare (indent 1)
           (debug 0))
    `(progn
-      (make-face ',name)
+      (copy-face 'mdw-virgin-face ',name)
       (defvar ,name ',name)
       (put ',name 'face-defface-spec ',body)
       (face-spec-set ',name ',body nil)))