diff options
| author | Basil L. Contovounesios | 2019-05-29 15:53:31 +0100 |
|---|---|---|
| committer | Basil L. Contovounesios | 2019-05-29 15:57:50 +0100 |
| commit | 7f3b0d1c0003f3b883a6df3d2fae7f847f6d3070 (patch) | |
| tree | 4ca64f10af92dc7af92f6dde513e12b165b95e23 | |
| parent | c89900ebd79d8c4bf5fd5550de053f379abd60ef (diff) | |
| download | emacs-7f3b0d1c0003f3b883a6df3d2fae7f847f6d3070.tar.gz emacs-7f3b0d1c0003f3b883a6df3d2fae7f847f6d3070.zip | |
Simplify gnus-or and gnus-and
* lisp/gnus/gnus-art.el: Make implicit seq.el dependency explicit.
(gnus-treat-predicate): Use seq-some in place of mapcar + gnus-or
and evaluate lambda predicate.
* lisp/gnus/gnus-util.el (gnus-or, gnus-and): Simplify.
| -rw-r--r-- | lisp/gnus/gnus-art.el | 9 | ||||
| -rw-r--r-- | lisp/gnus/gnus-util.el | 22 |
2 files changed, 12 insertions, 19 deletions
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 8f0695222cb..0cd34e445cc 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | (require 'mm-uu) | 41 | (require 'mm-uu) |
| 42 | (require 'message) | 42 | (require 'message) |
| 43 | (require 'mouse) | 43 | (require 'mouse) |
| 44 | (require 'seq) | ||
| 44 | 45 | ||
| 45 | (autoload 'gnus-msg-mail "gnus-msg" nil t) | 46 | (autoload 'gnus-msg-mail "gnus-msg" nil t) |
| 46 | (autoload 'gnus-button-mailto "gnus-msg") | 47 | (autoload 'gnus-button-mailto "gnus-msg") |
| @@ -8580,11 +8581,9 @@ For example: | |||
| 8580 | nil) | 8581 | nil) |
| 8581 | (gnus-treat-condition | 8582 | (gnus-treat-condition |
| 8582 | (eq gnus-treat-condition val)) | 8583 | (eq gnus-treat-condition val)) |
| 8583 | ((and (listp val) | 8584 | ((stringp (car-safe val)) |
| 8584 | (stringp (car val))) | 8585 | (let ((name (or gnus-newsgroup-name ""))) |
| 8585 | (apply #'gnus-or (mapcar `(lambda (s) | 8586 | (seq-some (lambda (s) (string-match-p s name)) val))) |
| 8586 | (string-match s ,(or gnus-newsgroup-name ""))) | ||
| 8587 | val))) | ||
| 8588 | ((listp val) | 8587 | ((listp val) |
| 8589 | (let ((pred (pop val))) | 8588 | (let ((pred (pop val))) |
| 8590 | (cond | 8589 | (cond |
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 6b0f29b0afb..e4bc9b900c2 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el | |||
| @@ -34,6 +34,7 @@ | |||
| 34 | 34 | ||
| 35 | (eval-when-compile (require 'cl-lib)) | 35 | (eval-when-compile (require 'cl-lib)) |
| 36 | 36 | ||
| 37 | (require 'seq) | ||
| 37 | (require 'time-date) | 38 | (require 'time-date) |
| 38 | (require 'text-property-search) | 39 | (require 'text-property-search) |
| 39 | 40 | ||
| @@ -1160,20 +1161,13 @@ ARG is passed to the first function." | |||
| 1160 | (eq (cadr (memq 'gnus-undeletable (text-properties-at b))) t) | 1161 | (eq (cadr (memq 'gnus-undeletable (text-properties-at b))) t) |
| 1161 | (text-property-any b e 'gnus-undeletable t))) | 1162 | (text-property-any b e 'gnus-undeletable t))) |
| 1162 | 1163 | ||
| 1163 | (defun gnus-or (&rest elems) | 1164 | (defun gnus-or (&rest elements) |
| 1164 | "Return non-nil if any of the elements are non-nil." | 1165 | "Return non-nil if any one of ELEMENTS is non-nil." |
| 1165 | (catch 'found | 1166 | (seq-drop-while #'null elements)) |
| 1166 | (while elems | 1167 | |
| 1167 | (when (pop elems) | 1168 | (defun gnus-and (&rest elements) |
| 1168 | (throw 'found t))))) | 1169 | "Return non-nil if all ELEMENTS are non-nil." |
| 1169 | 1170 | (not (memq nil elements))) | |
| 1170 | (defun gnus-and (&rest elems) | ||
| 1171 | "Return non-nil if all of the elements are non-nil." | ||
| 1172 | (catch 'found | ||
| 1173 | (while elems | ||
| 1174 | (unless (pop elems) | ||
| 1175 | (throw 'found nil))) | ||
| 1176 | t)) | ||
| 1177 | 1171 | ||
| 1178 | ;; gnus.el requires mm-util. | 1172 | ;; gnus.el requires mm-util. |
| 1179 | (declare-function mm-disable-multibyte "mm-util") | 1173 | (declare-function mm-disable-multibyte "mm-util") |