[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico f558f53 04/48: extract minicomp--pred
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vertico f558f53 04/48: extract minicomp--pred |
Date: |
Mon, 5 Apr 2021 10:54:39 -0400 (EDT) |
branch: externals/vertico
commit f558f53fbbc278350d91d2ddc9f87cfc736a85ba
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
extract minicomp--pred
This seems to be faster than using a lambda. Is this possible? I am not
familar
enough with the bytecode interpreter internals...
cc @clemera
---
minicomp.el | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/minicomp.el b/minicomp.el
index f7fa5ba..e9204f3 100644
--- a/minicomp.el
+++ b/minicomp.el
@@ -110,6 +110,12 @@
(defvar-local minicomp--keep nil
"Keep current candidate index `minicomp--index'.")
+(defun minicomp--pred (x y)
+ "Compare X and Y."
+ (or (< (cdr x) (cdr y))
+ (and (= (cdr x) (cdr y))
+ (string< (car x) (car y)))))
+
(defun minicomp--sort (candidates)
"Sort CANDIDATES by history position, length and alphabetically."
;; History disabled if `minibuffer-history-variable' eq `t'.
@@ -134,12 +140,7 @@
(+ (lsh (gethash (car cand) hist hist-len) 13)
(length (car cand)))))
(setq cand (cdr cand)))
- (setq candidates
- (sort candidates
- (lambda (c1 c2)
- (or (< (cdr c1) (cdr c2))
- (and (= (cdr c1) (cdr c2))
- (string< (car c1) (car c2))))))
+ (setq candidates (sort candidates #'minicomp--pred)
cand candidates)
;; Drop decoration from the candidates
(while cand
- [elpa] branch externals/vertico created (now 1a9b1b2), Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 3257082 07/48: always keep index when explicitly navigating, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico e2472d1 13/48: simplify, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 9355d05 01/48: minicomp - initial commit, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 933e938 06/48: Compute history hash table only once, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico f132f1b 10/48: improve prompt selection, add minicomp--goto, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 9b81d8d 08/48: remove ./ and ../ from file completion candidates, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 5bbddb0 03/48: add while-no-input-ignore-events, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 4ce7c8d 11/48: use seq-subseq, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico f558f53 04/48: extract minicomp--pred,
Stefan Monnier <=
- [elpa] externals/vertico 9db7c78 20/48: add minicomp-count-format, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 245944a 21/48: remap previous/next-line, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 7fbaeaf 15/48: Add sorting by history for files, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico c2bfea2 17/48: use candidate returned from affixation function, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico bafee15 19/48: add minicomp-exit-input, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico e8a3e96 16/48: Minor optimization, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 333a0a2 29/48: use chunks for candidate formatting, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico 8b760bc 30/48: Fix minicomp--index initialization, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico ed87a60 33/48: Require 27.1, Stefan Monnier, 2021/04/05
- [elpa] externals/vertico c4b3e8b 42/48: Simplify minicomp--flatten-prop, Stefan Monnier, 2021/04/05