Function: byte-compile-nogroup-warn

byte-compile-nogroup-warn is a byte-compiled function defined in bytecomp.el.gz.

Signature

(byte-compile-nogroup-warn FORM)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
;; Warn if a custom definition fails to specify :group, or :type.
(defun byte-compile-nogroup-warn (form)
  (let ((keyword-args (cdr (cdr (cdr (cdr form)))))
	(name (cadr form)))
    (when (eq (car-safe name) 'quote)
      (or (not (eq (car form) 'custom-declare-variable))
	  (plist-get keyword-args :type)
	  (byte-compile-warn
	   "defcustom for `%s' fails to specify type" (cadr name)))
      (if (and (memq (car form) '(custom-declare-face custom-declare-variable))
	       byte-compile-current-group)
	  ;; The group will be provided implicitly.
	  nil
	(or (and (eq (car form) 'custom-declare-group)
		 (equal name ''emacs))
	    (plist-get keyword-args :group)
	    (byte-compile-warn
	     "%s for `%s' fails to specify containing group"
	     (cdr (assq (car form)
			'((custom-declare-group . defgroup)
			  (custom-declare-face . defface)
			  (custom-declare-variable . defcustom))))
	     (cadr name)))
	;; Update the current group, if needed.
	(if (and byte-compile-current-file ;Only when compiling a whole file.
		 (eq (car form) 'custom-declare-group))
	    (setq byte-compile-current-group (cadr name)))))))