- (dolist (action action-map)
- (if (> (length (first action)) 1)
- (let* ((key (elt (first action) 0))
- (keystr (string key))
- (new-prompt (concat prompt (format-kbd-macro keystr) " "))
- (action-submap nil))
- (unless (lookup-key map keystr)
- (dolist (act action-map)
- (when (= key (elt (first act) 0))
- (push (list (substring (first act) 1)
- (second act)
- (third act))
- action-submap)))
- ;; We deal with backspace specially
- (push (list (kbd "DEL")
- "Backup"
- (apply-partially #'notmuch-jump action-map prompt))
- action-submap)
- (setq action-submap (nreverse action-submap))
- (define-key map keystr
- `(lambda () (interactive)
- (setq notmuch-jump--action
- ',(apply-partially #'notmuch-jump action-submap new-prompt))
- (exit-minibuffer)))))))
+ (pcase-dolist (`(,key ,_name ,_fn) action-map)
+ (when (> (length key) 1)
+ (let* ((key (elt key 0))
+ (keystr (string key))
+ (new-prompt (concat prompt (format-kbd-macro keystr) " "))
+ (action-submap nil))
+ (unless (lookup-key map keystr)
+ (pcase-dolist (`(,k ,n ,f) action-map)
+ (when (= key (elt k 0))
+ (push (list (substring k 1) n f) action-submap)))
+ ;; We deal with backspace specially
+ (push (list (kbd "DEL")
+ "Backup"
+ (apply-partially #'notmuch-jump action-map prompt))
+ action-submap)
+ (setq action-submap (nreverse action-submap))
+ (define-key map keystr
+ (lambda ()
+ (interactive)
+ (setq notmuch-jump--action
+ (apply-partially #'notmuch-jump
+ action-submap
+ new-prompt))
+ (exit-minibuffer)))))))