From c62a19610996165c2d628154561f25e89ff05524 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 28 Dec 2013 00:33:44 -0800 Subject: [PATCH] * admin/admin.el (cusver-scan): Warn about missing :types. (cusver-check): Interactively, require existing directories. * admin/cus-test.el: Comment. --- admin/ChangeLog | 5 +++++ admin/admin.el | 10 ++++++++-- admin/cus-test.el | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/admin/ChangeLog b/admin/ChangeLog index 8c20535e8d2..16365c9761b 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,8 @@ +2013-12-28 Glenn Morris + + * admin.el (cusver-scan): Warn about missing :types. + (cusver-check): Interactively, require existing directories. + 2013-12-27 Xue Fuqiao * admin.el (manual-misc-manuals, make-manuals): diff --git a/admin/admin.el b/admin/admin.el index 5989fb27144..13d1126a8d1 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -540,6 +540,12 @@ If optional argument OLD is non-nil, also scan for `defvar's." ;; Exclude macros, eg (defcustom ,varname ...). (symbolp var)) (progn + ;; FIXME It should be cus-test-apropos that does this. + (and (not old) + (equal "custom" (match-string 2)) + (not (memq :type form)) + (display-warning 'custom + (format "Missing type in: `%s'" form))) (setq ver (car (cdr-safe (memq :version form)))) (if (equal "group" (match-string 2)) ;; Group :version could be old. @@ -601,8 +607,8 @@ a :version bump. Note that a :version tag should also be added if the value of a defcustom changes (in a non-trivial way). This function does not check for that." - (interactive (list (read-directory-name "New Lisp directory: ") - (read-directory-name "Old Lisp directory: ") + (interactive (list (read-directory-name "New Lisp directory: " nil nil t) + (read-directory-name "Old Lisp directory: " nil nil t) (number-to-string (read-number "New version number: " (string-to-number cusver-new-version))))) diff --git a/admin/cus-test.el b/admin/cus-test.el index 54d26cc11d6..818bbe1bc38 100644 --- a/admin/cus-test.el +++ b/admin/cus-test.el @@ -187,6 +187,9 @@ The detected problematic options are stored in `cus-test-errors'." (message "Cus Test running...%s %s" (length cus-test-tested-variables) symbol) (condition-case alpha + ;; FIXME This defaults to 'sexp if no type was specified. + ;; Always report such instances as a type mismatch. + ;; Currently abusing cusver-scan to do that. (let* ((type (custom-variable-type symbol)) (conv (widget-convert type)) (get (or (get symbol 'custom-get) 'default-value)) -- 2.39.2