From b86c8f0c9fa9335c15be1360b1b1824594e37b03 Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Fri, 31 Jan 2020 17:25:17 +0100 Subject: [PATCH] update package-lint --- .../data/stdlib-changes | 0 .../package-lint-autoloads.el | 14 +- .../package-lint-pkg.el | 2 +- .../package-lint.el | 144 +++++++++--------- elpa/package-lint-readme.txt | 7 + 5 files changed, 91 insertions(+), 76 deletions(-) rename elpa/{package-lint-20191027.20 => package-lint-20191220.419}/data/stdlib-changes (100%) rename elpa/{package-lint-20191027.20 => package-lint-20191220.419}/package-lint-autoloads.el (75%) rename elpa/{package-lint-20191027.20 => package-lint-20191220.419}/package-lint-pkg.el (79%) rename elpa/{package-lint-20191027.20 => package-lint-20191220.419}/package-lint.el (91%) create mode 100644 elpa/package-lint-readme.txt diff --git a/elpa/package-lint-20191027.20/data/stdlib-changes b/elpa/package-lint-20191220.419/data/stdlib-changes similarity index 100% rename from elpa/package-lint-20191027.20/data/stdlib-changes rename to elpa/package-lint-20191220.419/data/stdlib-changes diff --git a/elpa/package-lint-20191027.20/package-lint-autoloads.el b/elpa/package-lint-20191220.419/package-lint-autoloads.el similarity index 75% rename from elpa/package-lint-20191027.20/package-lint-autoloads.el rename to elpa/package-lint-20191220.419/package-lint-autoloads.el index dc88ad07..13cbf7ec 100644 --- a/elpa/package-lint-20191027.20/package-lint-autoloads.el +++ b/elpa/package-lint-20191220.419/package-lint-autoloads.el @@ -1,10 +1,12 @@ ;;; package-lint-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) + +(add-to-list 'load-path (directory-file-name + (or (file-name-directory #$) (car load-path)))) + -;;;### (autoloads nil "package-lint" "package-lint.el" (23994 46389 -;;;;;; 955377 139000)) +;;;### (autoloads nil "package-lint" "package-lint.el" (0 0 0 0)) ;;; Generated autoloads from package-lint.el (autoload 'package-lint-buffer "package-lint" "\ @@ -39,10 +41,11 @@ Return non-nil if the current buffer appears to be intended as a package. \(fn)" nil nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "package-lint" '("package-lint-"))) + ;;;*** -;;;### (autoloads nil nil ("package-lint-pkg.el") (23994 46389 959182 -;;;;;; 422000)) +;;;### (autoloads nil nil ("package-lint-pkg.el") (0 0 0 0)) ;;;*** @@ -50,5 +53,6 @@ Return non-nil if the current buffer appears to be intended as a package. ;; version-control: never ;; no-byte-compile: t ;; no-update-autoloads: t +;; coding: utf-8 ;; End: ;;; package-lint-autoloads.el ends here diff --git a/elpa/package-lint-20191027.20/package-lint-pkg.el b/elpa/package-lint-20191220.419/package-lint-pkg.el similarity index 79% rename from elpa/package-lint-20191027.20/package-lint-pkg.el rename to elpa/package-lint-20191220.419/package-lint-pkg.el index 97f27b39..53a7d295 100644 --- a/elpa/package-lint-20191027.20/package-lint-pkg.el +++ b/elpa/package-lint-20191220.419/package-lint-pkg.el @@ -1,4 +1,4 @@ -(define-package "package-lint" "20191027.20" "A linting library for elisp package authors" +(define-package "package-lint" "20191220.419" "A linting library for elisp package authors" '((cl-lib "0.5") (emacs "24.1") (let-alist "1.0.6")) diff --git a/elpa/package-lint-20191027.20/package-lint.el b/elpa/package-lint-20191220.419/package-lint.el similarity index 91% rename from elpa/package-lint-20191027.20/package-lint.el rename to elpa/package-lint-20191220.419/package-lint.el index cb6a33d3..ef2c3d9e 100644 --- a/elpa/package-lint-20191027.20/package-lint.el +++ b/elpa/package-lint-20191220.419/package-lint.el @@ -147,40 +147,42 @@ published in ELPA for use by older Emacsen.") (package-lint--check-url-header) (package-lint--check-package-version-present) (package-lint--check-lexical-binding-is-on-first-line) - (package-lint--check-objects-by-regexp - "(define-minor-mode\\s-" - #'package-lint--check-minor-mode) - (package-lint--check-objects-by-regexp - "(define-global\\(?:ized\\)?-minor-mode\\s-" - #'package-lint--check-globalized-minor-mode) - (package-lint--check-objects-by-regexp - (concat "(" (regexp-opt '("defalias" "defvaralias")) "\\s-") - #'package-lint--check-defalias) - (package-lint--check-objects-by-regexp - "(defgroup\\s-" #'package-lint--check-defgroup) - (let ((desc (package-lint--check-package-el-can-parse))) - (when desc - (package-lint--check-package-summary desc) - (package-lint--check-provide-form desc) - (package-lint--check-no-emacs-in-package-name desc))) - (package-lint--check-no-use-of-cl) - (package-lint--check-no-use-of-cl-lib-sublibraries) - (package-lint--check-eval-after-load) - (let ((deps (package-lint--check-dependency-list))) - (package-lint--check-lexical-binding-requires-emacs-24 deps) - (package-lint--check-libraries-available-in-emacs deps) - (package-lint--check-libraries-removed-from-emacs) - (package-lint--check-macros-functions-available-in-emacs deps) - (package-lint--check-macros-functions-removed-from-emacs) + (let ((prefix (package-lint--get-package-prefix))) (package-lint--check-objects-by-regexp - (concat "(" (regexp-opt '("format" "message" "error")) "\\s-") - (lambda (def) (package-lint--check-format-string deps def)))) - (package-lint--check-for-literal-emacs-path) - (package-lint--check-commentary-existence) - (let ((definitions (package-lint--get-defs))) - (package-lint--check-autoloads-on-private-functions definitions) - (package-lint--check-defs-prefix definitions) - (package-lint--check-symbol-separators definitions)) + "(define-minor-mode\\s-" + #'package-lint--check-minor-mode) + (package-lint--check-objects-by-regexp + "(define-global\\(?:ized\\)?-minor-mode\\s-" + #'package-lint--check-globalized-minor-mode) + (when prefix + (package-lint--check-objects-by-regexp + (concat "(" (regexp-opt '("defalias" "defvaralias")) "\\s-") + (apply-partially #'package-lint--check-defalias prefix))) + (package-lint--check-objects-by-regexp + "(defgroup\\s-" #'package-lint--check-defgroup) + (let ((desc (package-lint--check-package-el-can-parse))) + (when desc + (package-lint--check-package-summary desc) + (package-lint--check-provide-form desc) + (package-lint--check-no-emacs-in-package-name desc))) + (package-lint--check-no-use-of-cl) + (package-lint--check-no-use-of-cl-lib-sublibraries) + (package-lint--check-eval-after-load) + (let ((deps (package-lint--check-dependency-list))) + (package-lint--check-lexical-binding-requires-emacs-24 deps) + (package-lint--check-libraries-available-in-emacs deps) + (package-lint--check-libraries-removed-from-emacs) + (package-lint--check-macros-functions-available-in-emacs deps) + (package-lint--check-macros-functions-removed-from-emacs) + (package-lint--check-objects-by-regexp + (concat "(" (regexp-opt '("format" "message" "error")) "\\s-") + (apply-partially #'package-lint--check-format-string deps))) + (package-lint--check-for-literal-emacs-path) + (package-lint--check-commentary-existence) + (let ((definitions (package-lint--get-defs))) + (package-lint--check-autoloads-on-private-functions definitions) + (package-lint--check-defs-prefix prefix definitions) + (package-lint--check-symbol-separators definitions))) (package-lint--check-lonely-parens)))) (sort package-lint--errors (lambda (a b) @@ -679,6 +681,10 @@ DESC is a struct as returned by `package-buffer-info'." (package-lint--error-at-bob 'warning "The package summary is too long. It should be at most 60 characters.")) + (when (string-match "\\.\\'" summary) + (package-lint--error-at-bob + 'warning + "The package summary should not end with a period.")) (when (save-match-data (let ((case-fold-search t)) (and (string-match "[^.]\\" summary) @@ -735,7 +741,7 @@ Valid definition names are: - a NAME whose POSITION in the buffer denotes a global definition." (or (string-prefix-p prefix name) (string-match-p package-lint--sane-prefixes name) - (string-match-p (rx-to-string `(seq string-start (or "define" "defun" "defvar") "-" ,prefix)) name) + (string-match-p (rx-to-string `(seq string-start (or "define" "defun" "defvar" "with") "-" ,prefix)) name) (string-match-p (rx-to-string `(seq string-start "global-" ,prefix (or "-mode" (seq "-" (* any) "-mode")) string-end)) name) (when position (goto-char position) @@ -743,17 +749,15 @@ Valid definition names are: (or "defadvice" "cl-defmethod") symbol-end))))) -(defun package-lint--check-defs-prefix (definitions) - "Verify that symbol DEFINITIONS start with package prefix." - (let ((prefix (package-lint--get-package-prefix))) - (when prefix - (pcase-dolist (`(,name . ,position) definitions) - (unless (package-lint--valid-definition-name-p name prefix position) - (package-lint--error-at-point - 'error - (format "\"%s\" doesn't start with package's prefix \"%s\"." - name prefix) - position)))))) +(defun package-lint--check-defs-prefix (prefix definitions) + "Verify that symbol DEFINITIONS start with package PREFIX." + (pcase-dolist (`(,name . ,position) definitions) + (unless (package-lint--valid-definition-name-p name prefix position) + (package-lint--error-at-point + 'error + (format "\"%s\" doesn't start with package's prefix \"%s\"." + name prefix) + position)))) (defun package-lint--check-minor-mode (def) "Offer up concerns about the minor mode definition DEF." @@ -792,34 +796,34 @@ Valid definition names are: 'error "Customization groups should specify a parent via `:group'."))) -(defun package-lint--check-defalias (def) - "Offer up concerns about the customization group definition DEF." - (let ((prefix (package-lint--get-package-prefix))) - (when prefix - (pcase (cadr def) - ((and `(quote ,alias) (guard (symbolp alias))) - (unless (package-lint--valid-definition-name-p (symbol-name alias) prefix) - (package-lint--error-at-point - 'error - (concat "Aliases should start with the package's prefix \"" prefix "\".")))))))) +(defun package-lint--check-defalias (prefix def) + "Offer up concerns about the customization group definition DEF. +PREFIX is the package prefix." + (pcase (cadr def) + ((and `(quote ,alias) (guard (symbolp alias))) + (unless (package-lint--valid-definition-name-p (symbol-name alias) prefix) + (package-lint--error-at-point + 'error + (concat "Aliases should start with the package's prefix \"" prefix "\".")))))) (defun package-lint--check-format-string (valid-deps def) "Offer up concerns about the format string used in DEF, depending on VALID-DEPS." - (let ((fmt-str (cadr def)) - (emacs-version-dep (or (cadr (assq 'emacs valid-deps)) '(0)))) - (when (and (version-list-< emacs-version-dep '(26 1)) - ;; We give up on trying to warn about format strings that are - ;; evaluated at runtime. - (stringp fmt-str) - ;; The usual regexp strategy for finding unescaped matches - ;; requires negative lookbehind: - ;; (?