[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#17259: ediff-set-fine-diff-properties-in-one-buffer uses dolist on a

From: Ivan Shmakov
Subject: bug#17259: 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-make-fine-diffs(0 noforce)
  call-interactively(ediff-next-difference nil nil)

        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...)"


FSF associate member #7257

reply via email to

[Prev in Thread] Current Thread [Next in Thread]