From: Glenn Morris Date: Sat, 28 Dec 2013 08:33:44 +0000 (-0800) Subject: * admin/admin.el (cusver-scan): Warn about missing :types. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~145 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c62a19610996165c2d628154561f25e89ff05524;p=emacs.git * admin/admin.el (cusver-scan): Warn about missing :types. (cusver-check): Interactively, require existing directories. * admin/cus-test.el: Comment. --- 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))