From 18bad1aa33e25873b7f30b9d42adde071a63bad9 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 5 May 2026 09:50:57 -0500 Subject: refactor: clear the rest of the lint backlog and make `make lint' actually work Took the package-lint commit's foundation and finished the job. Three groups of changes: 1. **checkdoc** is now clean across all three package files. I worked through every warning: 13 missing-double-space-after-period fixes, 4 message-capitalization fixes, 1 trailing-period-on-error fix, 6 Lisp-symbol-should-be-quoted fixes, and one rephrase from "starts" to the imperative "Log the start of an async check". One `chime-debug.el' docstring also exceeded 80 columns and got split into two lines. 2. **`make lint'** ran elisp-lint but had been silently broken. The shell glob `test-*.el' wasn't expanding (CWD ended up at project root, not tests/), and the noisy validators flagged everything. I rewrote the target to lint package files explicitly via absolute paths, preload chime.el so the byte-compiler sees cross-file symbols when checking chime-debug.el, and disable the validators that conflict with project style or duplicate other lint steps: - `--no-checkdoc' (covered by `eask lint checkdoc') - `--no-package-lint' (covered by `eask lint package'; running it on auxiliary files re-flags them as standalone packages) - `--no-indent-character' (project uses spaces per `.claude/rules/elisp.md'; the validator defaults to tabs) - `--no-fill-column' (project allows up to 80; validator defaults to 70) - `--no-indent' (false-positives on dash threading macros `->'/`->>') The validators-disabled list is documented in the recipe header. 3. **Generated autoload files** (`chime-autoloads.el', `tests/tests-autoloads.el') are now gitignored. `tests/tests-autoloads.el' was tracked from an earlier commit; I removed it from the index. Eask regenerates these on every `eask compile' / `eask install-deps' run, so they don't belong in the tree. Verified: `make compile' clean (with byte-compile-error-on-warn t), `make test-all' green at 677 tests, `eask lint package' clean, `eask lint checkdoc' clean, `make lint' clean. Full lint backlog is now zero across all three checks. --- tests/Makefile | 27 ++++++++- tests/tests-autoloads.el | 148 ----------------------------------------------- 2 files changed, 24 insertions(+), 151 deletions(-) delete mode 100644 tests/tests-autoloads.el (limited to 'tests') diff --git a/tests/Makefile b/tests/Makefile index 7cd6c0b..abf91bb 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -221,13 +221,34 @@ validate: exit 1; \ fi -# Comprehensive linting with elisp-lint (via eask-installed dev dep) +# Comprehensive linting with elisp-lint (via eask-installed dev dep). +# Scope: package files only. Tests don't pass package-lint (they aren't +# standalone packages). +# Validators disabled and why: +# - checkdoc: covered by `eask lint checkdoc' as its own MELPA-prep step. +# - package-lint: covered by `eask lint package' as its own step; running it +# here re-flags the auxiliary files because they no longer carry their own +# Package-Requires. +# - indent-character: project uses spaces (per `.claude/rules/elisp.md'); +# the validator defaults to requiring tabs. +# - fill-column: project allows up to 80 columns; the validator defaults to 70. +# - indent: produces false positives on dash threading macros (`->', `->>') +# whose indentation rule the validator doesn't know. Real indent bugs +# are caught by check-parens and review. lint: check-deps @printf "$(YELLOW)Running elisp-lint...$(NC)\n" - @$(EMACS_BATCH) --eval "(require 'elisp-lint)" \ + @$(EMACS_BATCH) \ + -l $(PROJECT_ROOT)/chime.el \ + --eval "(require 'elisp-lint)" \ -f elisp-lint-files-batch \ --no-checkdoc \ - ../chime.el test-*.el testutil-*.el 2>&1; \ + --no-package-lint \ + --no-indent-character \ + --no-fill-column \ + --no-indent \ + $(PROJECT_ROOT)/chime.el \ + $(PROJECT_ROOT)/chime-debug.el \ + $(PROJECT_ROOT)/chime-org-contacts.el 2>&1; \ if [ $$? -eq 0 ]; then \ printf "$(GREEN)✓ Linting completed successfully$(NC)\n"; \ else \ diff --git a/tests/tests-autoloads.el b/tests/tests-autoloads.el deleted file mode 100644 index 88449cb..0000000 --- a/tests/tests-autoloads.el +++ /dev/null @@ -1,148 +0,0 @@ -;;; tests-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*- -;; Generated by the `loaddefs-generate' function. - -;; This file is part of GNU Emacs. - -;;; Code: - -(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path))) - - - -;;; Generated autoloads from test-chime-all-day-events.el - -(register-definition-prefixes "test-chime-all-day-events" '("test-allday--create-event")) - - -;;; Generated autoloads from test-chime-apply-blacklist.el - -(register-definition-prefixes "test-chime-apply-blacklist" '("test-chime-apply-blacklist-")) - - -;;; Generated autoloads from test-chime-apply-whitelist.el - -(register-definition-prefixes "test-chime-apply-whitelist" '("test-chime-apply-whitelist-")) - - -;;; Generated autoloads from test-chime-check-event.el - -(register-definition-prefixes "test-chime-check-event" '("test-chime-check-event-")) - - -;;; Generated autoloads from test-chime-check-interval.el - -(register-definition-prefixes "test-chime-check-interval" '("test-chime-check-interval-")) - - -;;; Generated autoloads from test-chime-extract-time.el - -(register-definition-prefixes "test-chime-extract-time" '("test-chime-extract-time-")) - - -;;; Generated autoloads from test-chime-format-event-for-tooltip.el - -(register-definition-prefixes "test-chime-format-event-for-tooltip" '("test-chime-format-event-for-tooltip-")) - - -;;; Generated autoloads from test-chime-gather-info.el - -(register-definition-prefixes "test-chime-gather-info" '("test-chime-gather-info-")) - - -;;; Generated autoloads from test-chime-group-events-by-day.el - -(register-definition-prefixes "test-chime-group-events-by-day" '("test-chime-")) - - -;;; Generated autoloads from test-chime-has-timestamp.el - -(register-definition-prefixes "test-chime-has-timestamp" '("test-chime-has-timestamp-")) - - -;;; Generated autoloads from test-chime-modeline.el - -(register-definition-prefixes "test-chime-modeline" '("test-chime-modeline-")) - - -;;; Generated autoloads from test-chime-notification-text.el - -(register-definition-prefixes "test-chime-notification-text" '("test-chime-notification-text-")) - - -;;; Generated autoloads from test-chime-notifications.el - -(register-definition-prefixes "test-chime-notifications" '("test-chime-notifications-")) - - -;;; Generated autoloads from test-chime-notify.el - -(register-definition-prefixes "test-chime-notify" '("test-chime-notify-")) - - -;;; Generated autoloads from test-chime-overdue-todos.el - -(register-definition-prefixes "test-chime-overdue-todos" '("test-")) - - -;;; Generated autoloads from test-chime-process-notifications.el - -(register-definition-prefixes "test-chime-process-notifications" '("test-chime-process-notifications-")) - - -;;; Generated autoloads from test-chime-sanitize-title.el - -(register-definition-prefixes "test-chime-sanitize-title" '("test-chime-sanitize-title-")) - - -;;; Generated autoloads from test-chime-time-left.el - -(register-definition-prefixes "test-chime-time-left" '("test-chime-time-left-")) - - -;;; Generated autoloads from test-chime-timestamp-parse.el - -(register-definition-prefixes "test-chime-timestamp-parse" '("test-chime-timestamp-parse-")) - - -;;; Generated autoloads from test-chime-timestamp-within-interval-p.el - -(register-definition-prefixes "test-chime-timestamp-within-interval-p" '("test-chime-timestamp-within-interval-p-")) - - -;;; Generated autoloads from test-chime-tooltip-bugs.el - -(register-definition-prefixes "test-chime-tooltip-bugs" '("test-tooltip-bugs-")) - - -;;; Generated autoloads from test-chime-update-modeline.el - -(register-definition-prefixes "test-chime-update-modeline" '("test-chime-update-modeline-")) - - -;;; Generated autoloads from test-chime-whitelist-blacklist-conflicts.el - -(register-definition-prefixes "test-chime-whitelist-blacklist-conflicts" '("test-chime-conflicts-")) - - -;;; Generated autoloads from testutil-general.el - -(register-definition-prefixes "testutil-general" '("chime-")) - - -;;; Generated autoloads from testutil-time.el - -(register-definition-prefixes "testutil-time" '("test-time" "with-test-time")) - -;;; End of scraped data - -(provide 'tests-autoloads) - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; no-native-compile: t -;; coding: utf-8-emacs-unix -;; End: - -;;; tests-autoloads.el ends here -- cgit v1.2.3