]> git.eshelyaron.com Git - emacs.git/commitdiff
bytecomp.el: Warn for `,' not within backquote construct
authorRichard M Stallman <rms@gnu.org>
Sat, 3 Feb 2024 22:47:02 +0000 (17:47 -0500)
committerEshel Yaron <me@eshelyaron.com>
Sun, 4 Feb 2024 11:05:38 +0000 (12:05 +0100)
(bytecomp--report-comma): New function with `compiler-macro' property.

(cherry picked from commit b0049c942b8fa4093a02a9bb4ffc9c5da2261765)

lisp/emacs-lisp/bytecomp.el

index 6e66771658effeaaeb51a98f460355acc52a753d..5d2aa3355be7feac2881c18933839ea0d486576c 100644 (file)
@@ -5742,6 +5742,16 @@ and corresponding effects."
            (eval form)
          form)))
 
+;; Report comma operator used outside of backquote.
+;; Inside backquote, backquote will transform it before it gets here.
+
+(put '\,  'compiler-macro #'bytecomp--report-comma)
+(defun bytecomp--report-comma (form &rest _ignore)
+  (macroexp-warn-and-return
+   (format-message "`%s' called -- perhaps used not within backquote"
+                   (car form))
+   form (list 'suspicious (car form)) t))
+
 ;; Check for (in)comparable constant values in calls to `eq', `memq' etc.
 
 (defun bytecomp--dodgy-eq-arg-p (x number-ok)