search: restore jump-to-message

Fixes: #2169.
This commit is contained in:
Dirk-Jan C. Binnema 2022-01-18 16:58:50 +02:00
parent f035c801bb
commit a6b996d00e
2 changed files with 16 additions and 18 deletions

View File

@ -822,14 +822,6 @@ true, do *not* update the query history stack."
mu4e-headers-skip-duplicates
mu4e-headers-include-related)))
(defvar mu4e~headers-view-target nil
"Whether to automatically view (open) the target message (as
per `mu4e~headers-msgid-target').")
(defvar mu4e~headers-msgid-target nil
"Message-id to jump to after the search has finished.")
(defun mu4e~headers-found-handler (count)
"Create a one line description of the number of headers found
after the end of the search results."
@ -857,17 +849,17 @@ after the end of the search results."
;; if we need to jump to some specific message, do so now
(goto-char (point-min))
(when mu4e~headers-msgid-target
(when mu4e--search-msgid-target
(if (eq (current-buffer) (window-buffer))
(mu4e-headers-goto-message-id mu4e~headers-msgid-target)
(let* ((pos (mu4e-headers-goto-message-id mu4e~headers-msgid-target)))
(mu4e-headers-goto-message-id mu4e--search-msgid-target)
(let* ((pos (mu4e-headers-goto-message-id mu4e--search-msgid-target)))
(when pos
(set-window-point (get-buffer-window nil t) pos)))))
(when (and mu4e~headers-view-target (mu4e-message-at-point 'noerror))
(when (and mu4e--search-view-target (mu4e-message-at-point 'noerror))
;; view the message at point when there is one.
(mu4e-headers-view-message))
(setq mu4e~headers-view-target nil
mu4e~headers-msgid-target nil)
(setq mu4e--search-view-target nil
mu4e--search-msgid-target nil)
(when (mu4e~headers-docid-at-point)
(mu4e~headers-highlight (mu4e~headers-docid-at-point)))))
;; run-hooks

View File

@ -1,6 +1,6 @@
;;; mu4e-search.el -- part of mu4e -*- lexical-binding: t -*-
;; Copyright (C) 2021 Dirk-Jan C. Binnema
;; Copyright (C) 2021,2022 Dirk-Jan C. Binnema
;; Author: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
;; Maintainer: Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
@ -31,6 +31,7 @@
(require 'mu4e-helpers)
(require 'mu4e-message)
(require 'mu4e-bookmarks)
(require 'mu4e-contacts)
(require 'mu4e-mark)
@ -131,6 +132,12 @@ but also manually invoked searches."
;;; Interactive functions
(declare-function mu4e--search-execute "mu4e-headers")
(defvar mu4e--search-view-target nil
"Whether to automatically view (open) the target message.")
(defvar mu4e--search-msgid-target nil
"Message-id to jump to after the search has finished.")
(defun mu4e-search (&optional expr prompt edit ignore-history msgid show)
"Search for query EXPR.
@ -152,9 +159,8 @@ show the message with MSGID."
expr)))
(mu4e-mark-handle-when-leaving)
(mu4e--search-execute expr ignore-history)
;;(setq mu4e~headers-msgid-target msgid
;; mu4e~headers-view-target show)
))
(setq mu4e--search-msgid-target msgid
mu4e--search-view-target show)))
(define-obsolete-function-alias 'mu4e-headers-search 'mu4e-search "1.7.0")