diff options
| author | Basil L. Contovounesios <contovob@tcd.ie> | 2019-05-04 16:29:39 +0100 |
|---|---|---|
| committer | Basil L. Contovounesios <contovob@tcd.ie> | 2019-05-12 12:47:56 +0100 |
| commit | 571d802df38cb1d3f93222f2977b766995616ac7 (patch) | |
| tree | d32380deb818d4d7b6d90457d1a31977de60dbe3 /lisp/gnus/gnus-sum.el | |
| parent | bb60144d00fce90d7db1fdb5b67d6aa266e5010a (diff) | |
| download | emacs-571d802df38cb1d3f93222f2977b766995616ac7.tar.gz | |
Fix Gnus summary widget navigation across frames
* lisp/gnus/gnus-sum.el (gnus-summary-widget-forward)
(gnus-summary-widget-backward): Signal more informative error if
article window is not found. Consider other frames displaying
article buffer, and raise its frame before navigating its
widgets. (bug#35565)
* lisp/gnus/gnus-win.el (gnus-get-buffer-window): Simplify and add
docstring.
Diffstat (limited to 'lisp/gnus/gnus-sum.el')
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index b8aa302f11a..ac222acfd2d 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -9423,8 +9423,11 @@ With optional ARG, move across that many fields." (interactive "p") (gnus-summary-select-article) (gnus-configure-windows 'article) - (select-window (gnus-get-buffer-window gnus-article-buffer)) - (widget-forward arg)) + (let ((win (or (gnus-get-buffer-window gnus-article-buffer t) + (error "No article window found")))) + (select-window win) + (select-frame-set-input-focus (window-frame win)) + (widget-forward arg))) (defun gnus-summary-widget-backward (arg) "Move point to the previous field or button in the article. @@ -9432,10 +9435,13 @@ With optional ARG, move across that many fields." (interactive "p") (gnus-summary-select-article) (gnus-configure-windows 'article) - (select-window (gnus-get-buffer-window gnus-article-buffer)) - (unless (widget-at (point)) - (goto-char (point-max))) - (widget-backward arg)) + (let ((win (or (gnus-get-buffer-window gnus-article-buffer t) + (error "No article window found")))) + (select-window win) + (select-frame-set-input-focus (window-frame win)) + (unless (widget-at (point)) + (goto-char (point-max))) + (widget-backward arg))) (defun gnus-summary-isearch-article (&optional regexp-p) "Do incremental search forward on the current article. |
