+2014-01-31 Alex Schroeder <alex@gnu.org> (tiny change)
+
+ * gnus-tut.txt (Message-ID): Typo fix (bug#15556).
+
2014-01-16 Fabrice Niessen <fniessen@pirilampo.org>
* themes/leuven-theme.el: Updates. (Bug#16442)
give me a precise overview of your Gnus and Emacs version numbers,
along with a look at all Gnus variables you have changed.
-Du not expect a reply back, but your bug should be fixed in the next
+Do not expect a reply back, but your bug should be fixed in the next
version. If the bug persists, please re-submit your bug report.
When a bug occurs, I need a recipe for how to trigger the bug. You
+2014-01-31 Dave Abrahams <dave@boostpro.com>
+
+ * gnus-salt.el (gnus-tree-highlight-article): Don't move point around
+ in the summary buffer (bug#13769).
+
+2014-01-31 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-article-setup-buffer): Refresh the summary buffer
+ name if we're using a single article buffer. Otherwise, it may point
+ to a killed buffer (bug#13756).
+
+2014-01-30 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * nnmail.el (nnmail-split-it): Instead of redoing the search to restore
+ the match data, just save and restore it explictly (bug#12375).
+
+ * gnus-sum.el (gnus-summary-read-group-1): Initialize the spam code if
+ that's needed.
+
+ * spam.el (spam-initialize): Allow calling repeatedly, but only run the
+ the code once (bug#9069).
+
2014-01-18 Steinar Bang <sb@dod.no>
* gnus-setup.el (gnus-use-sendmail): We never use sendmail for mail
nil)
(error "Action aborted"))
t)))
- (with-current-buffer name
- (set (make-local-variable 'gnus-article-edit-mode) nil)
- (gnus-article-stop-animations)
- (when gnus-article-mime-handles
- (mm-destroy-parts gnus-article-mime-handles)
- (setq gnus-article-mime-handles nil))
- ;; Set it to nil in article-buffer!
- (setq gnus-article-mime-handle-alist nil)
- (buffer-disable-undo)
- (setq buffer-read-only t)
- (unless (derived-mode-p 'gnus-article-mode)
- (gnus-article-mode))
- (setq truncate-lines gnus-article-truncate-lines)
- (current-buffer))
+ (let ((summary gnus-summary-buffer))
+ (with-current-buffer name
+ (set (make-local-variable 'gnus-article-edit-mode) nil)
+ (gnus-article-stop-animations)
+ (when gnus-article-mime-handles
+ (mm-destroy-parts gnus-article-mime-handles)
+ (setq gnus-article-mime-handles nil))
+ ;; Set it to nil in article-buffer!
+ (setq gnus-article-mime-handle-alist nil)
+ (buffer-disable-undo)
+ (setq buffer-read-only t)
+ (unless (derived-mode-p 'gnus-article-mode)
+ (gnus-article-mode))
+ (set (make-local-variable 'gnus-summary-buffer) summary)
+ (setq truncate-lines gnus-article-truncate-lines)
+ (current-buffer)))
(let ((summary gnus-summary-buffer))
(with-current-buffer (gnus-get-buffer-create name)
(gnus-article-mode)
(set-buffer buf))))
(defun gnus-tree-highlight-article (article face)
- (with-current-buffer (gnus-get-tree-buffer)
- (let (region)
- (when (setq region (gnus-tree-article-region article))
- (gnus-put-text-property (car region) (cdr region) 'face face)
- (set-window-point
- (gnus-get-buffer-window (current-buffer) t) (cdr region))))))
+ ;; The save-excursion here is apparently necessary because
+ ;; `set-window-point' somehow manages to alter the buffer position.
+ (save-excursion
+ (with-current-buffer (gnus-get-tree-buffer)
+ (let (region)
+ (when (setq region (gnus-tree-article-region article))
+ (gnus-put-text-property (car region) (cdr region) 'face face)
+ (set-window-point
+ (gnus-get-buffer-window (current-buffer) t) (cdr region)))))))
;;; Allow redefinition of functions.
(gnus-ems-redefine)
;; The group was successfully selected.
(t
(gnus-set-global-variables)
+ (when (boundp 'spam-install-hooks)
+ (spam-initialize))
;; Save the active value in effect when the group was entered.
(setq gnus-newsgroup-active
(gnus-copy-sequence
;; Check the cache for the regexp for this split.
((setq cached-pair (assq split nnmail-split-cache))
(let (split-result
+ match-data
(end-point (point-max))
(value (nth 1 split)))
(if (symbolp value)
(setq value (cdr (assq value nnmail-split-abbrev-alist))))
(while (and (goto-char end-point)
(re-search-backward (cdr cached-pair) nil t))
+ (setq match-data (match-data))
(when nnmail-split-tracing
(push split nnmail-split-trace))
(let ((split-rest (cddr split))
(setq split-rest (cddr split-rest))))
(when split-rest
(goto-char end)
- (let ((value (nth 1 split)))
- (if (symbolp value)
- (setq value (cdr (assq value nnmail-split-abbrev-alist))))
- ;; Someone might want to do a \N sub on this match, so get the
- ;; correct match positions.
- (re-search-backward value start-of-value))
+ ;; Someone might want to do a \N sub on this match, so
+ ;; restore the match data.
+ (set-match-data match-data)
(dolist (sp (nnmail-split-it (car split-rest)))
(unless (member sp split-result)
(push sp split-result))))))
installed through `spam-necessary-extra-headers'."
(interactive)
- (dolist (var symbols)
- (set var t))
-
- (dolist (header (spam-necessary-extra-headers))
- (add-to-list 'nnmail-extra-headers header)
- (add-to-list 'gnus-extra-headers header))
-
- (setq spam-install-hooks t)
- ;; TODO: How do we redo this every time the `spam' face is customized?
- (push '((eq mark gnus-spam-mark) . spam)
- gnus-summary-highlight)
- ;; Add hooks for loading and saving the spam stats
- (add-hook 'gnus-save-newsrc-hook 'spam-maybe-spam-stat-save)
- (add-hook 'gnus-get-top-new-news-hook 'spam-maybe-spam-stat-load)
- (add-hook 'gnus-startup-hook 'spam-maybe-spam-stat-load)
- (add-hook 'gnus-summary-prepare-exit-hook 'spam-summary-prepare-exit)
- (add-hook 'gnus-summary-prepare-hook 'spam-summary-prepare)
- (add-hook 'gnus-get-new-news-hook 'spam-setup-widening)
- (add-hook 'gnus-summary-prepared-hook 'spam-find-spam))
+ (when spam-install-hooks
+ (dolist (var symbols)
+ (set var t))
+
+ (dolist (header (spam-necessary-extra-headers))
+ (add-to-list 'nnmail-extra-headers header)
+ (add-to-list 'gnus-extra-headers header))
+
+ ;; TODO: How do we redo this every time the `spam' face is customized?
+ (push '((eq mark gnus-spam-mark) . spam)
+ gnus-summary-highlight)
+ ;; Add hooks for loading and saving the spam stats
+ (add-hook 'gnus-save-newsrc-hook 'spam-maybe-spam-stat-save)
+ (add-hook 'gnus-get-top-new-news-hook 'spam-maybe-spam-stat-load)
+ (add-hook 'gnus-startup-hook 'spam-maybe-spam-stat-load)
+ (add-hook 'gnus-summary-prepare-exit-hook 'spam-summary-prepare-exit)
+ (add-hook 'gnus-summary-prepare-hook 'spam-summary-prepare)
+ (add-hook 'gnus-get-new-news-hook 'spam-setup-widening)
+ (add-hook 'gnus-summary-prepared-hook 'spam-find-spam)
+ ;; Don't install things more than once.
+ (setq spam-install-hooks nil)))
(defun spam-unload-hook ()
"Uninstall the spam.el hooks."
(add-hook 'spam-unload-hook 'spam-unload-hook)
-(when spam-install-hooks
- (spam-initialize))
;;}}}
(provide 'spam)