Function: ccl-compile-self-set

ccl-compile-self-set is a byte-compiled function defined in ccl.el.gz.

Signature

(ccl-compile-self-set CMD)

Documentation

Compile SET statement with ASSIGNMENT_OPERATOR.

Source Code

;; Defined in /usr/src/emacs/lisp/international/ccl.el.gz
(defun ccl-compile-self-set (cmd)
  "Compile SET statement with ASSIGNMENT_OPERATOR."
  (let ((rrr (ccl-check-register (car cmd) cmd))
	(right (nth 2 cmd)))
    (if (listp right)
	;; CMD has the form `(RRR ASSIGN_OP (XXX OP YYY))', compile
	;; the right hand part as `(r7 = (XXX OP YYY))' (note: the
	;; register 7 can be used for storing temporary value).
	(progn
	  (ccl-compile-expression 'r7 right)
	  (setq right 'r7)))
    ;; Now CMD has the form `(RRR ASSIGN_OP ARG)'.  Compile it as
    ;; `(RRR = (RRR OP ARG))'.
    (ccl-compile-expression
     rrr
     (list rrr (intern (substring (symbol-name (nth 1 cmd)) 0 -1)) right)))
  nil)