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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/consult e354494fd3 3/4: Simplify some code given that c


From: ELPA Syncer
Subject: [elpa] externals/consult e354494fd3 3/4: Simplify some code given that consult--read catches null completion
Date: Wed, 6 Dec 2023 03:57:46 -0500 (EST)

branch: externals/consult
commit e354494fd32968ed73fe3e1927fee28697b21bcb
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Simplify some code given that consult--read catches null completion
---
 consult-imenu.el  | 45 ++++++++++++++++++------------------
 consult-kmacro.el | 12 ++++------
 consult-xref.el   | 47 +++++++++++++++++++-------------------
 consult.el        | 68 +++++++++++++++++++++++++++----------------------------
 4 files changed, 84 insertions(+), 88 deletions(-)

diff --git a/consult-imenu.el b/consult-imenu.el
index 73d78d862f..d127931026 100644
--- a/consult-imenu.el
+++ b/consult-imenu.el
@@ -201,29 +201,28 @@ this function can jump across buffers."
   "Select from imenu ITEMS given PROMPT string."
   (consult-imenu--deduplicate items)
   (consult-imenu--jump
-   (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"))))
+   (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)))
 
 ;;;###autoload
 (defun consult-imenu ()
diff --git a/consult-kmacro.el b/consult-kmacro.el
index 8c043e0f69..ee7bd9b405 100644
--- a/consult-kmacro.el
+++ b/consult-kmacro.el
@@ -80,13 +80,11 @@ Macros containing mouse clicks are omitted."
              (lambda (cand)
                (get-text-property 0 'consult-kmacro--annotation cand))
              :lookup #'consult--lookup-candidate)))
-    (unless km (user-error "No kmacro selected"))
-    (funcall
-     ;; Kmacros are lambdas (oclosures) on Emacs 29
-     (if (eval-when-compile (> emacs-major-version 28))
-         km
-       (kmacro-lambda-form km))
-     arg)))
+    ;; Kmacros are lambdas (oclosures) on Emacs 29
+    (funcall (if (eval-when-compile (> emacs-major-version 28))
+                 km
+               (kmacro-lambda-form km))
+             arg)))
 
 (provide 'consult-kmacro)
 ;;; consult-kmacro.el ends here
diff --git a/consult-xref.el b/consult-xref.el
index b7fced9e20..79c5658bae 100644
--- a/consult-xref.el
+++ b/consult-xref.el
@@ -91,30 +91,31 @@ FETCHER and ALIST arguments."
   (let* ((consult-xref--fetcher fetcher)
          (candidates (consult-xref--candidates))
          (display (alist-get 'display-action alist)))
+    (unless candidates
+      (user-error "No xref locations"))
     (xref-pop-to-location
-     (or (if (cdr candidates)
-             (apply
-              #'consult--read
-              candidates
-              (append
-               (consult--customize-get #'consult-xref)
-               (list
-                :prompt "Go to xref: "
-                :history 'consult-xref--history
-                :require-match t
-                :sort nil
-                :category 'consult-xref
-                :group #'consult--prefix-group
-                :state
-                ;; do not preview other frame
-                (when-let (fun (pcase-exhaustive display
-                                 ('frame nil)
-                                 ('window #'switch-to-buffer-other-window)
-                                 ('nil #'switch-to-buffer)))
-                  (consult-xref--preview fun))
-                :lookup (apply-partially #'consult--lookup-prop 
'consult-xref))))
-           (get-text-property 0 'consult-xref (car candidates)))
-         (user-error "No xref location"))
+     (if (cdr candidates)
+         (apply
+          #'consult--read
+          candidates
+          (append
+           (consult--customize-get #'consult-xref)
+           (list
+            :prompt "Go to xref: "
+            :history 'consult-xref--history
+            :require-match t
+            :sort nil
+            :category 'consult-xref
+            :group #'consult--prefix-group
+            :state
+            ;; do not preview other frame
+            (when-let (fun (pcase-exhaustive display
+                             ('frame nil)
+                             ('window #'switch-to-buffer-other-window)
+                             ('nil #'switch-to-buffer)))
+              (consult-xref--preview fun))
+            :lookup (apply-partially #'consult--lookup-prop 'consult-xref))))
+       (get-text-property 0 'consult-xref (car candidates)))
      display)))
 
 (provide 'consult-xref)
diff --git a/consult.el b/consult.el
index 4e04bb80ab..fcc619e636 100644
--- a/consult.el
+++ b/consult.el
@@ -3852,22 +3852,21 @@ If no MODES are specified, use currently active major 
and minor modes."
                   (?l . "Local Minor")
                   (?g . "Global Minor"))))
     (command-execute
-     (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")))))
+     (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))))
 
 ;;;;; Command: consult-yank
 
@@ -4290,25 +4289,24 @@ starts a new Isearch session otherwise."
 This is an alternative to `minor-mode-menu-from-indicator'."
   (interactive)
   (call-interactively
-   (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"))))
+   (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)))
 
 ;;;;; Command: consult-theme
 



reply via email to

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