[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/gnus/gnus-logic.el [emacs-unicode-2]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/gnus/gnus-logic.el [emacs-unicode-2] |
Date: |
Thu, 09 Sep 2004 06:03:26 -0400 |
Index: emacs/lisp/gnus/gnus-logic.el
diff -c emacs/lisp/gnus/gnus-logic.el:1.7.14.1
emacs/lisp/gnus/gnus-logic.el:1.7.14.2
*** emacs/lisp/gnus/gnus-logic.el:1.7.14.1 Fri Mar 12 00:02:57 2004
--- emacs/lisp/gnus/gnus-logic.el Thu Sep 9 09:36:25 2004
***************
*** 1,5 ****
;;; gnus-logic.el --- advanced scoring code for Gnus
! ;; Copyright (C) 1996, 1997, 1998, 1999, 2000
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <address@hidden>
--- 1,5 ----
;;; gnus-logic.el --- advanced scoring code for Gnus
! ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <address@hidden>
***************
*** 59,82 ****
(defun gnus-score-advanced (rule &optional trace)
"Apply advanced scoring RULE to all the articles in the current group."
! (let ((headers gnus-newsgroup-headers)
! gnus-advanced-headers score)
! (while (setq gnus-advanced-headers (pop headers))
! (when (gnus-advanced-score-rule (car rule))
! ;; This rule was successful, so we add the score to
! ;; this article.
(if (setq score (assq (mail-header-number gnus-advanced-headers)
gnus-newsgroup-scored))
(setcdr score
! (+ (cdr score)
! (or (nth 1 rule)
! gnus-score-interactive-default-score)))
(push (cons (mail-header-number gnus-advanced-headers)
! (or (nth 1 rule)
! gnus-score-interactive-default-score))
gnus-newsgroup-scored)
(when trace
(push (cons "A file" rule)
gnus-score-trace)))))))
(defun gnus-advanced-score-rule (rule)
--- 59,83 ----
(defun gnus-score-advanced (rule &optional trace)
"Apply advanced scoring RULE to all the articles in the current group."
! (let (new-score score multiple)
! (dolist (gnus-advanced-headers gnus-newsgroup-headers)
! (when (setq multiple (gnus-advanced-score-rule (car rule)))
! (setq new-score (or (nth 1 rule)
! gnus-score-interactive-default-score))
! (when (numberp multiple)
! (setq new-score (* multiple new-score)))
! ;; This rule was successful, so we add the score to this
! ;; article.
(if (setq score (assq (mail-header-number gnus-advanced-headers)
gnus-newsgroup-scored))
(setcdr score
! (+ (cdr score) new-score))
(push (cons (mail-header-number gnus-advanced-headers)
! new-score)
gnus-newsgroup-scored)
(when trace
(push (cons "A file" rule)
+ ;; Must be synced with `gnus-score-edit-file-at-point'.
gnus-score-trace)))))))
(defun gnus-advanced-score-rule (rule)
***************
*** 116,122 ****
;; 1- type redirection.
(string-to-number
(substring (symbol-name type)
! (match-beginning 0) (match-end 0)))
;; ^^^ type redirection.
(length (symbol-name type))))))
(when gnus-advanced-headers
--- 117,123 ----
;; 1- type redirection.
(string-to-number
(substring (symbol-name type)
! (match-beginning 1) (match-end 1)))
;; ^^^ type redirection.
(length (symbol-name type))))))
(when gnus-advanced-headers
***************
*** 129,137 ****
(error "Unknown advanced score type: %s" rule)))))
(defun gnus-advanced-score-article (rule)
! ;; `rule' is a semi-normal score rule, so we find out
! ;; what function that's supposed to do the actual
! ;; processing.
(let* ((header (car rule))
(func (assoc (downcase header) gnus-advanced-index)))
(if (not func)
--- 130,137 ----
(error "Unknown advanced score type: %s" rule)))))
(defun gnus-advanced-score-article (rule)
! ;; `rule' is a semi-normal score rule, so we find out what function
! ;; that's supposed to do the actual processing.
(let* ((header (car rule))
(func (assoc (downcase header) gnus-advanced-index)))
(if (not func)
***************
*** 162,168 ****
(defun gnus-advanced-integer (index match type)
(if (not (memq type '(< > <= >= =)))
(error "No such integer score type: %s" type)
! (funcall type match (or (aref gnus-advanced-headers index) 0))))
(defun gnus-advanced-date (index match type)
(let ((date (apply 'encode-time (parse-time-string
--- 162,168 ----
(defun gnus-advanced-integer (index match type)
(if (not (memq type '(< > <= >= =)))
(error "No such integer score type: %s" type)
! (funcall type (or (aref gnus-advanced-headers index) 0) match)))
(defun gnus-advanced-date (index match type)
(let ((date (apply 'encode-time (parse-time-string
***************
*** 189,196 ****
'gnus-request-body)
(t 'gnus-request-article)))
ofunc article)
! ;; Not all backends support partial fetching. In that case,
! ;; we just fetch the entire article.
(unless (gnus-check-backend-function
(intern (concat "request-" header))
gnus-newsgroup-name)
--- 189,196 ----
'gnus-request-body)
(t 'gnus-request-article)))
ofunc article)
! ;; Not all backends support partial fetching. In that case, we
! ;; just fetch the entire article.
(unless (gnus-check-backend-function
(intern (concat "request-" header))
gnus-newsgroup-name)
***************
*** 201,208 ****
(when (funcall request-func article gnus-newsgroup-name)
(goto-char (point-min))
;; If just parts of the article is to be searched and the
! ;; backend didn't support partial fetching, we just narrow
! ;; to the relevant parts.
(when ofunc
(if (eq ofunc 'gnus-request-head)
(narrow-to-region
--- 201,208 ----
(when (funcall request-func article gnus-newsgroup-name)
(goto-char (point-min))
;; If just parts of the article is to be searched and the
! ;; backend didn't support partial fetching, we just narrow to
! ;; the relevant parts.
(when ofunc
(if (eq ofunc 'gnus-request-head)
(narrow-to-region
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/gnus/gnus-logic.el [emacs-unicode-2],
Miles Bader <=