Function: byte-compile-setq

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

Signature

(byte-compile-setq FORM)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-setq (form)
  (let* ((args (cdr form))
         (len (length args)))
    (if (= (logand len 1) 1)
        (progn
          (byte-compile-report-error
           (format-message
            "missing value for `%S' at end of setq" (car (last args))))
          (byte-compile-form
           `(signal 'wrong-number-of-arguments '(setq ,len))
           byte-compile--for-effect))
      (if args
          (while args
            (byte-compile-form (car (cdr args)))
            (or byte-compile--for-effect (cdr (cdr args))
                (byte-compile-out 'byte-dup 0))
            (byte-compile-variable-set (car args))
            (setq args (cdr (cdr args))))
        ;; (setq), with no arguments.
        (byte-compile-form nil byte-compile--for-effect)))
    (setq byte-compile--for-effect nil)))