mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-27 10:54:40 +00:00
* lisp/minibuffer.el (completion-category-defaults): Default to nil.
(completion-category-defaults): New var. Set unicode-name to use substring completion.
This commit is contained in:
parent
c477f20730
commit
d2cf05d1ba
2
etc/NEWS
2
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
|
||||
|
@ -1,3 +1,9 @@
|
||||
2015-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* 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 <dgutov@yandex.ru>
|
||||
|
||||
Add mouse interaction to xref.
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user