aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-07-20 09:32:42 -0700
committerPaul Eggert2011-07-20 09:32:42 -0700
commit49b602e24ecb3fe085d45ac385e1bfda82252090 (patch)
treea8b33aacdb64b4394ff213f15a77d90d84d3d8fd
parent0d8de0fd0a5a63cc9558b5c99f9c7f1ddcaf338a (diff)
parent59f1b8949499f35fbdf3761acc8dd651fa69d335 (diff)
downloademacs-49b602e24ecb3fe085d45ac385e1bfda82252090.tar.gz
emacs-49b602e24ecb3fe085d45ac385e1bfda82252090.zip
Merge from trunk.
-rw-r--r--lisp/ChangeLog15
-rw-r--r--lisp/gnus/ChangeLog48
-rw-r--r--lisp/gnus/gnus-art.el15
-rw-r--r--lisp/gnus/gnus-group.el13
-rw-r--r--lisp/gnus/gnus-html.el1
-rw-r--r--lisp/gnus/gnus-sum.el74
-rw-r--r--lisp/gnus/gnus.el1
-rw-r--r--lisp/gnus/message.el8
-rw-r--r--lisp/gnus/nnimap.el42
-rw-r--r--lisp/gnus/nnir.el24
-rw-r--r--lisp/proced.el4
11 files changed, 179 insertions, 66 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0699a93ac9b..b138d78a070 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,18 @@
12011-07-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * proced.el (proced-update): Revert yesterday's bug#1779 patch,
4 which apparently didn't work.
5
62011-07-19 Roland Winkler <winkler@gnu.org>
7
8 * proced.el (proced-send-signal): For *Marked Processes* buffer
9 put point at beginning of buffer.
10
112011-07-19 Stephen Berman <stephen.berman@gmx.net>
12
13 * proced.el (proced-format): Make header lines align with the text
14 (bug#1779).
15
12011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org> 162011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 17
3 * view.el (view-buffer): Allow running in `special' modes if we're 18 * view.el (view-buffer): Allow running in `special' modes if we're
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 32f5b702c6f..a1cb003a8ff 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,51 @@
12011-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
152011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
16
17 * gnus-group.el (gnus-group-read-ephemeral-group): Make sure we don't
18 enter invalid buffer configurations into the quit form (bug#9107).
19 (gnus-group-tool-bar-gnome): Replace connect/disconnect with
20 unplugged/plugged.
21
22 * gnus-sum.el (gnus-summary-refer-thread): When inserting new headers,
23 keep track of which ones are unread (bug#9061).
24
25 * gnus.el (gnus-refer-article-method): Allow entering any sexp
26 (bug#9055).
27
28 * gnus-art.el (gnus-article-show-images): Allow working if using w3m
29 (bug#9041).
30
31 * gnus-html.el (mm-util): Require (bug#9073).
32
33 * gnus-sum.el (gnus-delete-duplicate-headers): New function.
34 (gnus-summary-refer-thread): Use it to remove duplicates in the
35 un-threaded view (bug#9053).
36 (gnus-summary-insert-subject): Document USE-OLD-HEADER (bug#9070).
37
382011-07-07 Kan-Ru Chen <kanru@kanru.info>
39
40 * nnir.el (nnir-read-server-parm): Use default value from global
41 variable. Without this the default search engine parameters aren't
42 used at all.
43
442011-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
45
46 * message.el (message-unique-id): Don't use the undocumented return
47 value from (random t) (bug#9118).
48
12011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org> 492011-07-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 50
3 * message.el (message-auto-save-directory): If the ~/Mail directory 51 * message.el (message-auto-save-directory): If the ~/Mail directory
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 7255be416eb..c29000f4691 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -2267,6 +2267,8 @@ unfolded."
2267 (dolist (elem gnus-article-image-alist) 2267 (dolist (elem gnus-article-image-alist)
2268 (gnus-delete-images (car elem)))))) 2268 (gnus-delete-images (car elem))))))
2269 2269
2270(autoload 'w3m-toggle-inline-images "w3m")
2271
2270(defun gnus-article-show-images () 2272(defun gnus-article-show-images ()
2271 "Show any images that are in the HTML-rendered article buffer. 2273 "Show any images that are in the HTML-rendered article buffer.
2272This only works if the article in question is HTML." 2274This only works if the article in question is HTML."
@@ -2274,11 +2276,14 @@ This only works if the article in question is HTML."
2274 (gnus-with-article-buffer 2276 (gnus-with-article-buffer
2275 (save-restriction 2277 (save-restriction
2276 (widen) 2278 (widen)
2277 (dolist (region (gnus-find-text-property-region (point-min) (point-max) 2279 (if (eq mm-text-html-renderer 'w3m)
2278 'image-displayer)) 2280 (let ((mm-inline-text-html-with-images nil))
2279 (destructuring-bind (start end function) region 2281 (w3m-toggle-inline-images))
2280 (funcall function (get-text-property start 'image-url) 2282 (dolist (region (gnus-find-text-property-region (point-min) (point-max)
2281 start end)))))) 2283 'image-displayer))
2284 (destructuring-bind (start end function) region
2285 (funcall function (get-text-property start 'image-url)
2286 start end)))))))
2282 2287
2283(defun gnus-article-treat-fold-newsgroups () 2288(defun gnus-article-treat-fold-newsgroups ()
2284 "Unfold folded message headers. 2289 "Unfold folded message headers.
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index b4dca3e1fc4..2a31ccd34f0 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -1008,10 +1008,10 @@ Pre-defined symbols include `gnus-group-tool-bar-gnome' and
1008 '((gnus-group-post-news "mail/compose") 1008 '((gnus-group-post-news "mail/compose")
1009 ;; Some useful agent icons? I don't use the agent so agent users should 1009 ;; Some useful agent icons? I don't use the agent so agent users should
1010 ;; suggest useful commands: 1010 ;; suggest useful commands:
1011 (gnus-agent-toggle-plugged "disconnect" t 1011 (gnus-agent-toggle-plugged "unplugged" t
1012 :help "Gnus is currently unplugged. Click to work online." 1012 :help "Gnus is currently unplugged. Click to work online."
1013 :visible (and gnus-agent (not gnus-plugged))) 1013 :visible (and gnus-agent (not gnus-plugged)))
1014 (gnus-agent-toggle-plugged "connect" t 1014 (gnus-agent-toggle-plugged "plugged" t
1015 :help "Gnus is currently plugged. Click to work offline." 1015 :help "Gnus is currently plugged. Click to work offline."
1016 :visible (and gnus-agent gnus-plugged)) 1016 :visible (and gnus-agent gnus-plugged))
1017 ;; FIXME: gnus-agent-toggle-plugged (in gnus-agent-group-make-menu-bar) 1017 ;; FIXME: gnus-agent-toggle-plugged (in gnus-agent-group-make-menu-bar)
@@ -2298,11 +2298,14 @@ Return the name of the group if selection was successful."
2298 `(-1 nil (,group 2298 `(-1 nil (,group
2299 ,gnus-level-default-subscribed nil nil ,method 2299 ,gnus-level-default-subscribed nil nil ,method
2300 ,(cons 2300 ,(cons
2301 (if quit-config 2301 (cond
2302 (cons 'quit-config quit-config) 2302 (quit-config
2303 (cons 'quit-config quit-config))
2304 ((assq gnus-current-window-configuration
2305 gnus-buffer-configuration)
2303 (cons 'quit-config 2306 (cons 'quit-config
2304 (cons gnus-summary-buffer 2307 (cons gnus-summary-buffer
2305 gnus-current-window-configuration))) 2308 gnus-current-window-configuration))))
2306 parameters))) 2309 parameters)))
2307 gnus-newsrc-hashtb) 2310 gnus-newsrc-hashtb)
2308 (push method gnus-ephemeral-servers) 2311 (push method gnus-ephemeral-servers)
diff --git a/lisp/gnus/gnus-html.el b/lisp/gnus/gnus-html.el
index 6ca3c8b7945..d3da6aab1b7 100644
--- a/lisp/gnus/gnus-html.el
+++ b/lisp/gnus/gnus-html.el
@@ -38,6 +38,7 @@
38(require 'url-cache) 38(require 'url-cache)
39(require 'xml) 39(require 'xml)
40(require 'browse-url) 40(require 'browse-url)
41(require 'mm-util)
41(eval-and-compile (unless (featurep 'xemacs) (require 'help-fns))) 42(eval-and-compile (unless (featurep 'xemacs) (require 'help-fns)))
42 43
43(defcustom gnus-html-image-cache-ttl (days-to-time 7) 44(defcustom gnus-html-image-cache-ttl (days-to-time 7)
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 5a817e12104..6e8fc63d79f 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -6562,7 +6562,10 @@ This is meant to be called in `gnus-article-internal-prepare-hook'."
6562(defun gnus-summary-insert-subject (id &optional old-header use-old-header) 6562(defun gnus-summary-insert-subject (id &optional old-header use-old-header)
6563 "Find article ID and insert the summary line for that article. 6563 "Find article ID and insert the summary line for that article.
6564OLD-HEADER can either be a header or a line number to insert 6564OLD-HEADER can either be a header or a line number to insert
6565the subject line on." 6565the subject line on.
6566If USE-OLD-HEADER is non-nil, then OLD-HEADER should be a header,
6567and OLD-HEADER will be used when the summary line is inserted,
6568too, instead of trying to fetch new headers."
6566 (let* ((line (and (numberp old-header) old-header)) 6569 (let* ((line (and (numberp old-header) old-header))
6567 (old-header (and (vectorp old-header) old-header)) 6570 (old-header (and (vectorp old-header) old-header))
6568 (header (cond ((and old-header use-old-header) 6571 (header (cond ((and old-header use-old-header)
@@ -7336,6 +7339,9 @@ The state which existed when entering the ephemeral is reset."
7336 (if (not (buffer-name (car quit-config))) 7339 (if (not (buffer-name (car quit-config)))
7337 (gnus-configure-windows 'group 'force) 7340 (gnus-configure-windows 'group 'force)
7338 (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)))
7339 (cond ((eq major-mode 'gnus-summary-mode) 7345 (cond ((eq major-mode 'gnus-summary-mode)
7340 (gnus-set-global-variables)) 7346 (gnus-set-global-variables))
7341 ((eq major-mode 'gnus-article-mode) 7347 ((eq major-mode 'gnus-article-mode)
@@ -8950,6 +8956,21 @@ Return the number of articles fetched."
8950 (gnus-summary-position-point) 8956 (gnus-summary-position-point)
8951 n))) 8957 n)))
8952 8958
8959(defun gnus-delete-duplicate-headers (headers)
8960 ;; First remove leading duplicates.
8961 (while (and (> (length headers) 1)
8962 (= (mail-header-number (car headers))
8963 (mail-header-number (cadr headers))))
8964 (pop headers))
8965 ;; Then the rest.
8966 (let ((result headers))
8967 (while (> (length headers) 1)
8968 (if (= (mail-header-number (car headers))
8969 (mail-header-number (cadr headers)))
8970 (setcdr headers (cddr headers))
8971 (pop headers)))
8972 result))
8973
8953(defun gnus-summary-refer-thread (&optional limit) 8974(defun gnus-summary-refer-thread (&optional limit)
8954 "Fetch all articles in the current thread. 8975 "Fetch all articles in the current thread.
8955If no backend-specific 'request-thread function is available 8976If no backend-specific 'request-thread function is available
@@ -8964,29 +8985,36 @@ variable."
8964 (gnus-summary-ignore-duplicates t) 8985 (gnus-summary-ignore-duplicates t)
8965 (gnus-read-all-available-headers t) 8986 (gnus-read-all-available-headers t)
8966 (limit (if limit (prefix-numeric-value limit) 8987 (limit (if limit (prefix-numeric-value limit)
8967 gnus-refer-thread-limit))) 8988 gnus-refer-thread-limit))
8989 (new-headers
8990 (if (gnus-check-backend-function
8991 'request-thread gnus-newsgroup-name)
8992 (gnus-request-thread header gnus-newsgroup-name)
8993 (let* ((last (if (numberp limit)
8994 (min (+ (mail-header-number header)
8995 limit)
8996 gnus-newsgroup-highest)
8997 gnus-newsgroup-highest))
8998 (subject (gnus-simplify-subject
8999 (mail-header-subject header)))
9000 (refs (split-string (or (mail-header-references header)
9001 "")))
9002 (gnus-parse-headers-hook
9003 (lambda () (goto-char (point-min))
9004 (keep-lines
9005 (regexp-opt (append refs (list id subject)))))))
9006 (gnus-fetch-headers (list last) (if (numberp limit)
9007 (* 2 limit) limit) t)))))
9008 (dolist (header new-headers)
9009 (when (member (mail-header-number header) gnus-newsgroup-unselected)
9010 (push (mail-header-number header) gnus-newsgroup-unreads)
9011 (setq gnus-newsgroup-unselected
9012 (delete (mail-header-number header) gnus-newsgroup-unselected))))
8968 (setq gnus-newsgroup-headers 9013 (setq gnus-newsgroup-headers
8969 (gnus-merge 9014 (gnus-delete-duplicate-headers
8970 'list gnus-newsgroup-headers 9015 (gnus-merge
8971 (if (gnus-check-backend-function 9016 'list gnus-newsgroup-headers new-headers
8972 'request-thread gnus-newsgroup-name) 9017 'gnus-article-sort-by-number)))
8973 (gnus-request-thread header gnus-newsgroup-name)
8974 (let* ((last (if (numberp limit)
8975 (min (+ (mail-header-number header)
8976 limit)
8977 gnus-newsgroup-highest)
8978 gnus-newsgroup-highest))
8979 (subject (gnus-simplify-subject
8980 (mail-header-subject header)))
8981 (refs (split-string (or (mail-header-references header)
8982 "")))
8983 (gnus-parse-headers-hook
8984 (lambda () (goto-char (point-min))
8985 (keep-lines
8986 (regexp-opt (append refs (list id subject)))))))
8987 (gnus-fetch-headers (list last) (if (numberp limit)
8988 (* 2 limit) limit) t)))
8989 'gnus-article-sort-by-number))
8990 (gnus-summary-limit-include-thread id))) 9018 (gnus-summary-limit-include-thread id)))
8991 9019
8992(defun gnus-summary-refer-article (message-id) 9020(defun gnus-summary-refer-article (message-id)
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index b66d5f22474..7ff90f583cf 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -1435,6 +1435,7 @@ list, Gnus will try all the methods in the list until it finds a match."
1435 (const current) 1435 (const current)
1436 (const :tag "Google" (nnweb "refer" (nnweb-type google))) 1436 (const :tag "Google" (nnweb "refer" (nnweb-type google)))
1437 gnus-select-method 1437 gnus-select-method
1438 sexp
1438 (repeat :menu-tag "Try multiple" 1439 (repeat :menu-tag "Try multiple"
1439 :tag "Multiple" 1440 :tag "Multiple"
1440 :value (current (nnweb "refer" (nnweb-type google))) 1441 :value (current (nnweb "refer" (nnweb-type google)))
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index ff013e5b291..47c4de0aedc 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4785,7 +4785,9 @@ Do not use this for anything important, it is cryptographically weak."
4785 (require 'sha1) 4785 (require 'sha1)
4786 (let (sha1-maximum-internal-length) 4786 (let (sha1-maximum-internal-length)
4787 (sha1 (concat (message-unique-id) 4787 (sha1 (concat (message-unique-id)
4788 (format "%x%x%x" (random) (random t) (random)) 4788 (format "%x%x%x" (random)
4789 (progn (random t) (random))
4790 (random))
4789 (prin1-to-string (recent-keys)) 4791 (prin1-to-string (recent-keys))
4790 (prin1-to-string (garbage-collect)))))) 4792 (prin1-to-string (garbage-collect))))))
4791 4793
@@ -5488,10 +5490,12 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'."
5488;; You might for example insert a "." somewhere (not next to another dot 5490;; You might for example insert a "." somewhere (not next to another dot
5489;; or string boundary), or modify the "fsf" string. 5491;; or string boundary), or modify the "fsf" string.
5490(defun message-unique-id () 5492(defun message-unique-id ()
5493 (random t)
5491 ;; Don't use microseconds from (current-time), they may be unsupported. 5494 ;; Don't use microseconds from (current-time), they may be unsupported.
5492 ;; Instead we use this randomly inited counter. 5495 ;; Instead we use this randomly inited counter.
5493 (setq message-unique-id-char 5496 (setq message-unique-id-char
5494 (% (1+ (or message-unique-id-char (logand (random t) (1- (lsh 1 20))))) 5497 (% (1+ (or message-unique-id-char
5498 (logand (random most-positive-fixnum) (1- (lsh 1 20)))))
5495 ;; (current-time) returns 16-bit ints, 5499 ;; (current-time) returns 16-bit ints,
5496 ;; and 2^16*25 just fits into 4 digits i base 36. 5500 ;; and 2^16*25 just fits into 4 digits i base 36.
5497 (* 25 25))) 5501 (* 25 25)))
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 8099cc2a7cc..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)
@@ -1640,6 +1641,7 @@ server is of form 'backend:name'."
1640 (let ((method (gnus-server-to-method server))) 1641 (let ((method (gnus-server-to-method server)))
1641 (cond ((and method (assq key (cddr method))) 1642 (cond ((and method (assq key (cddr method)))
1642 (nth 1 (assq key (cddr method)))) 1643 (nth 1 (assq key (cddr method))))
1644 ((boundp key) (symbol-value key))
1643 (t nil)))) 1645 (t nil))))
1644 1646
1645(defun nnir-possibly-change-server (server) 1647(defun nnir-possibly-change-server (server)
diff --git a/lisp/proced.el b/lisp/proced.el
index 11598d7350f..94ea579ebd8 100644
--- a/lisp/proced.el
+++ b/lisp/proced.el
@@ -1724,7 +1724,9 @@ After sending the signal, this command runs the normal hook
1724 (buffer-disable-undo) 1724 (buffer-disable-undo)
1725 (setq buffer-read-only t) 1725 (setq buffer-read-only t)
1726 (dolist (process process-alist) 1726 (dolist (process process-alist)
1727 (insert " " (cdr process) "\n"))) 1727 (insert " " (cdr process) "\n"))
1728 (delete-char -1)
1729 (goto-char (point-min)))
1728 (save-window-excursion 1730 (save-window-excursion
1729 ;; Analogous to `dired-pop-to-buffer' 1731 ;; Analogous to `dired-pop-to-buffer'
1730 ;; Don't split window horizontally. (Bug#1806) 1732 ;; Don't split window horizontally. (Bug#1806)