[emacs] manually add bbdb into lisp/bbdb/
[~bandali/configs] / init.org
index 82e3324..ced62ea 100644 (file)
--- a/init.org
+++ b/init.org
@@ -76,7 +76,7 @@ file.
 ** License
 
 #+begin_src emacs-lisp :comments none
-;; Copyright (C) 2018  Amin Bandali <amin@aminb.org>
+;; Copyright (C) 2018  Amin Bandali <bandali@gnu.org>
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -191,7 +191,7 @@ but for now I've decided to keep them enabled. See documentation for
 
 #+begin_src emacs-lisp
 (setq user-full-name "Amin Bandali"
-      user-mail-address "amin@aminb.org")
+      user-mail-address "amin@bandali.me")
 #+end_src
 
 ** Package management
@@ -1093,10 +1093,10 @@ There's no way I could top that, so I won't attempt to.
     (make-local-variable 'company-idle-delay)
     (setq company-idle-delay nil)
     (bind-keys :map eshell-mode-map
-               ("C-d" . amin/eshell-quit-or-delete-char)
-               ("C-l" . amin/eshell-clear)
-               ("M-r" . counsel-esh-history)
-               ([tab] . company-complete)))
+               ("C-d"   . amin/eshell-quit-or-delete-char)
+               ("C-S-l" . amin/eshell-clear)
+               ("M-r"   . counsel-esh-history)
+               ([tab]   . company-complete)))
 
   :hook (eshell-mode . amin|eshell-setup)
   :custom
@@ -2217,15 +2217,21 @@ For when I /have to/ use GH.
   :config
   (setq gnus-posting-styles
         '((".*"
-           (address "amin@aminb.org")
-           (body "\nBest,\namin\n"))
+           (address "amin@bandali.me")
+           (body "\nBest,\namin\n")
+           (signature-file "~/.signature-amin")
+           (eval (setq amin--message-cite-say-hi t)))
           ("gnu.*"
-           (address "bandali@gnu.org"))
+           (address "bandali@gnu.org")
+           (signature-file nil))
           ((header "subject" "ThankCRM")
-           (to "webmasters-comment@gnu.org"))
+           (to "webmasters-comment@gnu.org")
+           (body "\nAdded  to 2018supporters.html.\n\nMoving to campaigns.\n\n-amin\n")
+           (eval (setq amin--message-cite-say-hi nil)))
           ("nnimap\\+uwaterloo:.*"
            (address "abandali@uwaterloo.ca")
-           (gcc "\"nnimap+uwaterloo:Sent Items\"")))))
+           (gcc "\"nnimap+uwaterloo:Sent Items\"")
+           (signature-file nil)))))
 
 (use-package gnus-topic
   :hook (gnus-group-mode . gnus-topic-mode))
@@ -2260,6 +2266,7 @@ For when I /have to/ use GH.
 #+begin_src emacs-lisp
 (use-package message
   :config
+  (defconst amin--message-cite-style-format "On %Y-%m-%d %l:%M %p, %N wrote:")
   (defconst message-cite-style-bandali
     '((message-cite-function  'message-cite-original)
       (message-citation-line-function  'message-insert-formatted-citation-line)
@@ -2267,14 +2274,17 @@ For when I /have to/ use GH.
       (message-yank-prefix  "> ")
       (message-yank-cited-prefix  ">")
       (message-yank-empty-prefix  ">")
-      (message-citation-line-format "Hi %F,\n\nOn %Y-%m-%d %l:%M %p, %N wrote:"))
+      (message-citation-line-format
+       (if amin--message-cite-say-hi
+           (concat "Hi %F,\n\n" amin--message-cite-style-format)
+         amin--message-cite-style-format)))
     "Citation style based on Mozilla Thunderbird's. Use with message-cite-style.")
   (setq message-cite-style 'message-cite-style-bandali
         message-kill-buffer-on-exit t
         message-send-mail-function 'message-send-mail-with-sendmail
         message-sendmail-envelope-from 'header
         message-dont-reply-to-names
-        "\\(\\(.*@aminb\\.org\\)\\|\\(\\(aminb?\\|mab\\|bandali\\)@gnu\\.org\\)\\|\\(\\(m\\|a\\(min\\.\\)?\\)bandali@uwaterloo\\.ca\\)\\)"
+        "\\(\\(amin@bandali\\.me\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(aminb?\\|mab\\|bandali\\)@gnu\\.org\\)\\|\\(\\(m\\|a\\(min\\.\\)?\\)bandali@uwaterloo\\.ca\\)\\)"
         message-user-fqdn "aminb.org")
   :hook (;; (message-setup . mml-secure-message-sign-pgpmime)
          (message-mode . flyspell-mode)
@@ -2381,23 +2391,33 @@ Convenient footnotes in =message-mode=.
 ;;   :after ebdb)
 #+end_src
 
-** COMMENT bbdb
+** bbdb
 
-#+begin_comment
+Manually install bbdb (=lisp/bbdb= copied from an ELPA-based setup),
+because installing it from source on Emacs 27 using the following
+submodule configuration for some reason doesn’t work and results in
+very strange errors when using any of the functions.
+
+#+begin_src conf :tangle no
 [submodule "bbdb"]
        path = lib/bbdb
        url = https://git.savannah.nongnu.org/git/bbdb.git
-       load-path = lisp/elisp
+       load-path = lisp
        info-path = doc
        build-step = ./autogen.sh
-       build-step = ./configure --with-lispdir=elisp
+       build-step = ./configure
        build-step = make
        build-step = make install
-#+end_comment
+#+end_src
+
+I tried using =borg-elpa= instead of doing it like this, but it added
+2 seconds to my startup time, which is unacceptable to me.
 
 #+begin_src emacs-lisp
 (use-package bbdb
+  :load-path "lisp/bbdb"
   :init
+  (load (expand-file-name "lisp/bbdb/bbdb-autoloads.el" user-emacs-directory))
   (bbdb-mua-auto-update-init 'message)
   (setq bbdb-mua-auto-update-p 'query)
   (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus))