emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master d2cf05d: * lisp/minibuffer.el (completion-category-


From: Stefan Monnier
Subject: [Emacs-diffs] master d2cf05d: * lisp/minibuffer.el (completion-category-defaults): Default to nil.
Date: Mon, 05 Jan 2015 16:34:20 +0000

branch: master
commit d2cf05d1bac19d8564d0806f515b9f40fe57f4df
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * lisp/minibuffer.el (completion-category-defaults): Default to nil.
    
    (completion-category-defaults): New var.
    Set unicode-name to use substring completion.
---
 etc/NEWS           |    2 ++
 lisp/ChangeLog     |    6 ++++++
 lisp/minibuffer.el |   29 ++++++++++++++++++++++-------
 3 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index ac42a9f..3a53c9c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -166,6 +166,8 @@ characters, which can be used for geometry-related 
calculations.
 
 * Editing Changes in Emacs 25.1
 
+** Unicode names entered via C-x 8 RET now use substring completion by default.
+
 ** New minor mode global-eldoc-mode is enabled by default.
 
 ** Emacs now supports "bracketed paste mode" when running on a terminal
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f413526..df760f2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-05  Stefan Monnier  <address@hidden>
+
+       * minibuffer.el (completion-category-defaults): New var.
+       Set unicode-name to use substring completion.
+       (completion-category-defaults): Set it to nil.
+
 2015-01-04  Dmitry Gutov  <address@hidden>
 
        Add mouse interaction to xref.
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 1631244..538bd97 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -826,16 +826,27 @@ styles for specific categories, such as files, buffers, 
etc."
   :type completion--styles-type
   :version "23.1")
 
-(defcustom completion-category-overrides
-  '((buffer (styles . (basic substring))))
-  "List of `completion-styles' overrides for specific categories.
+(defvar completion-category-defaults
+  '((buffer (styles . (basic substring)))
+    (unicode-name (styles . (basic substring))))
+  "Default settings for specific completion categories.
+Each entry has the shape (CATEGORY . ALIST) where ALIST is
+an association list that can specify properties such as:
+- `styles': the list of `completion-styles' to use for that category.
+- `cycle': the `completion-cycle-threshold' to use for that category.
+Categories are symbols such as `buffer' and `file', used when
+completing buffer and file names, respectively.")
+
+(defcustom completion-category-overrides nil
+  "List of category-specific user overrides for completion styles.
 Each override has the shape (CATEGORY . ALIST) where ALIST is
 an association list that can specify properties such as:
 - `styles': the list of `completion-styles' to use for that category.
 - `cycle': the `completion-cycle-threshold' to use for that category.
 Categories are symbols such as `buffer' and `file', used when
-completing buffer and file names, respectively."
-  :version "24.1"
+completing buffer and file names, respectively.
+This overrides the defaults specified in `completion-category-defaults'."
+  :version "25.1"
   :type `(alist :key-type (choice :tag "Category"
                                  (const buffer)
                                   (const file)
@@ -851,9 +862,13 @@ completing buffer and file names, respectively."
                 (const :tag "Select one value from the menu." cycle)
                  ,completion--cycling-threshold-type))))
 
+(defun completion--category-override (category tag)
+  (or (assq tag (cdr (assq category completion-category-overrides)))
+      (assq tag (cdr (assq category completion-category-defaults)))))
+
 (defun completion--styles (metadata)
   (let* ((cat (completion-metadata-get metadata 'category))
-         (over (assq 'styles (cdr (assq cat completion-category-overrides)))))
+         (over (completion--category-override cat 'styles)))
     (if over
         (delete-dups (append (cdr over) (copy-sequence completion-styles)))
        completion-styles)))
@@ -967,7 +982,7 @@ completion candidates than this number."
 
 (defun completion--cycle-threshold (metadata)
   (let* ((cat (completion-metadata-get metadata 'category))
-         (over (assq 'cycle (cdr (assq cat completion-category-overrides)))))
+         (over (completion--category-override cat 'cycle)))
     (if over (cdr over) completion-cycle-threshold)))
 
 (defvar-local completion-all-sorted-completions nil)



reply via email to

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