From a060bdec820b2ec20d62b77df6d55b54b91cd81b Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Wed, 10 Sep 2025 01:54:36 +0300 Subject: [PATCH] Better 'project-buffer' completion category defaults in Emacs <= 30 * lisp/progmodes/project.el: Fall back to adding 'project-buffer' to 'completion-category-defaults' if 'define-completion-category' is not available (bug#79409). --- lisp/progmodes/project.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index c15148110a6..cb018a870a6 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1718,9 +1718,11 @@ Return non-nil if PROJECT is not a remote project." (t (complete-with-action action buffers string pred))))) -(when (fboundp 'define-completion-category) ; Introduced in Emacs 31. - (define-completion-category 'project-buffer '(buffer) - "Completion category for buffers in a given project.")) +(if (fboundp 'define-completion-category) ; Introduced in Emacs 31. + (define-completion-category 'project-buffer '(buffer) + "Completion category for buffers in a given project.") + (add-to-list 'completion-category-defaults + '(project-buffer (styles . (basic substring))))) (defun project--read-project-buffer () (let* ((pr (project-current t))