Subject: 24.3.90; ediff causes "Wrong type argument: listp, [#<overlay ...> ...]" error
From: YAMAMOTO Mitsuharu <[email-masked]>
To: [email-masked]
Date: Sun, 13 Apr 2014 18:11:38 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Steps to reproduce:

  1. $ emacs -Q &
  2. M-x ediff RET SOME-FILE RET ANOTHER-FILE RET
     (The contents of SOME-FILE and ANOTHER-FILE should be different.)
  3. Type `n' several times.

Result:

  ediff-set-fine-diff-properties: Wrong type argument: listp, [#<overlay ...> ...]

The error occured at line 825 in lisp/vc/ediff-diff.el:

   817	(defun ediff-set-fine-diff-properties-in-one-buffer (buf-type
   818							     n &optional default)
   819	  (let ((fine-diff-vector  (ediff-get-fine-diff-vector n buf-type))
   820		(face (if default
   821			  'default
   822			(ediff-get-symbol-from-alist
   823			 buf-type ediff-fine-diff-face-alist)
   824			)))
   825	    (dolist (overl fine-diff-vector)
   826	      (ediff-set-overlay-face overl face))))

The value of `fine-diff-vector' was a vector of overlays, so dolist
couldn't be applied to it.

				     YAMAMOTO Mitsuharu
				[email-masked]

In GNU Emacs 24.3.90.1 (x86_64-apple-darwin10.8.0, GTK+ Version 3.12.0)
 of 2014-04-13 on yamamoto-mitsuharu-no-iMac.local
Repository revision: 116957 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
Configured using:
 `configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib'