emacs-diffs
[Top][All Lists]
Advanced

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

master e4328d4 1/2: Tiny simplification to read-char-by-name


From: Basil L. Contovounesios
Subject: master e4328d4 1/2: Tiny simplification to read-char-by-name
Date: Tue, 9 Feb 2021 14:12:36 -0500 (EST)

branch: master
commit e4328d4b3eea1849b5f081a6d3d2a27f633362d6
Author: Basil L. Contovounesios <contovob@tcd.ie>
Commit: Basil L. Contovounesios <contovob@tcd.ie>

    Tiny simplification to read-char-by-name
    
    * lisp/international/mule-cmds.el (mule--ucs-names-sort-by-code):
    Sort with car-less-than-car instead of slower lambda.
    (mule--ucs-names-affixation): Just stick character into a list to
    avoid trip through format and char-to-string.
    (read-char-by-name): Quote function symbols as such.
---
 lisp/international/mule-cmds.el | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 5f66328..e4bdf50 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -3078,15 +3078,14 @@ on encoding."
         (setq ucs-names names))))
 
 (defun mule--ucs-names-sort-by-code (names)
-  (let* ((codes-and-names
-          (mapcar (lambda (name) (cons (gethash name ucs-names) name)) names))
-         (sorted (sort codes-and-names (lambda (a b) (< (car a) (car b))))))
-    (mapcar #'cdr sorted)))
+  (let ((codes-and-names
+         (mapcar (lambda (name) (cons (gethash name ucs-names) name)) names)))
+    (mapcar #'cdr (sort codes-and-names #'car-less-than-car))))
 
 (defun mule--ucs-names-affixation (names)
   (mapcar (lambda (name)
             (let ((char (gethash name ucs-names)))
-              (list name (concat (if char (format "%c" char) " ") "\t") "")))
+              (list name (concat (if char (list char) " ") "\t") "")))
           names))
 
 (defun mule--ucs-names-group (names)
@@ -3189,11 +3188,11 @@ as names, not numbers."
                 `(metadata
                   (display-sort-function
                    . ,(when (eq read-char-by-name-sort 'code)
-                        'mule--ucs-names-sort-by-code))
+                         #'mule--ucs-names-sort-by-code))
                   (affixation-function
                    . ,(if read-char-by-name-group
-                          'mule--ucs-names-group
-                        'mule--ucs-names-affixation))
+                           #'mule--ucs-names-group
+                         #'mule--ucs-names-affixation))
                   (category . unicode-name))
               (complete-with-action action (ucs-names) string pred)))))
         (char



reply via email to

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