]> git.eshelyaron.com Git - emacs.git/commitdiff
New user option checkdoc-allow-quoting-nil-and-t
authorStefan Kangas <stefankangas@gmail.com>
Fri, 21 Feb 2025 16:40:12 +0000 (17:40 +0100)
committerEshel Yaron <me@eshelyaron.com>
Sun, 23 Feb 2025 08:09:15 +0000 (09:09 +0100)
* 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

index 9ec4c51a3fac3618373a6a2be6300303f6b712a9..0180aee55bf10338f197caf1f6cbdde6cc55a346 100644 (file)
@@ -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.