comparison my-news.el @ 63:e7c2deb7de20

old changes ??, get add-white working
author Henry S Thompson <ht@inf.ed.ac.uk>
date Mon, 16 Dec 2024 18:19:39 +0000
parents 963ac2f8e386
children a9b2a2335782
comparison
equal deleted inserted replaced
62:fea10b67cc09 63:e7c2deb7de20
120 (setq res (cons dbn res)))) 120 (setq res (cons dbn res))))
121 (if name 121 (if name
122 res 122 res
123 (message "%s" res)))) 123 (message "%s" res))))
124 124
125 (defun add-white (&optional addToBBDB) 125 (defun add-white (&optional dontAddToBBDB)
126 "While reading an article, add to whitelist"
126 (interactive "P") 127 (interactive "P")
127 (gnus-summary-goto-article (gnus-summary-article-number)) 128 (gnus-summary-goto-article (gnus-summary-article-number))
128 (let* ((components (get-current-from-components)) 129 (do-add-white (gnus-fetch-original-field "From") dontAddToBBDB))
130
131 (defun do-add-white (addr &optional dontAddToBBDB)
132 (let* ((components (gnus-extract-address-components addr))
129 (addr (get-canonical-from-addr components))) 133 (addr (get-canonical-from-addr components)))
134 (if (not dontAddToBBDB)
135 (let ((bbdb-no-duplicates-p t))
136 (condition-case nil
137 (bbdb-create-internal (car components) nil
138 (cadr components) nil nil nil)
139 (error
140 ;; OK, just means already present
141 ))))
130 (if (new-white addr) 142 (if (new-white addr)
131 (save-white)) 143 (save-white))))
132 (if addToBBDB
133 (let ((bbdb-no-duplicates-p t))
134 (bbdb-create-internal (car components) nil (cadr components)
135 nil nil nil)))))
136 144
137 (defun add-ad () 145 (defun add-ad ()
138 (interactive) 146 (interactive)
139 (gnus-summary-goto-article (gnus-summary-article-number)) 147 (gnus-summary-goto-article (gnus-summary-article-number))
140 (let ((addr (get-current-from-addr))) 148 (let ((addr (get-current-from-addr)))
148 (let ((addr (get-addr-before-point))) 156 (let ((addr (get-addr-before-point)))
149 (when (new-quaker addr) 157 (when (new-quaker addr)
150 (save-quaker)) 158 (save-quaker))
151 (quaker-sig-maybe))) 159 (quaker-sig-maybe)))
152 160
153 ; not needed anymore because of gnus-posting-styles (q.v. in gnus-init) 161 ; not needed anymore because of gnus-posting-styles (q.v. in mail-from-*)
154 (defun quaker-sig-if-to-quaker () 162 (defun quaker-sig-if-to-quaker ()
155 (let ((message-options)) 163 (let ((message-options))
156 (save-excursion (message-options-set-recipient)) 164 (save-excursion (message-options-set-recipient))
157 (let* ((recipStr (message-options-get 'message-recipients)) 165 (let* ((recipStr (message-options-get 'message-recipients))
158 (recips (split-string (downcase recipStr) 166 (recips (split-string (downcase recipStr)
272 "/afs/inf.ed.ac.uk/user/h/ht/share/bin/local/makeBogo") 280 "/afs/inf.ed.ac.uk/user/h/ht/share/bin/local/makeBogo")
273 'delete) 281 'delete)
274 282
275 (defun whiten-recip () 283 (defun whiten-recip ()
276 ;;; a hook for outgoing mail 284 ;;; a hook for outgoing mail
277 (let* ((recips (message-options-get 'message-recipients)) 285 (let* ((to (message-fetch-field "To"))
278 (res (mapcar (function new-white) 286 (cc (message-fetch-field "cc"))
279 (split-string (downcase recips) 287 (msg-recipients (concat to (and to cc ", ") cc))
280 ",[ \f\t\n\r\v]*" t)))) 288 (recips (message-tokenize-header msg-recipients))
289 (res (mapcar (function do-add-white) recips)))
281 (while (and res (not (car res))) 290 (while (and res (not (car res)))
282 (setq res (cdr res))) 291 (setq res (cdr res)))
283 (if res (save-white)))) 292 (if res (save-white))))
284 293
285 294