From f08f362d65da3aec22d0d7d505bddffd42509dbf Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Fri, 21 Feb 2025 17:40:12 +0100 Subject: [PATCH] New user option checkdoc-allow-quoting-nil-and-t * lisp/emacs-lisp/checkdoc.el (checkdoc-allow-quoting-nil-and-t): New user option that allows turning off the warning for having nil and t in quotes. (checkdoc-this-string-valid-engine): Use above new option. (cherry picked from commit 8d4feb214b7eb802fec34269de11d30b9382cd83) --- lisp/emacs-lisp/checkdoc.el | 39 +++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index 9ec4c51a3fa..0180aee55bf 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -315,6 +315,14 @@ variable `checkdoc-common-verbs-wrong-voice' if you wish to add your own." Do not set this by hand, use a function like `checkdoc-current-buffer' with a universal argument.") +(defcustom checkdoc-allow-quoting-nil-and-t nil + "If non-nil, don't warn when the symbols nil and t are quoted. + +In other words, it allows writing them like this: \\=`nil\\=', \\=`t\\='." + :type 'boolean + :version "31.1") +;;;###autoload(put 'checkdoc-allow-quoting-nil-and-t 'safe-local-variable #'booleanp) + (defcustom checkdoc-symbol-words '("beginning-of-buffer" "beginning-of-line" "byte-code" "byte-compile" "command-line" "end-of-buffer" "end-of-line" @@ -1953,21 +1961,22 @@ Replace with \"%s\"?" original replace) ,(format "`%s'" ms)))))) nil))) ;; t and nil case - (save-excursion - (if (re-search-forward "\\([`‘]\\(t\\|nil\\)['’]\\)" e t) - (if (checkdoc-autofix-ask-replace - (match-beginning 1) (match-end 1) - (format "%s should not appear in quotes. Remove?" - (match-string 2)) - (match-string 2) t) - nil - (checkdoc-create-error - "Symbols t and nil should not appear in single quotes" - (match-beginning 1) (match-end 1) - `("Remove quotes" - ((,(current-buffer) - (,(match-beginning 1) ,(match-end 1) - ,(match-string 2))))))))) + (unless checkdoc-allow-quoting-nil-and-t + (save-excursion + (if (re-search-forward "\\([`‘]\\(t\\|nil\\)['’]\\)" e t) + (if (checkdoc-autofix-ask-replace + (match-beginning 1) (match-end 1) + (format "%s should not appear in quotes. Remove?" + (match-string 2)) + (match-string 2) t) + nil + (checkdoc-create-error + "Symbols t and nil should not appear in single quotes" + (match-beginning 1) (match-end 1) + `("Remove quotes" + ((,(current-buffer) + (,(match-beginning 1) ,(match-end 1) + ,(match-string 2)))))))))) ;; Here is some basic sentence formatting (checkdoc-sentencespace-region-engine (point) e) ;; Here are common proper nouns that should always appear capitalized. -- 2.39.5