;; Never expand them!
static-if eval-when-compile eval-and-compile))
(scope-n local forms))
+ ((memq bare '(with-suppressed-warnings))
+ (dolist (warning (car forms))
+ (when-let* ((wsym (car-safe warning))
+ (beg (scope-sym-pos wsym))
+ (bare (scope-sym-bare wsym)))
+ (funcall scope-callback 'warning-type beg
+ (length (symbol-name bare)) nil)))
+ (scope-n local (cdr forms)))
((memq bare '(with-slots))
(scope-with-slots local (car forms) (cadr forms) (cddr forms)))
((memq bare '(ert-deftest))
(macro "Macro call")
(special-form "Special form")
(throw-tag "`throw'/`catch' tag")
+ (warning-type "Warning type")
(feature "Feature")
(rx-construct "`rx' construct")
(theme "Theme")
(macro 'elisp-macro-call)
(special-form 'elisp-special-form)
(throw-tag 'elisp-throw-tag)
+ (warning-type 'font-lock-type-face)
(feature 'elisp-feature)
(rx-construct 'elisp-rx)
(theme 'elisp-theme)
((major-mode) (lambda (sym) (get sym 'major-mode-name)))
((type) (lambda (sym) (get sym 'cl--class)))
((widget-type) (lambda (sym) (get sym 'widget-type)))
+ ((warning-type)
+ (lambda (sym) (memq sym byte-compile-warning-types)))
((group) (lambda (sym) (get sym 'group-documentation)))
((face) #'facep)
((nil) (lambda (sym)