2

I am using emacs with ediff to compare two files. and my ediff view does not show inline differences. e.g., if lines from both files only have one word difference, ediff cannot highlight the word but rather the whole line, I'v enclosed the screenshot below to show that.

enter image description here

I have auto-refining on, I tried press * to force refining, but non worked. If I press = to compare the region, then, the word difference is show as below, but then how can I go back to the full file comparing view? it says = toggles region, but when I press = again, it does not bring me back to the full file view but rather asking me select region for file A and B for comparison again...

enter image description here

1
  • magit supports this. I'm guessing its diffing capability is useable without git, but I don't have specifics. Jan 6, 2022 at 18:54

1 Answer 1

1

Do you see the same problem (no highlighting of the diff within the line) if you start Emacs using emacs -Q (no init file)? I don't see that problem. I see the full lines highlighted in one face and the different word highlighted in another face (without needing to use *).

As for =: I've never used it before, and I found trying to use it problematic. I've even filed Emacs bug #42687 about some of that now.

I tried it, and found that it did cause (only) the word difference to be highlighted. It apparently creates a "child" Ediff session, with a separate Control window. When I quit that Control window (with q), and I use C-l in the first Control window, I get back the original highlighting.

But I ran into a bunch of problems if the two buffers I was comparing were in different frames - duplication of windows, errors about windows being too small to split, etc.

Anyway, I don't think you want or need = here. Just regular ediff-buffers should highlight as you expected in the first place. And that's what I see here. HTH.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .