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'.

dot/emacs
dot/fonts.conf
el/dot-emacs.el

index b03ff68..c32d836 100644 (file)
--- a/dot/emacs
+++ 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))
                    "@\\(\\(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)
index a71e415..261b760 100644 (file)
@@ -57,7 +57,7 @@
     </edit>
   </match>
 
-  <match targets="pattern">
+  <match target="pattern">
     <test name="family"><string>Geneva</string></test>
     <edit mode="append" name="family"><string>FreeSans</string></edit>
   </match>
index a1cba54..dd8dc2f 100644 (file)
@@ -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