--- Begin Message ---
Subject: |
ediff-set-fine-diff-properties-in-one-buffer uses dolist on a vector? |
Date: |
Sun, 13 Apr 2014 09:54:13 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Package: emacs
In edce85e3 [1], ediff-set-fine-diff-properties-in-one-buffer
was edited to use dolist (was: mapcar) to iterate over the
fine-diff-vector local variable, resulting now in errors like:
Debugger entered--Lisp error: (wrong-type-argument listp [#<overlay from 1210
to 1210 in *XXX*> #<overlay from 1220 to 1269 in *YYY*>])
ediff-set-fine-diff-properties-in-one-buffer(A 0 nil)
ediff-set-fine-diff-properties(0)
ediff-make-fine-diffs(0 noforce)
ediff-install-fine-diff-if-necessary(0)
ediff-next-difference(1)
call-interactively(ediff-next-difference nil nil)
command-execute(ediff-next-difference)
Replacing dolist with an equivalent mapc invocation has fixed
the issue for me.
If, OTOH, dolist is actually /supposed/ to work on non-list
sequences, I’d like to suggest updating its documentation, which
currently reads:
(defmacro dolist (spec &rest body)
"Loop over a list.
Evaluate BODY with VAR bound to each car from LIST, in turn.
Then evaluate RESULT to get return value, default nil.
\(fn (VAR LIST [RESULT]) BODY...)"
…)
[1]
http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/vc/ediff-diff.el?h=emacs-24&id=edce85e3a164a57da09c564c4f2a8edc8f009df1
--
FSF associate member #7257
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#17257: 24.3.90; ediff causes "Wrong type argument: listp, [#<overlay ...> ...]" error |
Date: |
Mon, 14 Apr 2014 11:24:19 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
Version: 24.4
>>>>> On Sun, 13 Apr 2014 22:05:50 -0400, Stefan Monnier <address@hidden> said:
>> The value of `fine-diff-vector' was a vector of overlays, so dolist
>> couldn't be applied to it.
> Duh! Sorry! I shouldn't have replaced mapcar with dolist but with
> mapc. Feel free to beat me to it,
Done. Closing.
YAMAMOTO Mitsuharu
address@hidden
--- End Message ---