From: Juri Linkov Date: Sun, 5 May 2024 18:32:22 +0000 (+0300) Subject: * lisp/tab-line.el: Use defcustom for group sort variables (bug#59438). X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5528c2a017e6d9e6a931c68261401e6ce21c6f4e;p=emacs.git * lisp/tab-line.el: Use defcustom for group sort variables (bug#59438). (tab-line-tabs-buffer-group-sort-function) (tab-line-tabs-buffer-groups-sort-function): Turn defvar into defcustom. Suggested by Gabriel do Nascimento Ribeiro . (tab-line-tabs-buffer-group-name): Fall back to 'tab-line-tabs-buffer-group-by-mode' when 'tab-line-tabs-buffer-group-function' is nil (its previous default value). (cherry picked from commit 12132ec1efb1c4ea5f73d7018896964ce2e0311e) --- diff --git a/lisp/tab-line.el b/lisp/tab-line.el index 896e1c802f7..9ce5ef12f4d 100644 --- a/lisp/tab-line.el +++ b/lisp/tab-line.el @@ -408,15 +408,34 @@ as a group name." :group 'tab-line :version "30.1") -(defvar tab-line-tabs-buffer-group-sort-function +(defcustom tab-line-tabs-buffer-group-sort-function #'tab-line-tabs-buffer-group-sort-by-name - "Function to sort buffers in a group.") + "Function to sort buffers in a group." + :type '(choice (const :tag "Don't sort" nil) + (const :tag "Sort by name alphabetically" + tab-line-tabs-buffer-group-sort-by-name) + (function :tag "Custom function")) + :initialize 'custom-initialize-default + :set (lambda (sym val) + (set-default sym val) + (force-mode-line-update)) + :group 'tab-line + :version "30.1") (defun tab-line-tabs-buffer-group-sort-by-name (a b) (string< (buffer-name a) (buffer-name b))) -(defvar tab-line-tabs-buffer-groups-sort-function #'string< - "Function to sort group names.") +(defcustom tab-line-tabs-buffer-groups-sort-function #'string< + "Function to sort group names." + :type '(choice (const :tag "Don't sort" nil) + (const :tag "Sort alphabetically" string<) + (function :tag "Custom function")) + :initialize 'custom-initialize-default + :set (lambda (sym val) + (set-default sym val) + (force-mode-line-update)) + :group 'tab-line + :version "30.1") (defvar tab-line-tabs-buffer-groups mouse-buffer-menu-mode-groups "How to group various major modes together in the tab line. @@ -445,7 +464,8 @@ named the same as the mode.") (defun tab-line-tabs-buffer-group-name (&optional buffer) (if (functionp tab-line-tabs-buffer-group-function) - (funcall tab-line-tabs-buffer-group-function buffer))) + (funcall tab-line-tabs-buffer-group-function buffer) + (tab-line-tabs-buffer-group-by-mode buffer))) (defun tab-line-tabs-buffer-groups () "Return a list of tabs that should be displayed in the tab line.