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

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

[elpa] externals/ivy d631cb3419 8/8: Merge branch 'master' into external


From: Basil L. Contovounesios
Subject: [elpa] externals/ivy d631cb3419 8/8: Merge branch 'master' into externals/ivy
Date: Wed, 14 Feb 2024 16:41:24 -0500 (EST)

branch: externals/ivy
commit d631cb34198bcabf5847bae59b9d1718305a68f6
Merge: 75d7136cfc 4546ce0ca4
Author: Basil L. Contovounesios <basil@contovou.net>
Commit: Basil L. Contovounesios <basil@contovou.net>

    Merge branch 'master' into externals/ivy
---
 .elpaignore    |   1 +
 .mailmap       |  31 +++++++++++++++
 colir.el       |   2 +-
 doc/ivy-ox.el  |   2 +-
 doc/ivy.org    |   2 +-
 doc/ivy.texi   |   4 +-
 doc/scripts.el |   2 +-
 ivy-faces.el   |   2 +-
 ivy-overlay.el |   2 +-
 ivy-test.el    |   2 +-
 ivy.el         | 123 ++++++++++++++++++++++++++++++++++++---------------------
 11 files changed, 119 insertions(+), 54 deletions(-)

diff --git a/.elpaignore b/.elpaignore
index d48618bf1b..e86fe172b6 100644
--- a/.elpaignore
+++ b/.elpaignore
@@ -2,6 +2,7 @@
 targets
 tests
 
+.mailmap
 CONTRIBUTING.org
 Makefile
 elpa.el
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 0000000000..1a00c174ba
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,31 @@
+# Keep contents sorted using 'M-x sort-lines'.
+# See 'man 5 gitmailmap' for the file format.
+
+<basil@contovou.net> <contovob@tcd.ie>
+<diegoamundo@gmail.com> <therockmandolinist@users.noreply.github.com>
+<dunni@gnu.org> <scholar42@gmail.com>
+<evgenysw@gmail.com> <evgeni.kolev@uber.com>
+<goncalossantos98@gmail.com> <nox@hartley.localdomain>
+<ingo.lohmar@posteo.net> <i.lohmar@gmail.com>
+<jeanphilippe.bernardy@gmail.com> <jean-philippe.bernardy@tweag.io>
+<leungbk@posteo.net> <bkleung89@gmail.com>
+<leungbk@posteo.net> <leungbk@mailfence.com>
+<me@bcc32.com> <azeng@janestreet.com>
+<me@rgrinberg.com> <rudi.grinberg@gmail.com>
+<me@wilfred.me.uk> <whughes@ahl.com>
+<muir@mnd.rs> <muir.manders@gmail.com>
+<muir@mnd.rs> <muir@retailnext.net>
+<ricouilletaff@gmail.com> <admin@ericdanan.net>
+<ricouilletaff@gmail.com> <eric.danan@u-cergy.fr>
+<syohex@gmail.com> <shohei.yoshida@dena.com>
+Daanturo <daanturo@gmail.com> <dantle.v01@gmail.com>
+Diego A. Mundo <diegoamundo@gmail.com>
+Earl Hyatt <okamsn@protonmail.com> <ej32u@protonmail.com>
+Jonathan Hayase <PythonNut@users.noreply.github.com>
+Justin Burkett <justin@burkett.cc>
+Jérôme M. Berger <jeberger@free.fr>
+Manuel Uberti <manuel.uberti@inventati.org> <manuel@boccaperta.com>
+Mohsin Kaleem <mohkale@kisara.moe> <mohkalsin@gmail.com>
+Nathan Moreau <nathan.moreau@m4x.org>
+Troy Hinckley <t.macman@gmail.com>
+Yevgnen Koh <wherejoystarts@gmail.com>
diff --git a/colir.el b/colir.el
index 0f4ed1cce7..f371ef3839 100644
--- a/colir.el
+++ b/colir.el
@@ -1,6 +1,6 @@
 ;;; colir.el --- Color blending library -*- lexical-binding: t -*-
 
-;; Copyright (C) 2015-2023 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2024 Free Software Foundation, Inc.
 
 ;; Author: Oleh Krehel <ohwoeowho@gmail.com>
 
