[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/consult fc006e5cfc 1/4: Catch null selections
From: |
ELPA Syncer |
Subject: |
[elpa] externals/consult fc006e5cfc 1/4: Catch null selections |
Date: |
Wed, 6 Dec 2023 03:57:45 -0500 (EST) |
branch: externals/consult
commit fc006e5cfcca1b3707c1411cae197d30806c6e7d
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Catch null selections
---
consult-imenu.el | 45 ++++++++++++++++++-----------------
consult-register.el | 2 +-
consult.el | 68 +++++++++++++++++++++++++++--------------------------
3 files changed, 59 insertions(+), 56 deletions(-)
diff --git a/consult-imenu.el b/consult-imenu.el
index d127931026..73d78d862f 100644
--- a/consult-imenu.el
+++ b/consult-imenu.el
@@ -201,28 +201,29 @@ this function can jump across buffers."
"Select from imenu ITEMS given PROMPT string."
(consult-imenu--deduplicate items)
(consult-imenu--jump
- (consult--read
- (or items (user-error "Imenu is empty"))
- :state
- (let ((preview (consult--jump-preview)))
- (lambda (action cand)
- ;; Only preview simple menu items which are markers,
- ;; in order to avoid any bad side effects.
- (funcall preview action (and (markerp (cdr cand)) (cdr cand)))))
- :narrow
- (when-let (narrow (consult-imenu--narrow))
- (list :predicate
- (lambda (cand)
- (eq (get-text-property 0 'consult--type (car cand))
consult--narrow))
- :keys narrow))
- :group (consult-imenu--group)
- :prompt prompt
- :require-match t
- :category 'imenu
- :lookup #'consult--lookup-cons
- :history 'consult-imenu--history
- :add-history (thing-at-point 'symbol)
- :sort nil)))
+ (or (consult--read
+ (or items (user-error "Imenu is empty"))
+ :state
+ (let ((preview (consult--jump-preview)))
+ (lambda (action cand)
+ ;; Only preview simple menu items which are markers,
+ ;; in order to avoid any bad side effects.
+ (funcall preview action (and (markerp (cdr cand)) (cdr cand)))))
+ :narrow
+ (when-let (narrow (consult-imenu--narrow))
+ (list :predicate
+ (lambda (cand)
+ (eq (get-text-property 0 'consult--type (car cand))
consult--narrow))
+ :keys narrow))
+ :group (consult-imenu--group)
+ :prompt prompt
+ :require-match t
+ :category 'imenu
+ :lookup #'consult--lookup-cons
+ :history 'consult-imenu--history
+ :add-history (thing-at-point 'symbol)
+ :sort nil)
+ (user-error "No item selected"))))
;;;###autoload
(defun consult-imenu ()
diff --git a/consult-register.el b/consult-register.el
index dff679d288..fdcfcbad49 100644
--- a/consult-register.el
+++ b/consult-register.el
@@ -282,7 +282,7 @@ This function is derived from `register-read-with-preview'."
(setq action (logxor #x8000000 key)))
((characterp key)
(setq reg key))
- (t (error "Non-character input"))))
+ (t (user-error "Non-character input"))))
(when (timerp timer)
(cancel-timer timer))
(let ((w (get-buffer-window buffer)))
diff --git a/consult.el b/consult.el
index f8d3adf745..f8429a251c 100644
--- a/consult.el
+++ b/consult.el
@@ -3847,21 +3847,22 @@ If no MODES are specified, use currently active major
and minor modes."
(?l . "Local Minor")
(?g . "Global Minor"))))
(command-execute
- (consult--read
- (consult--mode-command-candidates modes)
- :prompt "Mode command: "
- :predicate
- (lambda (cand)
- (let ((key (get-text-property 0 'consult--type cand)))
- (if consult--narrow
- (= key consult--narrow)
- (/= key ?g))))
- :lookup #'consult--lookup-candidate
- :group (consult--type-group narrow)
- :narrow narrow
- :require-match t
- :history 'extended-command-history
- :category 'command))))
+ (or (consult--read
+ (consult--mode-command-candidates modes)
+ :prompt "Mode command: "
+ :predicate
+ (lambda (cand)
+ (let ((key (get-text-property 0 'consult--type cand)))
+ (if consult--narrow
+ (= key consult--narrow)
+ (/= key ?g))))
+ :lookup #'consult--lookup-candidate
+ :group (consult--type-group narrow)
+ :narrow narrow
+ :require-match t
+ :history 'extended-command-history
+ :category 'command)
+ (user-error "No command selected")))))
;;;;; Command: consult-yank
@@ -4284,24 +4285,25 @@ starts a new Isearch session otherwise."
This is an alternative to `minor-mode-menu-from-indicator'."
(interactive)
(call-interactively
- (consult--read
- (consult--minor-mode-candidates)
- :prompt "Minor mode: "
- :require-match t
- :category 'minor-mode
- :group
- (lambda (cand transform)
- (if transform cand (get-text-property 0 'consult--minor-mode-group
cand)))
- :narrow
- (list :predicate
- (lambda (cand)
- (let ((narrow (get-text-property 0 'consult--minor-mode-narrow
cand)))
- (or (= (logand narrow 255) consult--narrow)
- (= (ash narrow -8) consult--narrow))))
- :keys
- consult--minor-mode-menu-narrow)
- :lookup #'consult--lookup-candidate
- :history 'consult--minor-mode-menu-history)))
+ (or (consult--read
+ (consult--minor-mode-candidates)
+ :prompt "Minor mode: "
+ :require-match t
+ :category 'minor-mode
+ :group
+ (lambda (cand transform)
+ (if transform cand (get-text-property 0 'consult--minor-mode-group
cand)))
+ :narrow
+ (list :predicate
+ (lambda (cand)
+ (let ((narrow (get-text-property 0 'consult--minor-mode-narrow
cand)))
+ (or (= (logand narrow 255) consult--narrow)
+ (= (ash narrow -8) consult--narrow))))
+ :keys
+ consult--minor-mode-menu-narrow)
+ :lookup #'consult--lookup-candidate
+ :history 'consult--minor-mode-menu-history)
+ (user-error "No minor mode selected"))))
;;;;; Command: consult-theme