emacs-elpa-diffs
[Top][All Lists]
Advanced

[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
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]