diff --git a/doc/ivy-ox.el b/doc/ivy-ox.el
index 01b1d3949b..fd33b453fd 100644
--- a/doc/ivy-ox.el
+++ b/doc/ivy-ox.el
@@ -1,6 +1,6 @@
 ;;; ivy-ox.el --- org-export settings for Ivy -*- lexical-binding: t -*-
 
-;; Copyright (C) 2015-2023 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2024 Free Software Foundation, Inc.
 
 ;; Author: Oleh Krehel
 
diff --git a/doc/ivy.org b/doc/ivy.org
index a72149f173..cb1191d1d4 100644
--- a/doc/ivy.org
+++ b/doc/ivy.org
@@ -70,7 +70,7 @@ final candidate is either through simple keyboard character 
inputs or
 through powerful regular expressions.
 #+TEXINFO: @end ifnottex
 
-Copyright (C) 2015--2023 Free Software Foundation, Inc.
+Copyright (C) 2015--2024 Free Software Foundation, Inc.
 
 #+BEGIN_QUOTE
 Permission is granted to copy, distribute and/or modify this document
diff --git a/doc/ivy.texi b/doc/ivy.texi
index 401203cfeb..90c5fa2e16 100644
--- a/doc/ivy.texi
+++ b/doc/ivy.texi
@@ -20,7 +20,7 @@ final candidate is either through simple keyboard character 
inputs or
 through powerful regular expressions.
 @end ifnottex
 
-Copyright (C) 2015--2023 Free Software Foundation, Inc.
+Copyright (C) 2015--2024 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -1827,4 +1827,4 @@ then retrieves that value and displays it.
 
 @printindex ky
 
