diff options
| author | Andrew Cohen | 2013-04-10 22:14:14 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2013-04-10 22:14:14 +0000 |
| commit | 1ec75f95d7d05d529fb1f75abe741ff77de6f16b (patch) | |
| tree | 79f5baf46c5a80bac6597cd803cc597986cc9276 | |
| parent | 7d9644924ee1db68bea74ec1fbb1e89af4612076 (diff) | |
| download | emacs-1ec75f95d7d05d529fb1f75abe741ff77de6f16b.tar.gz emacs-1ec75f95d7d05d529fb1f75abe741ff77de6f16b.zip | |
lisp/gnus/nnir.el: Small optimizations. Use 'gnus-group-guess-full-name-from-command-method
| -rw-r--r-- | lisp/gnus/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/gnus/nnir.el | 31 |
2 files changed, 18 insertions, 18 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index b5390fe938f..58de51672e6 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -4,6 +4,11 @@ | |||
| 4 | (nnir-request-set-mark): New function. | 4 | (nnir-request-set-mark): New function. |
| 5 | (nnir-request-update-info): Improve marks updating. | 5 | (nnir-request-update-info): Improve marks updating. |
| 6 | (nnir-request-scan): Don't duplicate marks updating. | 6 | (nnir-request-scan): Don't duplicate marks updating. |
| 7 | (gnus-group-make-nnir-group, nnir-run-imap, nnir-request-create-group): | ||
| 8 | Use 'assq rather than 'assoc. Quote anonymous function. | ||
| 9 | (nnir-request-group, nnir-close-group, gnus-summary-create-nnir-group): | ||
| 10 | Use 'gnus-group-prefixed-p. | ||
| 11 | (gnus-summary-create-nnir-group): Make sure server for method is open. | ||
| 7 | 12 | ||
| 8 | 2013-04-04 Andrew Cohen <cohen@bu.edu> | 13 | 2013-04-04 Andrew Cohen <cohen@bu.edu> |
| 9 | 14 | ||
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index c6baa301c06..5744b1cd4b0 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el | |||
| @@ -602,7 +602,7 @@ an alist with `nnir-query-spec' and `nnir-group-spec' keys, and | |||
| 602 | skips all prompting." | 602 | skips all prompting." |
| 603 | (interactive "P") | 603 | (interactive "P") |
| 604 | (let* ((group-spec | 604 | (let* ((group-spec |
| 605 | (or (cdr (assoc 'nnir-group-spec specs)) | 605 | (or (cdr (assq 'nnir-group-spec specs)) |
| 606 | (if (gnus-server-server-name) | 606 | (if (gnus-server-server-name) |
| 607 | (list (list (gnus-server-server-name))) | 607 | (list (list (gnus-server-server-name))) |
| 608 | (nnir-categorize | 608 | (nnir-categorize |
| @@ -612,7 +612,7 @@ skips all prompting." | |||
| 612 | (cdr (assoc (gnus-group-topic-name) gnus-topic-alist)))) | 612 | (cdr (assoc (gnus-group-topic-name) gnus-topic-alist)))) |
| 613 | gnus-group-server)))) | 613 | gnus-group-server)))) |
| 614 | (query-spec | 614 | (query-spec |
| 615 | (or (cdr (assoc 'nnir-query-spec specs)) | 615 | (or (cdr (assq 'nnir-query-spec specs)) |
| 616 | (apply | 616 | (apply |
| 617 | 'append | 617 | 'append |
| 618 | (list (cons 'query | 618 | (list (cons 'query |
| @@ -659,9 +659,7 @@ skips all prompting." | |||
| 659 | 659 | ||
| 660 | (deffoo nnir-request-group (group &optional server dont-check info) | 660 | (deffoo nnir-request-group (group &optional server dont-check info) |
| 661 | (nnir-possibly-change-group group server) | 661 | (nnir-possibly-change-group group server) |
| 662 | (let ((pgroup (if (gnus-group-prefixed-p group) | 662 | (let ((pgroup (gnus-group-guess-full-name-from-command-method group)) |
| 663 | group | ||
| 664 | (gnus-group-prefixed-name group '(nnir "nnir")))) | ||
| 665 | length) | 663 | length) |
| 666 | ;; Check for cached search result or run the query and cache the | 664 | ;; Check for cached search result or run the query and cache the |
| 667 | ;; result. | 665 | ;; result. |
| @@ -893,9 +891,7 @@ skips all prompting." | |||
| 893 | 891 | ||
| 894 | 892 | ||
| 895 | (deffoo nnir-close-group (group &optional server) | 893 | (deffoo nnir-close-group (group &optional server) |
| 896 | (let ((pgroup (if (gnus-group-prefixed-p group) | 894 | (let ((pgroup (gnus-group-guess-full-name-from-command-method group))) |
| 897 | group | ||
| 898 | (gnus-group-prefixed-name group '(nnir "nnir"))))) | ||
| 899 | (when (and nnir-artlist (not (gnus-ephemeral-group-p pgroup))) | 895 | (when (and nnir-artlist (not (gnus-ephemeral-group-p pgroup))) |
| 900 | (gnus-group-set-parameter pgroup 'nnir-artlist nnir-artlist)) | 896 | (gnus-group-set-parameter pgroup 'nnir-artlist nnir-artlist)) |
| 901 | (setq nnir-artlist nil) | 897 | (setq nnir-artlist nil) |
| @@ -972,7 +968,7 @@ details on the language and supported extensions." | |||
| 972 | 'vconcat | 968 | 'vconcat |
| 973 | (catch 'found | 969 | (catch 'found |
| 974 | (mapcar | 970 | (mapcar |
| 975 | (lambda (group) | 971 | #'(lambda (group) |
| 976 | (let (artlist) | 972 | (let (artlist) |
| 977 | (condition-case () | 973 | (condition-case () |
| 978 | (when (nnimap-possibly-change-group | 974 | (when (nnimap-possibly-change-group |
| @@ -1870,12 +1866,11 @@ article came from is also searched." | |||
| 1870 | 1866 | ||
| 1871 | (defun gnus-summary-create-nnir-group () | 1867 | (defun gnus-summary-create-nnir-group () |
| 1872 | (interactive) | 1868 | (interactive) |
| 1869 | (or (nnir-server-opened "") (nnir-open-server "nnir")) | ||
| 1873 | (let ((name (gnus-read-group "Group name: ")) | 1870 | (let ((name (gnus-read-group "Group name: ")) |
| 1874 | (method "nnir") | 1871 | (method '(nnir "")) |
| 1875 | (pgroup (if (gnus-group-prefixed-p gnus-newsgroup-name) | 1872 | (pgroup |
| 1876 | gnus-newsgroup-name | 1873 | (gnus-group-guess-full-name-from-command-method gnus-newsgroup-name))) |
| 1877 | (gnus-group-prefixed-name | ||
| 1878 | gnus-newsgroup-name '(nnir "nnir"))))) | ||
| 1879 | (with-current-buffer gnus-group-buffer | 1874 | (with-current-buffer gnus-group-buffer |
| 1880 | (gnus-group-make-group | 1875 | (gnus-group-make-group |
| 1881 | name method nil | 1876 | name method nil |
| @@ -1885,20 +1880,20 @@ article came from is also searched." | |||
| 1885 | (deffoo nnir-request-create-group (group &optional server args) | 1880 | (deffoo nnir-request-create-group (group &optional server args) |
| 1886 | (message "Creating nnir group %s" group) | 1881 | (message "Creating nnir group %s" group) |
| 1887 | (let* ((group (gnus-group-prefixed-name group '(nnir "nnir"))) | 1882 | (let* ((group (gnus-group-prefixed-name group '(nnir "nnir"))) |
| 1888 | (specs (assoc 'nnir-specs args)) | 1883 | (specs (assq 'nnir-specs args)) |
| 1889 | (query-spec | 1884 | (query-spec |
| 1890 | (or (cdr (assoc 'nnir-query-spec specs)) | 1885 | (or (cdr (assq 'nnir-query-spec specs)) |
| 1891 | (list (cons 'query | 1886 | (list (cons 'query |
| 1892 | (read-string "Query: " nil 'nnir-search-history))))) | 1887 | (read-string "Query: " nil 'nnir-search-history))))) |
| 1893 | (group-spec | 1888 | (group-spec |
| 1894 | (or (cdr (assoc 'nnir-group-spec specs)) | 1889 | (or (cdr (assq 'nnir-group-spec specs)) |
| 1895 | (list (list (read-string "Server: " nil nil))))) | 1890 | (list (list (read-string "Server: " nil nil))))) |
| 1896 | (nnir-specs (list (cons 'nnir-query-spec query-spec) | 1891 | (nnir-specs (list (cons 'nnir-query-spec query-spec) |
| 1897 | (cons 'nnir-group-spec group-spec)))) | 1892 | (cons 'nnir-group-spec group-spec)))) |
| 1898 | (gnus-group-set-parameter group 'nnir-specs nnir-specs) | 1893 | (gnus-group-set-parameter group 'nnir-specs nnir-specs) |
| 1899 | (gnus-group-set-parameter | 1894 | (gnus-group-set-parameter |
| 1900 | group 'nnir-artlist | 1895 | group 'nnir-artlist |
| 1901 | (or (cdr (assoc 'nnir-artlist args)) | 1896 | (or (cdr (assq 'nnir-artlist args)) |
| 1902 | (nnir-run-query nnir-specs))) | 1897 | (nnir-run-query nnir-specs))) |
| 1903 | (nnir-request-update-info group (gnus-get-info group))) | 1898 | (nnir-request-update-info group (gnus-get-info group))) |
| 1904 | t) | 1899 | t) |