Function: ccl-compile-map-multiple

ccl-compile-map-multiple is a byte-compiled function defined in ccl.el.gz.

Signature

(ccl-compile-map-multiple CMD)

Source Code

;; Defined in /usr/src/emacs/lisp/international/ccl.el.gz
(defun ccl-compile-map-multiple (cmd)
  (if (/= (length cmd) 4)
      (error "CCL: Invalid number of arguments: %s" cmd))
  (let (func arg)
    (setq func
	  (lambda (arg mp)
	    (let ((len 0) result add)
	      (while arg
		(if (consp (car arg))
		    (setq add (funcall func (car arg) t)
			  result (append result add)
			  add (+ (- (car add)) 1))
		  (setq result
			(append result
				(list (car arg)))
			add 1))
		(setq arg (cdr arg)
		      len (+ len add)))
	      (if mp
		  (cons (- len) result)
		result))))
    (setq arg (append (list (nth 0 cmd) (nth 1 cmd) (nth 2 cmd))
		      (funcall func (nth 3 cmd) nil)))
    (ccl-compile-multiple-map-function 'map-multiple arg))
  nil)