all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#7427: Bug in ediff's treatment of whitespace
@ 2010-11-17 20:32 Tom Breton (Tehom)
  0 siblings, 0 replies; only message in thread
From: Tom Breton (Tehom) @ 2010-11-17 20:32 UTC (permalink / raw
  To: 7427

**** Explanation of the bug:

Wordwise merging in ediff doesn't handle whitespace reasonably when
merging to a blank element.  It just plops the non-blank element at the
end of whatever whitespace it ends up with, even across line breaks.

**** How it should work (IMO)

IMO it would be more correct to infer the division of whitespace from the
whitespace around the non-blank element.

**** Instructions for reproducing it

***** General orientation
Use the attached files:

    * odd-whitespace-2-file1.{abc}.txt

    * odd-whitespace-file1.{abc}.txt

I found it useful to give each set of {a,b,c} its own directory and keep
the filenames the same across directories.  I can't attach them to this
email with directory names, though.

I found this code useful in seeing this bug, so I'm including it here.  It
just starts an merge-with-ancestor with the respective files - saves time.
 It expects filenames of the form file1.{a,b,c}.txt in different
directories.

  (defun bug-ediff-merge-files-with-ancestor (dir)
     ""

     (interactive "DDirectory: ")
     (ediff-merge-files-with-ancestor
        (expand-file-name "file1.a.txt" dir)
        (expand-file-name "file1.b.txt" dir)
        (expand-file-name "file1.c.txt" dir)))

***** Explicit instructions

 * Merge file1.a.txt with file1.b.txt using ancestor file1.c.txt

 * "n" to go to first clash
 * "b" to partly merge - just so it's merging nicely and not seeing
   "<<<<<<" ">>>>>>" "#####Ancestor" etc
 * "=" to start an inferior merge
 * "a" to compare to buffer A
 * (Now in the inferior ediff)
 * "n" to go to a line that still needs to be merged to the ancestor.
   In the demo they're all of the form "Line N A".
 * "a" to try to use the version from A.
 * It doesn't merge right.  It moves "A" to another place.

Both odd-whitespace-* and odd-whitespace-2-* exhibit similar unexpected
behavior.

	Tom Breton (Tehom)







^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-11-17 20:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-17 20:32 bug#7427: Bug in ediff's treatment of whitespace Tom Breton (Tehom)

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.