diff --git a/emacs/.emacs.d/prot-emacs-modules/prot-emacs-completion.el b/emacs/.emacs.d/prot-emacs-modules/prot-emacs-completion.el index 4c5b3b06..bae2bdf0 100644 --- a/emacs/.emacs.d/prot-emacs-modules/prot-emacs-completion.el +++ b/emacs/.emacs.d/prot-emacs-modules/prot-emacs-completion.el @@ -18,37 +18,41 @@ (prot-minibuffer-missing-categories-mode 1) ;; NOTE 2025-12-02: The `eager-display' and `eager-update' are part of Emacs 31. - (let* ((eager-update-properties '((eager-display . nil) - (eager-update . t))) - (eager-update-properties-no-sort (append eager-update-properties (list (cons 'display-sort-function #'identity))))) + (let* ((eager-both '((eager-display . t) + (eager-update . t))) + (eager-both-no-sort (append eager-both (list (cons 'display-sort-function #'identity)))) + (eager-update-only '((eager-display . nil) + (eager-update . t))) + (eager-update-only-no-sort (append eager-update-only (list (cons 'display-sort-function #'identity))))) (setq completion-category-overrides - `((file . (,@eager-update-properties + `((file . (,@eager-update-only (styles . (partial-completion)) (group-function . ,#'prot-minibuffer-file-group) (affixation-function . ,#'prot-minibuffer-file-affixate) (display-sort-function . ,#'prot-minibuffer-file-sort))) - (buffer . (,@eager-update-properties + (buffer . (,@eager-update-only (affixation-function . ,#'prot-minibuffer-buffer-affixate))) - (project-file . (,@eager-update-properties + (project-file . (,@eager-update-only (group-function . ,#'prot-minibuffer-file-group) (affixation-function . ,#'prot-minibuffer-file-affixate))) - (prot-minibuffer-library . (,@eager-update-properties + (prot-minibuffer-library . (,@eager-update-only (annotation-function . ,#'prot-minibuffer-library-annotate) (display-sort-function . ,#'prot-minibuffer-library-sort))) - (bookmark . (,@eager-update-properties + (bookmark . (,@eager-update-only (affixation-function . ,#'prot-minibuffer-bookmark-affixate))) - (command . (,@eager-update-properties + (command . (,@eager-update-only (affixation-function . nil) ; so that the `annotation-function' can take effect (annotation-function . ,#'prot-minibuffer-command-annotate))) - (symbol-help . ,eager-update-properties) - (denote-file . ,eager-update-properties) - (prot-minibuffer-emoji . ,eager-update-properties) - (theme . ,eager-update-properties) - (unicode-name . ,eager-update-properties) - (prot-minibuffer-pass . ,eager-update-properties) - (imenu . ,eager-update-properties-no-sort) - (consult-location . ,eager-update-properties-no-sort) - (prot-minibuffer-kill-ring . ,eager-update-properties-no-sort))))) + (symbol-help . ,eager-update-only) + (denote-file . ,eager-update-only) + (tmr-timer . ,eager-both) + (prot-minibuffer-emoji . ,eager-update-only) + (theme . ,eager-update-only) + (unicode-name . ,eager-update-only) + (prot-minibuffer-pass . ,eager-update-only) + (imenu . ,eager-update-only-no-sort) + (consult-location . ,eager-update-only-no-sort) + (prot-minibuffer-kill-ring . ,eager-update-only-no-sort))))) ;;; Orderless completion style (and prot-orderless.el) (when prot-emacs-completion-extras diff --git a/emacs/.emacs.d/prot-emacs.org b/emacs/.emacs.d/prot-emacs.org index ff248a9c..469ae176 100644 --- a/emacs/.emacs.d/prot-emacs.org +++ b/emacs/.emacs.d/prot-emacs.org @@ -4188,37 +4188,41 @@ for this. (prot-minibuffer-missing-categories-mode 1) ;; NOTE 2025-12-02: The `eager-display' and `eager-update' are part of Emacs 31. - (let* ((eager-update-properties '((eager-display . nil) - (eager-update . t))) - (eager-update-properties-no-sort (append eager-update-properties (list (cons 'display-sort-function #'identity))))) + (let* ((eager-both '((eager-display . t) + (eager-update . t))) + (eager-both-no-sort (append eager-both (list (cons 'display-sort-function #'identity)))) + (eager-update-only '((eager-display . nil) + (eager-update . t))) + (eager-update-only-no-sort (append eager-update-only (list (cons 'display-sort-function #'identity))))) (setq completion-category-overrides - `((file . (,@eager-update-properties + `((file . (,@eager-update-only (styles . (partial-completion)) (group-function . ,#'prot-minibuffer-file-group) (affixation-function . ,#'prot-minibuffer-file-affixate) (display-sort-function . ,#'prot-minibuffer-file-sort))) - (buffer . (,@eager-update-properties + (buffer . (,@eager-update-only (affixation-function . ,#'prot-minibuffer-buffer-affixate))) - (project-file . (,@eager-update-properties + (project-file . (,@eager-update-only (group-function . ,#'prot-minibuffer-file-group) (affixation-function . ,#'prot-minibuffer-file-affixate))) - (prot-minibuffer-library . (,@eager-update-properties + (prot-minibuffer-library . (,@eager-update-only (annotation-function . ,#'prot-minibuffer-library-annotate) (display-sort-function . ,#'prot-minibuffer-library-sort))) - (bookmark . (,@eager-update-properties + (bookmark . (,@eager-update-only (affixation-function . ,#'prot-minibuffer-bookmark-affixate))) - (command . (,@eager-update-properties + (command . (,@eager-update-only (affixation-function . nil) ; so that the `annotation-function' can take effect (annotation-function . ,#'prot-minibuffer-command-annotate))) - (symbol-help . ,eager-update-properties) - (denote-file . ,eager-update-properties) - (prot-minibuffer-emoji . ,eager-update-properties) - (theme . ,eager-update-properties) - (unicode-name . ,eager-update-properties) - (prot-minibuffer-pass . ,eager-update-properties) - (imenu . ,eager-update-properties-no-sort) - (consult-location . ,eager-update-properties-no-sort) - (prot-minibuffer-kill-ring . ,eager-update-properties-no-sort))))) + (symbol-help . ,eager-update-only) + (denote-file . ,eager-update-only) + (tmr-timer . ,eager-both) + (prot-minibuffer-emoji . ,eager-update-only) + (theme . ,eager-update-only) + (unicode-name . ,eager-update-only) + (prot-minibuffer-pass . ,eager-update-only) + (imenu . ,eager-update-only-no-sort) + (consult-location . ,eager-update-only-no-sort) + (prot-minibuffer-kill-ring . ,eager-update-only-no-sort))))) #+end_src *** The =prot-emacs-completion.el= for the ~orderless~ completion style