-@bye
\ No newline at end of file
+@bye
diff --git a/doc/scripts.el b/doc/scripts.el
index a7a8260fa5..6e00b162ff 100644
--- a/doc/scripts.el
+++ b/doc/scripts.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
+;; Copyright (C) 2020-2024 Free Software Foundation, Inc.
 (setq org-confirm-babel-evaluate nil)
 (defun org-to-texi (fname)
   (find-file fname)
diff --git a/ivy-faces.el b/ivy-faces.el
index beaea3b933..c2195ed294 100644
--- a/ivy-faces.el
+++ b/ivy-faces.el
@@ -1,6 +1,6 @@
 ;;; ivy-faces.el --- Faces for Ivy -*- lexical-binding: t -*-
 
-;; Copyright (C) 2020-2023 Free Software Foundation, Inc.
+;; Copyright (C) 2020-2024 Free Software Foundation, Inc.
 
 ;; Author: Oleh Krehel <ohwoeowho@gmail.com>
 ;; Keywords: convenience
diff --git a/ivy-overlay.el b/ivy-overlay.el
index 4af52b39cf..ad359fc83d 100644
--- a/ivy-overlay.el
+++ b/ivy-overlay.el
@@ -1,6 +1,6 @@
 ;;; ivy-overlay.el --- Overlay display functions for Ivy  -*- lexical-binding: 
t -*-
 
-;; Copyright (C) 2016-2023 Free Software Foundation, Inc.
+;; Copyright (C) 2016-2024 Free Software Foundation, Inc.
 
 ;; Author: Oleh Krehel <ohwoeowho@gmail.com>
 ;; Keywords: convenience
diff --git a/ivy-test.el b/ivy-test.el
index 7cf068cf2e..2929593a7a 100644
--- a/ivy-test.el
+++ b/ivy-test.el
@@ -1,6 +1,6 @@
 ;;; ivy-test.el --- tests for ivy -*- lexical-binding: t -*-
 
-;; Copyright (C) 2015-2023 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2024 Free Software Foundation, Inc.
 
 ;; Author: Oleh Krehel
 
diff --git a/ivy.el b/ivy.el
index b8fe95f811..c0d2a0625e 100644
--- a/ivy.el
+++ b/ivy.el
@@ -1,9 +1,9 @@
 ;;; ivy.el --- Incremental Vertical completYon -*- lexical-binding: t -*-
 
-;; Copyright (C) 2015-2023 Free Software Foundation, Inc.
+;; Copyright (C) 2015-2024 Free Software Foundation, Inc.
 
 ;; Author: Oleh Krehel <ohwoeowho@gmail.com>
-;; Maintainer: Basil L. Contovounesios <contovob@tcd.ie>
+;; Maintainer: Basil L. Contovounesios <basil@contovou.net>
 ;; URL: https://github.com/abo-abo/swiper
 ;; Version: 0.14.2
 ;; Package-Requires: ((emacs "24.5"))
@@ -255,7 +255,8 @@ plus some extra information.
 
 This lambda is called only on the `ivy-height' candidates that
 are about to be displayed, not on the whole collection."
-  (declare (obsolete "Use `ivy-configure' :display-transformer-fn" 
"<2020-05-20 Wed>"))
+  (declare (obsolete "use `ivy-configure' :display-transformer-fn instead."
+                     "0.13.2 (2020-05-20)"))
   (ivy--alist-set 'ivy--display-transformers-alist cmd transformer))
 
 (defvar ivy--sources-list nil
@@ -734,6 +735,27 @@ candidate, not the prompt."
   "Display alternative actions."
   "The doc visible in the tooltip for mouse-3 binding in the minibuffer.")
 
+(make-obsolete-variable 'ivy-mouse-1-tooltip 'ivy-mouse-1-help
+                        "0.15.0 (2024-01-14)")
+(make-obsolete-variable 'ivy-mouse-3-tooltip 'ivy-mouse-3-help
+                        "0.15.0 (2024-01-14)")
+
+(defvar ivy-mouse-1-help
+  (eval-when-compile
+    (format (if (> emacs-major-version 28) "\\`%s': %s" "%s: %s")
+            "mouse-1" "Exit the minibuffer with the selected candidate"))
+  "Tooltip doc for \\`mouse-1' binding in the minibuffer.")
+
+(defvar ivy-mouse-3-help
+  (eval-when-compile
+    (format (if (> emacs-major-version 28) "\\`%s': %s" "%s: %s")
+            "mouse-3" "Display alternative actions"))
+  "Tooltip doc for \\`mouse-3' binding in the minibuffer.")
+
+(defun ivy--help-echo (_win _obj _pos)
+  "Return a `help-echo' string for mouse bindings on minibuffer candidates."
+  (concat ivy-mouse-1-help (if tooltip-mode "\n" "   ") ivy-mouse-3-help))
+
 (defun ivy-mouse-offset (event)
   "Compute the offset between the candidate at point and the selected one."
   (if event
@@ -1747,7 +1769,7 @@ Prioritize directories."
            (if (consp y) (car y) y)))
 
 (define-obsolete-function-alias 'ivy-sort-file-function-using-ido
-    'ido-file-extension-lessp "<2019-10-12 Sat>")
+    'ido-file-extension-lessp "0.13.0 (2019-10-12)")
 
 (defcustom ivy-sort-functions-alist
   '((t . ivy-string<))
@@ -3473,7 +3495,7 @@ Should be run via minibuffer `post-command-hook'."
 
 (make-obsolete-variable 'ivy-auto-shrink-minibuffer
                         'ivy-auto-shrink-minibuffer-alist
-                        "<2020-04-28 Tue>")
+                        "0.13.2 (2020-04-28)")
 
 (defcustom ivy-auto-shrink-minibuffer-alist nil
   "An alist to configure auto-shrinking of the minibuffer.
@@ -4118,36 +4140,31 @@ in this case."
               (cl-incf i)))))))
   str)
 
-(defun ivy--format-minibuffer-line (str annot)
-  "Format line STR for use in minibuffer."
+(defun ivy--format-minibuffer-line (str &optional affix)
+  "Format line STR for use in minibuffer.
+AFFIX is either the (PREFIX SUFFIX) cdr returned by
+`affixation-function', or the result of `annotation-function'."
   (let* ((str (ivy-cleanup-string (copy-sequence str)))
-         (str (if (eq ivy-display-style 'fancy)
-                  (if (memq (ivy-state-caller ivy-last)
-                            ivy-highlight-grep-commands)
-                      (let* ((start (if (string-match 
"\\`[^:]+:\\(?:[^:]+:\\)?" str)
-                                        (match-end 0) 0))
-                             (file (substring str 0 start))
-                             (match (substring str start)))
-                        (concat file (funcall ivy--highlight-function match)))
-                    (funcall ivy--highlight-function str))
-                str))
-         (olen (length str)))
-    (add-text-properties
-     0 olen
-     '(mouse-face
-       ivy-minibuffer-match-highlight
-       help-echo
-       (format
-        (if tooltip-mode
-            "mouse-1: %s\nmouse-3: %s"
-          "mouse-1: %s   mouse-3: %s")
-        ivy-mouse-1-tooltip ivy-mouse-3-tooltip))
-     str)
-    (when annot
-      (setq str (concat str (funcall annot str)))
-      (add-face-text-property
-       olen (length str) 'ivy-completions-annotations t str))
-    str))
+         (str (cond
+               ((not (eq ivy-display-style 'fancy)) str)
+               ((memq (ivy-state-caller ivy-last) ivy-highlight-grep-commands)
+                (let* ((start (if (string-match "\\`[^:]+:\\(?:[^:]+:\\)?" str)
+                                  (match-end 0) 0))
+                       (file (substring str 0 start))
+                       (match (substring str start)))
+                  (concat file (funcall ivy--highlight-function match))))
+               ((funcall ivy--highlight-function str))))
+         (mouse '( mouse-face ivy-minibuffer-match-highlight
+                   help-echo ivy--help-echo)))
+    (add-text-properties 0 (length str) mouse str)
+    (cond ((consp affix)
+           (concat (nth 0 affix) str (nth 1 affix)))
+          (affix
+           ;; Existing face takes priority.
+           (unless (text-property-not-all 0 (length affix) 'face nil affix)
+             (setq affix (ivy-append-face affix 'ivy-completions-annotations)))
+           (concat str affix))
+          (str))))
 
 (defun ivy-read-file-transformer (str)
   "Transform candidate STR when reading files."
@@ -4187,21 +4204,37 @@ CANDS is a list of candidates that :display-transformer 
can turn into strings."
             (setq wnd-cands (mapcar transformer-fn wnd-cands)))))
       (ivy--wnd-cands-to-str wnd-cands))))
 
+(defalias 'ivy--metadata-get
+  (if (>= emacs-major-version 30)
+      #'completion-metadata-get
+    (lambda (metadata prop)
+      (or (completion-metadata-get metadata prop)
+          (plist-get completion-extra-properties
+                     (or (get prop 'ivy--metadata-kwd)
+                         (put prop 'ivy--metadata-kwd
+                              (intern (concat ":" (symbol-name prop)))))))))
+  "Compatibility shim for Emacs 30 `completion-metadata-get'.
+\n(fn METADATA PROP)")
+
 (defun ivy--wnd-cands-to-str (wnd-cands)
   (let* ((metadata (unless (ivy-state-dynamic-collection ivy-last)
                      (completion-metadata "" minibuffer-completion-table
                                           minibuffer-completion-predicate)))
-         (annot (or (completion-metadata-get metadata 'annotation-function)
-                    (plist-get completion-extra-properties 
:annotation-function)))
-         (str (concat "\n"
-                      (funcall (ivy-alist-setting ivy-format-functions-alist)
-                               (condition-case nil
-                                   (mapcar
-                                    (lambda (cand) 
(ivy--format-minibuffer-line cand annot))
-                                    wnd-cands)
-                                 (error wnd-cands))))))
-    (put-text-property 0 (length str) 'read-only nil str)
-    str))
+         (affix (ivy--metadata-get metadata 'affixation-function))
+         (annot (or affix (ivy--metadata-get metadata 'annotation-function)))
+         (fmt (cond (affix
+                     (lambda (triple)
+                       (ivy--format-minibuffer-line (car triple) (cdr 
triple))))
+                    (annot
+                     (lambda (cand)
+                       (ivy--format-minibuffer-line cand (funcall annot 
cand))))
+                    (#'ivy--format-minibuffer-line)))
+         (str (funcall (ivy-alist-setting ivy-format-functions-alist)
+                       (condition-case nil
+                           (mapcar fmt (if affix (funcall affix wnd-cands)
+                                         wnd-cands))
+                         (error wnd-cands)))))
+    (concat "\n" (ivy--remove-props str 'read-only))))
 
 (defvar recentf-list)
 (defvar bookmark-alist)



reply via email to

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