Function: viper-common-seq-prefix

viper-common-seq-prefix is a byte-compiled function defined in viper-macs.el.gz.

Signature

(viper-common-seq-prefix &rest SEQS)

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-macs.el.gz
;; find the longest common prefix
(defun viper-common-seq-prefix (&rest seqs)
  (let* ((first (car seqs))
	 (rest (cdr seqs))
	 (pref [])
	 (idx 0)
	 len)
    (if (= (length seqs) 0)
	(setq len 0)
      (setq len (apply #'min (mapcar #'length seqs))))
    (while (< idx len)
      (if (seq-every-p (lambda (s) (equal (elt first idx) (elt s idx)))
		       rest)
	  (setq pref (vconcat pref (vector (elt first idx)))))
      (setq idx (1+ idx)))
    pref))