From ac0bb9a192f1e5de4ddc938b71e5a49d36e48a2d Mon Sep 17 00:00:00 2001 From: Hong Xu Date: Tue, 29 Nov 2016 15:17:27 -0800 Subject: [PATCH] Improve the doc of eshell-cmpl-* custom variables (Bug#25069) * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New function to generate the docstring for custom variables derived from pcomplete-* variables. (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore) (eshell-cmpl-ignore-case, eshell-cmpl-autolist) (eshell-cmpl-suffix-list, eshell-cmpl-recexact) (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function) (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions) (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay) (eshell-command-completion-function, eshell-cmpl-command-name-function) (eshell-default-completion-function, eshell-cmpl-use-paring): Use it to set the docstring. --- lisp/eshell/em-cmpl.el | 54 ++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 31 deletions(-) diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el index c64c2df3427..89826bebb76 100644 --- a/lisp/eshell/em-cmpl.el +++ b/lisp/eshell/em-cmpl.el @@ -136,75 +136,70 @@ to writing a completion function." :type '(repeat (cons string regexp)) :group 'eshell-cmpl) +(defun eshell-cmpl--custom-variable-docstring (pcomplete-var) + "Generate the docstring of a variable derived from a pcomplete-* variable." + (format "%s\n\nIts value is assigned to `%s' locally after eshell starts." + (documentation-property pcomplete-var + 'variable-documentation t) + (symbol-name pcomplete-var))) + (defcustom eshell-cmpl-file-ignore "~\\'" - (documentation-property 'pcomplete-file-ignore - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-file-ignore) :type (get 'pcomplete-file-ignore 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-dir-ignore "\\`\\(\\.\\.?\\|CVS\\)/\\'" - (documentation-property 'pcomplete-dir-ignore - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-dir-ignore) :type (get 'pcomplete-dir-ignore 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-ignore-case (eshell-under-windows-p) - (documentation-property 'pcomplete-ignore-case - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-ignore-case) :type (get 'pcomplete-ignore-case 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-autolist nil - (documentation-property 'pcomplete-autolist - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-autolist) :type (get 'pcomplete-autolist 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-suffix-list (list ?/ ?:) - (documentation-property 'pcomplete-suffix-list - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-suffix-list) :type (get 'pcomplete-suffix-list 'custom-type) :group 'pcomplete) (defcustom eshell-cmpl-recexact nil - (documentation-property 'pcomplete-recexact - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-recexact) :type (get 'pcomplete-recexact 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-man-function 'man - (documentation-property 'pcomplete-man-function - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-man-function) :type (get 'pcomplete-man-function 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-compare-entry-function 'file-newer-than-file-p - (documentation-property 'pcomplete-compare-entry-function - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-compare-entry-function) :type (get 'pcomplete-compare-entry-function 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-expand-before-complete nil - (documentation-property 'pcomplete-expand-before-complete - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-expand-before-complete) :type (get 'pcomplete-expand-before-complete 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-cycle-completions t - (documentation-property 'pcomplete-cycle-completions - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-cycle-completions) :type (get 'pcomplete-cycle-completions 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-cycle-cutoff-length 5 - (documentation-property 'pcomplete-cycle-cutoff-length - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-cycle-cutoff-length) :type (get 'pcomplete-cycle-cutoff-length 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-restore-window-delay 1 - (documentation-property 'pcomplete-restore-window-delay - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-restore-window-delay) :type (get 'pcomplete-restore-window-delay 'custom-type) :group 'eshell-cmpl) @@ -212,15 +207,13 @@ to writing a completion function." (function (lambda () (pcomplete-here (eshell-complete-commands-list)))) - (documentation-property 'pcomplete-command-completion-function - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-command-completion-function) :type (get 'pcomplete-command-completion-function 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-command-name-function 'eshell-completion-command-name - (documentation-property 'pcomplete-command-name-function - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-command-name-function) :type (get 'pcomplete-command-name-function 'custom-type) :group 'eshell-cmpl) @@ -231,13 +224,12 @@ to writing a completion function." (pcomplete-dirs-or-entries (cdr (assoc (funcall eshell-cmpl-command-name-function) eshell-command-completions-alist))))))) - (documentation-property 'pcomplete-default-completion-function - 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-default-completion-function) :type (get 'pcomplete-default-completion-function 'custom-type) :group 'eshell-cmpl) (defcustom eshell-cmpl-use-paring t - (documentation-property 'pcomplete-use-paring 'variable-documentation) + (eshell-cmpl--custom-variable-docstring 'pcomplete-use-paring) :type (get 'pcomplete-use-paring 'custom-type) :group 'eshell-cmpl) -- 2.39.2