diff options
| author | Joakim Verona | 2011-07-20 19:17:35 +0200 |
|---|---|---|
| committer | Joakim Verona | 2011-07-20 19:17:35 +0200 |
| commit | c196618976ca42baca2e2de2167a8c5b9c28d75f (patch) | |
| tree | ee1b4498df35c584f53804354e8bf067b5219ab0 | |
| parent | 9c4f13500786571d004d4530e2ffd84c5457d61c (diff) | |
| parent | bfa4f1909c8d7c22a235d04aa8798f2fb7f9c970 (diff) | |
| download | emacs-c196618976ca42baca2e2de2167a8c5b9c28d75f.tar.gz emacs-c196618976ca42baca2e2de2167a8c5b9c28d75f.zip | |
merge upstream
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 14 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/nnimap.el | 42 | ||||
| -rw-r--r-- | lisp/gnus/nnir.el | 23 | ||||
| -rw-r--r-- | lisp/progmodes/etags.el | 19 |
6 files changed, 70 insertions, 38 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b138d78a070..d96ad569543 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2011-07-20 Sam Steingold <sds@gnu.org> | ||
| 2 | |||
| 3 | * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) | ||
| 4 | (etags-tags-included-tables): Call `convert-standard-filename' on | ||
| 5 | the file names contained in TAGS so that windows Emacs can handle | ||
| 6 | TAGS files created by cygwin ctags. | ||
| 7 | |||
| 1 | 2011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org> | 8 | 2011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 9 | ||
| 3 | * proced.el (proced-update): Revert yesterday's bug#1779 patch, | 10 | * proced.el (proced-update): Revert yesterday's bug#1779 patch, |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index d18be47fb9d..a1cb003a8ff 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2011-07-20 Andrew Cohen <cohen@andy.bu.edu> | ||
| 2 | |||
| 3 | * nnir.el (gnus-group-make-nnir-group): Allow optional search query | ||
| 4 | argument. | ||
| 5 | (gnus-group-make-nnir-group, nnir-request-group, nnir-run-query): Use | ||
| 6 | `nnir-address' to handle server info rather than passing an arg. | ||
| 7 | |||
| 8 | * nnimap.el (nnimap-make-thread-query): New utility function to format | ||
| 9 | an imap thread search query. | ||
| 10 | (nnimap-request-thread): Use it. | ||
| 11 | |||
| 12 | * gnus-sum.el (gnus-handle-ephemeral-exit): Ensure we are setting the | ||
| 13 | right select-method if we are not going back to the group buffer. | ||
| 14 | |||
| 1 | 2011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org> | 15 | 2011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 16 | ||
| 3 | * gnus-group.el (gnus-group-read-ephemeral-group): Make sure we don't | 17 | * gnus-group.el (gnus-group-read-ephemeral-group): Make sure we don't |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 86ff0180f55..6e8fc63d79f 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -7339,6 +7339,9 @@ The state which existed when entering the ephemeral is reset." | |||
| 7339 | (if (not (buffer-name (car quit-config))) | 7339 | (if (not (buffer-name (car quit-config))) |
| 7340 | (gnus-configure-windows 'group 'force) | 7340 | (gnus-configure-windows 'group 'force) |
| 7341 | (set-buffer (car quit-config)) | 7341 | (set-buffer (car quit-config)) |
| 7342 | (unless (eq (cdr quit-config) 'group) | ||
| 7343 | (setq gnus-current-select-method | ||
| 7344 | (gnus-find-method-for-group gnus-newsgroup-name))) | ||
| 7342 | (cond ((eq major-mode 'gnus-summary-mode) | 7345 | (cond ((eq major-mode 'gnus-summary-mode) |
| 7343 | (gnus-set-global-variables)) | 7346 | (gnus-set-global-variables)) |
| 7344 | ((eq major-mode 'gnus-article-mode) | 7347 | ((eq major-mode 'gnus-article-mode) |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index ef5bee71629..385522759b6 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -1567,25 +1567,14 @@ textual parts.") | |||
| 1567 | 1567 | ||
| 1568 | (deffoo nnimap-request-thread (header &optional group server) | 1568 | (deffoo nnimap-request-thread (header &optional group server) |
| 1569 | (when (nnimap-possibly-change-group group server) | 1569 | (when (nnimap-possibly-change-group group server) |
| 1570 | (let* ((id (mail-header-id header)) | 1570 | (let* ((cmd (nnimap-make-thread-query header)) |
| 1571 | (refs (split-string | 1571 | (result (with-current-buffer (nnimap-buffer) |
| 1572 | (or (mail-header-references header) | 1572 | (nnimap-command "UID SEARCH %s" cmd)))) |
| 1573 | ""))) | 1573 | (when result |
| 1574 | (cmd (let ((value | 1574 | (gnus-fetch-headers |
| 1575 | (format | 1575 | (and (car result) (delete 0 (mapcar #'string-to-number |
| 1576 | "(OR HEADER REFERENCES %s HEADER Message-Id %s)" | 1576 | (cdr (assoc "SEARCH" (cdr result)))))) |
| 1577 | id id))) | 1577 | nil t))))) |
| 1578 | (dolist (refid refs value) | ||
| 1579 | (setq value (format | ||
| 1580 | "(OR (OR HEADER Message-Id %s HEADER REFERENCES %s) %s)" | ||
| 1581 | refid refid value))))) | ||
| 1582 | (result (with-current-buffer (nnimap-buffer) | ||
| 1583 | (nnimap-command "UID SEARCH %s" cmd)))) | ||
| 1584 | (when result | ||
| 1585 | (gnus-fetch-headers | ||
| 1586 | (and (car result) (delete 0 (mapcar #'string-to-number | ||
| 1587 | (cdr (assoc "SEARCH" (cdr result)))))) | ||
| 1588 | nil t))))) | ||
| 1589 | 1578 | ||
| 1590 | (defun nnimap-possibly-change-group (group server) | 1579 | (defun nnimap-possibly-change-group (group server) |
| 1591 | (let ((open-result t)) | 1580 | (let ((open-result t)) |
| @@ -1951,6 +1940,21 @@ textual parts.") | |||
| 1951 | group-art)) | 1940 | group-art)) |
| 1952 | nnimap-incoming-split-list))) | 1941 | nnimap-incoming-split-list))) |
| 1953 | 1942 | ||
| 1943 | (defun nnimap-make-thread-query (header) | ||
| 1944 | (let* ((id (mail-header-id header)) | ||
| 1945 | (refs (split-string | ||
| 1946 | (or (mail-header-references header) | ||
| 1947 | ""))) | ||
| 1948 | (value | ||
| 1949 | (format | ||
| 1950 | "(OR HEADER REFERENCES %s HEADER Message-Id %s)" | ||
| 1951 | id id))) | ||
| 1952 | (dolist (refid refs value) | ||
| 1953 | (setq value (format | ||
| 1954 | "(OR (OR HEADER Message-Id %s HEADER REFERENCES %s) %s)" | ||
| 1955 | refid refid value))))) | ||
| 1956 | |||
| 1957 | |||
| 1954 | (provide 'nnimap) | 1958 | (provide 'nnimap) |
| 1955 | 1959 | ||
| 1956 | ;;; nnimap.el ends here | 1960 | ;;; nnimap.el ends here |
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index 3f140ef59d9..9840dddcb66 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el | |||
| @@ -296,6 +296,9 @@ is `(valuefunc member)'." | |||
| 296 | (nnoo-declare nnir) | 296 | (nnoo-declare nnir) |
| 297 | (nnoo-define-basics nnir) | 297 | (nnoo-define-basics nnir) |
| 298 | 298 | ||
| 299 | (defvoo nnir-address nil | ||
| 300 | "The address of the nnir server.") | ||
| 301 | |||
| 299 | (gnus-declare-backend "nnir" 'mail) | 302 | (gnus-declare-backend "nnir" 'mail) |
| 300 | 303 | ||
| 301 | 304 | ||
| @@ -582,18 +585,17 @@ Add an entry here when adding a new search engine.") | |||
| 582 | 585 | ||
| 583 | ;; Gnus glue. | 586 | ;; Gnus glue. |
| 584 | 587 | ||
| 585 | (defun gnus-group-make-nnir-group (nnir-extra-parms) | 588 | (defun gnus-group-make-nnir-group (nnir-extra-parms &optional parms) |
| 586 | "Create an nnir group. Asks for query." | 589 | "Create an nnir group. Asks for query." |
| 587 | (interactive "P") | 590 | (interactive "P") |
| 588 | (setq nnir-current-query nil | 591 | (setq nnir-current-query nil |
| 589 | nnir-current-server nil | 592 | nnir-current-server nil |
| 590 | nnir-current-group-marked nil | 593 | nnir-current-group-marked nil |
| 591 | nnir-artlist nil) | 594 | nnir-artlist nil) |
| 592 | (let* ((query (read-string "Query: " nil 'nnir-search-history)) | 595 | (let* ((query (unless parms (read-string "Query: " nil 'nnir-search-history))) |
| 593 | (parms (list (cons 'query query))) | 596 | (parms (or parms (list (cons 'query query)))) |
| 594 | (srv (if (gnus-server-server-name) | 597 | (srv (or (cdr (assq 'server parms)) (gnus-server-server-name) "nnir"))) |
| 595 | "all" ""))) | 598 | (add-to-list 'parms (cons 'unique-id (message-unique-id)) t) |
| 596 | (add-to-list 'parms (cons 'unique-id (message-unique-id)) t) | ||
| 597 | (gnus-group-read-ephemeral-group | 599 | (gnus-group-read-ephemeral-group |
| 598 | (concat "nnir:" (prin1-to-string parms)) (list 'nnir srv) t | 600 | (concat "nnir:" (prin1-to-string parms)) (list 'nnir srv) t |
| 599 | (cons (current-buffer) gnus-current-window-configuration) | 601 | (cons (current-buffer) gnus-current-window-configuration) |
| @@ -617,7 +619,7 @@ Add an entry here when adding a new search engine.") | |||
| 617 | (equal server nnir-current-server))) | 619 | (equal server nnir-current-server))) |
| 618 | nnir-artlist | 620 | nnir-artlist |
| 619 | ;; Cache miss. | 621 | ;; Cache miss. |
| 620 | (setq nnir-artlist (nnir-run-query group server))) | 622 | (setq nnir-artlist (nnir-run-query group))) |
| 621 | (with-current-buffer nntp-server-buffer | 623 | (with-current-buffer nntp-server-buffer |
| 622 | (setq nnir-current-query group) | 624 | (setq nnir-current-query group) |
| 623 | (when server (setq nnir-current-server server)) | 625 | (when server (setq nnir-current-server server)) |
| @@ -1594,14 +1596,13 @@ actually)." | |||
| 1594 | 1596 | ||
| 1595 | (autoload 'gnus-group-topic-name "gnus-topic") | 1597 | (autoload 'gnus-group-topic-name "gnus-topic") |
| 1596 | 1598 | ||
| 1597 | (defun nnir-run-query (query nserver) | 1599 | (defun nnir-run-query (query) |
| 1598 | "Invoke appropriate search engine function (see `nnir-engines'). | 1600 | "Invoke appropriate search engine function (see `nnir-engines'). |
| 1599 | If some groups were process-marked, run the query for each of the groups | 1601 | If some groups were process-marked, run the query for each of the groups |
| 1600 | and concat the results." | 1602 | and concat the results." |
| 1601 | (let ((q (car (read-from-string query))) | 1603 | (let ((q (car (read-from-string query))) |
| 1602 | (groups (if (string= "all-ephemeral" nserver) | 1604 | (groups (if (not (string= "nnir" nnir-address)) |
| 1603 | (with-current-buffer gnus-server-buffer | 1605 | (list (list nnir-address)) |
| 1604 | (list (list (gnus-server-server-name)))) | ||
| 1605 | (nnir-categorize | 1606 | (nnir-categorize |
| 1606 | (or gnus-group-marked | 1607 | (or gnus-group-marked |
| 1607 | (if (gnus-group-group-name) | 1608 | (if (gnus-group-group-name) |
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index da073ceb258..a3300077909 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el | |||
| @@ -1260,11 +1260,11 @@ buffer-local values of tags table format variables." | |||
| 1260 | (defun etags-file-of-tag (&optional relative) ; Doc string? | 1260 | (defun etags-file-of-tag (&optional relative) ; Doc string? |
| 1261 | (save-excursion | 1261 | (save-excursion |
| 1262 | (re-search-backward "\f\n\\([^\n]+\\),[0-9]*\n") | 1262 | (re-search-backward "\f\n\\([^\n]+\\),[0-9]*\n") |
| 1263 | (let ((str (buffer-substring (match-beginning 1) (match-end 1)))) | 1263 | (let ((str (convert-standard-filename |
| 1264 | (buffer-substring (match-beginning 1) (match-end 1))))) | ||
| 1264 | (if relative | 1265 | (if relative |
| 1265 | str | 1266 | str |
| 1266 | (expand-file-name str | 1267 | (expand-file-name str (file-truename default-directory)))))) |
| 1267 | (file-truename default-directory)))))) | ||
| 1268 | 1268 | ||
| 1269 | 1269 | ||
| 1270 | (defun etags-tags-completion-table () ; Doc string? | 1270 | (defun etags-tags-completion-table () ; Doc string? |
| @@ -1545,7 +1545,9 @@ hits the start of file." | |||
| 1545 | (end-of-line) | 1545 | (end-of-line) |
| 1546 | (skip-chars-backward "^," beg) | 1546 | (skip-chars-backward "^," beg) |
| 1547 | (or (looking-at "include$") | 1547 | (or (looking-at "include$") |
| 1548 | (setq files (cons (buffer-substring beg (1- (point))) files)))) | 1548 | (push (convert-standard-filename |
| 1549 | (buffer-substring beg (1- (point)))) | ||
| 1550 | files))) | ||
| 1549 | (nreverse files))) | 1551 | (nreverse files))) |
| 1550 | 1552 | ||
| 1551 | (defun etags-tags-included-tables () ; Doc string? | 1553 | (defun etags-tags-included-tables () ; Doc string? |
| @@ -1556,10 +1558,11 @@ hits the start of file." | |||
| 1556 | (setq beg (point)) | 1558 | (setq beg (point)) |
| 1557 | (end-of-line) | 1559 | (end-of-line) |
| 1558 | (skip-chars-backward "^," beg) | 1560 | (skip-chars-backward "^," beg) |
| 1559 | (if (looking-at "include$") | 1561 | (when (looking-at "include$") |
| 1560 | ;; Expand in the default-directory of the tags table buffer. | 1562 | ;; Expand in the default-directory of the tags table buffer. |
| 1561 | (setq files (cons (expand-file-name (buffer-substring beg (1- (point)))) | 1563 | (push (expand-file-name (convert-standard-filename |
| 1562 | files)))) | 1564 | (buffer-substring beg (1- (point))))) |
| 1565 | files))) | ||
| 1563 | (nreverse files))) | 1566 | (nreverse files))) |
| 1564 | 1567 | ||
| 1565 | ;; Empty tags file support. | 1568 | ;; Empty tags file support. |