Function: calcFunc-rsubvec

calcFunc-rsubvec is an autoloaded and byte-compiled function defined in calc-vec.el.gz.

Signature

(calcFunc-rsubvec VEC START &optional END)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-vec.el.gz
;;; Remove a subvector from a vector.
(defun calcFunc-rsubvec (vec start &optional end)
  (setq start (math-check-fixnum start t)
	end (math-check-fixnum (or end 0) t))
  (or (math-vectorp vec) (math-reject-arg vec 'vectorp))
  (let ((len (1- (length vec))))
    (if (<= start 0)
	(setq start (+ len start 1)))
    (if (<= end 0)
	(setq end (+ len end 1)))
    (if (or (> start len)
	    (<= end start))
	vec
      (let ((tail (nthcdr end vec))
	    (chop (nthcdr (1- start) (setq vec (copy-sequence vec)))))
	(setcdr chop nil)
	(append vec tail)))))