help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Calling Ediff which ignores whitespaces from VC Dir


From: Stefan Monnier
Subject: Re: Calling Ediff which ignores whitespaces from VC Dir
Date: Thu, 01 Aug 2013 11:37:21 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

> Debugger entered--Lisp error: (wrong-number-of-arguments (1 . 2) 0)

0 is the number of args you have provided.  (1 . 2) is the min and max
number of args expected by the function.

> With no certainty, I've tried to copy the parameters of `vc-ediff':

> --8<---------------cut here---------------start------------->8---
>     (defun vc-ediff-ignore-whitespace (historic &optional not-urgent)
>       "Ignore regions that differ in white space & line breaks only."
>       (interactive (list current-prefix-arg t))
>       (let ((ediff-ignore-similar-regions t))
>         (vc-ediff historic not-urgent)))

You could also use (call-interactively 'vc-ediff) instead.

>     call-interactively: Symbol's value as variable is void:
>     ediff-ignore-similar-regions

That's because ediff was (auto)loaded while ediff-ignore-similar-regions
was let-bound.  So at the end of the let, ediff-ignore-similar-regions
was reset to its previous value (i.e. unbound).

That's a long standing problem.  To work around such issues, you want to
explicitly load ediff before doing the let.


        Stefan




reply via email to

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