Function: byte-compile-out

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

Signature

(byte-compile-out OP &optional OPERAND)

Documentation

Push the operation onto byte-compile-output.

OP is an opcode, a symbol. OPERAND is either nil or a number or a one-element list of a Lisp form.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-out (op &optional operand)
  "Push the operation onto `byte-compile-output'.
OP is an opcode, a symbol.  OPERAND is either nil or a number or
a one-element list of a Lisp form."
  (when (and (consp operand) (null (cdr operand)))
    (setq operand (byte-run-strip-symbol-positions operand)))
  (push (cons op operand) byte-compile-output)
  (if (eq op 'byte-return)
      ;; This is actually an unnecessary case, because there should be no
      ;; more ops behind byte-return.
      (setq byte-compile-depth nil)
    (setq byte-compile-depth
	  (+ byte-compile-depth (byte-compile-stack-adjustment op operand)))
    (setq byte-compile-maxdepth (max byte-compile-depth byte-compile-maxdepth))
    ;;(if (< byte-compile-depth 0) (error "Compiler error: stack underflow"))
    ))